C3 Architecture Assistant
REQUIRED: Load Harness First
Load ../../references/skill-harness.md for routing and red flags.
Mode Selection
| Condition | Mode |
|-----------|------|
| No .c3/README.md | Adopt - Set up C3 |
| Has .c3/ + "audit" intent | Audit - Validate docs |
| Has .c3/ + other intent | Route to c3-query or c3-alter |
Mode: Adopt
Two rounds:
Round 1: Structure
User runs: PROJECT="MyApp" C1="backend" C2="frontend" ./scripts/c3-init.sh
Creates .c3/ with Context, Containers, ADR-000.
Round 2: Fill (Subagent)
Dispatch subagent with ../../references/container-patterns.md to:
| Layer | Task |
|-------|------|
| Context (c3-0) | Actors, containers, external systems, diagram, linkages |
| Container (c3-N) | Assess complexity first, then components, diagram, fulfillment |
| Component (c3-NNN) | Create from category template, add ## References |
| ADR-000 | Document adoption, list containers, verification |
Templates: ../../templates/component.md (unified), ../../templates/ref.md
Rules:
- Complexity-first: Assess container complexity BEFORE documenting aspects
- Discovery-over-checklist: Find what exists, don't assume from templates
- Diagram first, tables second, linkages third
- Every linkage needs REASONING
- Sequential IDs: c3-101, c3-102, etc.
- References: symbols first, patterns, then paths (3-7 items)
- Categories:
foundationorfeature(no auxiliary)
Refs Discovery
After components are documented:
- Identify repeated patterns across components
- Extract to
.c3/refs/ref-{pattern}.md - Update components to cite refs instead of duplicating
Mode: Audit
REQUIRED: Load ../../references/audit-checks.md for full procedure.
| Scope | Command |
|-------|---------|
| Full system | audit C3 |
| Container | audit container c3-1 |
| ADR | audit adr adr-YYYYMMDD-slug |
Checks: Inventory vs code, categorization, reference validity, diagrams, ADR lifecycle