commit ec741f0ffa54b6b718250c2eee92eb5a60f0a2b8 Author: Zhongwei Li Date: Sun Nov 30 08:36:44 2025 +0800 Initial commit diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..1dd1580 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,12 @@ +{ + "name": "c3-skill", + "description": "C3 (Context-Container-Component) architecture design methodology with structured top-down documentation, mermaid diagrams, and intention-based workflows", + "version": "1.0.0", + "author": { + "name": "Lagz0ne", + "email": "lagz0ne@users.noreply.github.com" + }, + "commands": [ + "./commands" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..103d9e3 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# c3-skill + +C3 (Context-Container-Component) architecture design methodology with structured top-down documentation, mermaid diagrams, and intention-based workflows diff --git a/commands/c3-audit.md b/commands/c3-audit.md new file mode 100644 index 0000000..1faf888 --- /dev/null +++ b/commands/c3-audit.md @@ -0,0 +1,65 @@ +--- +description: Audit C3 documentation against codebase reality +--- + +Verify `.c3/` documentation matches actual implementation. + +## Flow + +1. **Read current state** + - `.c3/TOC.md` and all docs + - `.c3/settings.yaml` + +2. **Explore codebase** (Task Explore, very thorough) + - Discover containers (package.json, go.mod, Dockerfile, etc.) + - Discover components within each container + +3. **Audit categories** + + | Category | Check | + |----------|-------| + | Config compliance | Docs follow settings.yaml | + | Vision vs fact | Documented = actual code | + | ADR status | Proposed/accepted/stale/abandoned | + | Skill compliance | Frontmatter, anchors, sections | + +4. **Generate findings report** + + ``` + ## Findings + + ### Vision vs Fact + - ❌ c3-3-worker documented but not found + - ⚠️ /services/notification undocumented + - ✅ c3-1-backend matches /api + + ### ADR Status + - ⚠️ ADR-001 proposed 30+ days + - ✅ ADR-002 implemented + + ### Summary: 1 critical, 2 warnings, 2 passing + ``` + +5. **Handoff** + + Check `settings.yaml` `audit:` section for preference. + + If not set, ask: + ``` + How to handle findings? + 1. Manual - review report yourself + 2. Tasks - create vibe-kanban tasks + 3. Agents - dispatch subagents to fix + + Save preference to settings.yaml? + ``` + + Execute chosen handoff: + - **Manual:** done + - **Tasks:** use vibe-kanban MCP to create tasks + - **Agents:** use Task tool to dispatch fixes in parallel + +## References + +- [derivation-guardrails.md](../references/derivation-guardrails.md) - Core principles +- [v3-structure.md](../references/v3-structure.md) - Expected structure diff --git a/commands/c3-config.md b/commands/c3-config.md new file mode 100644 index 0000000..8c3c00b --- /dev/null +++ b/commands/c3-config.md @@ -0,0 +1,12 @@ +--- +description: Configure project settings in .c3/settings.yaml +--- + +Create or update `.c3/settings.yaml` with project-specific preferences. + +Use the `c3-config` skill to configure: +- Diagram tool preferences (mermaid, PlantUML, etc.) +- Layer-specific documentation guidance (context, container, component) +- Team guardrails and constraints +- Post-ADR handoff steps +- Audit findings handling diff --git a/commands/c3-init.md b/commands/c3-init.md new file mode 100644 index 0000000..3503725 --- /dev/null +++ b/commands/c3-init.md @@ -0,0 +1,10 @@ +--- +description: Initialize C3 documentation structure from scratch +--- + +Create `.c3/` directory structure and begin system design. + +Use the `c3-adopt` skill for fresh initialization, which will: +1. Create `.c3/` directory structure (v3: containers as lowercase folders) +2. Track version via `c3-version` frontmatter in README.md +3. Guide through Context, Container, and Component discovery diff --git a/commands/c3-migrate.md b/commands/c3-migrate.md new file mode 100644 index 0000000..fbe1e56 --- /dev/null +++ b/commands/c3-migrate.md @@ -0,0 +1,11 @@ +--- +description: Migrate .c3/ documentation to current skill version +--- + +Migrate this project's C3 documentation to the current skill version. + +Use the `c3-migrate` skill to: +1. Detect current project version from `.c3/VERSION` +2. Compare against current skill version +3. Build and present migration plan +4. Execute transforms with user confirmation diff --git a/commands/c3-use.md b/commands/c3-use.md new file mode 100644 index 0000000..b31b2d3 --- /dev/null +++ b/commands/c3-use.md @@ -0,0 +1,11 @@ +--- +description: Get started with C3 architecture docs - guides reading if .c3/ exists, offers adoption if not +--- + +Entry point for working with C3 architecture documentation. + +Use the `c3-use` skill to: +- Get oriented with existing `.c3/` documentation +- Understand the C3 structure (Context → Container → Component) +- Navigate to specific documents +- Initialize C3 if not yet set up diff --git a/commands/c3.md b/commands/c3.md new file mode 100644 index 0000000..58fa20a --- /dev/null +++ b/commands/c3.md @@ -0,0 +1,5 @@ +--- +description: Design or update system architecture using C3 methodology +--- + +Use the `c3-design` skill to guide architecture changes. diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..48c7660 --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,65 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:lagz0ne/c3-skill:", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "151e61b6c79a66a3e4a26dc0f6fc1e9da06a7d12", + "treeHash": "f1370c1c921918219457ebfe81e72985b3558e5650dcff0c358ababfd1798453", + "generatedAt": "2025-11-28T10:20:02.988840Z", + "toolVersion": "publish_plugins.py@0.2.0" + }, + "origin": { + "remote": "git@github.com:zhongweili/42plugin-data.git", + "branch": "master", + "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", + "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" + }, + "manifest": { + "name": "c3-skill", + "description": "C3 (Context-Container-Component) architecture design methodology with structured top-down documentation, mermaid diagrams, and intention-based workflows", + "version": "1.0.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "3a299620137622b53b9149ff0d96a256b4165045c92207ac10f178389cb955ac" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "c6ff9c3e6d95da57a11773fbe5a1e0a03f0436b61c196363832979592c3c87a6" + }, + { + "path": "commands/c3-migrate.md", + "sha256": "b43fe2cdff2a51567990d4327dd95505aedb1dc2bee5bd4a44230519b58f87cc" + }, + { + "path": "commands/c3-init.md", + "sha256": "e6c26df2cf411b1bd01fc84fb60e79dcba54a34358d4334fe851c4eb4e3677e5" + }, + { + "path": "commands/c3-config.md", + "sha256": "27113fe084e51be13671ee9aeb46a4780a98d557736208291aa16ecfe3b0a2c8" + }, + { + "path": "commands/c3.md", + "sha256": "738c8519faab796f7267e4acfc102b47151b2f26fb86bc7c80093ea0f3be0415" + }, + { + "path": "commands/c3-use.md", + "sha256": "7a5ca85f8eec5f04df044b14dac3fbafbb01753a386f9edccdeb0ac589dcded6" + }, + { + "path": "commands/c3-audit.md", + "sha256": "83af37aff46b05bed3cab31371199b7377c247fffa4d33f05cc4e5bb9c3fbb8d" + } + ], + "dirSha256": "f1370c1c921918219457ebfe81e72985b3558e5650dcff0c358ababfd1798453" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file