From eng-utils
C4 model architecture diagrams for systems. Use when asked to create architecture documentation, model a system for agent reasoning, generate C4 diagrams from code/config, or plan multi-system refactorings that need architectural context.
How this skill is triggered — by the user, by Claude, or both
Slash command
/eng-utils:c4-architectureThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Guides agents in creating C4 model architecture diagrams that serve two audiences:
Guides agents in creating C4 model architecture diagrams that serve two audiences: humans reading TechDocs/GitHub and agents reasoning about multi-system changes.
Invoke when:
Do NOT use for:
diagram-standards/)Two output formats serve different purposes:
| Format | When to use | Key property |
|---|---|---|
| Structurizr DSL | Creating a persistent workspace.dsl architecture model | One file captures full model; agents read directly as text |
| PlantUML C4 | TechDocs, architecture docs, RFC sections | Renders natively in TechDocs; pre-render to SVG for GitHub/markdown |
Default: Always create a Structurizr DSL workspace.dsl as the primary model — it
defines all levels in one file and provides maximum flexibility. Additionally generate
PlantUML C4 diagrams (rendered to SVG) for any levels the user has clearly indicated, or for
the most relevant level (Container) if not specified. The rendering pipeline is:
structurizr-cli export -f plantuml/c4plantuml → plantuml -tsvg.
Mermaid is used only for sequenceDiagram blocks (request flow diagrams).
| Task type | Right C4 level | Diagram type |
|---|---|---|
| Cross-service refactoring, multi-system API change | Level 2: Container | C4Container |
| Understanding system boundaries, external dependencies | Level 1: Context | C4Context |
| Within-service component change | Level 3: Component | C4Component |
| Request flow / change propagation across services | Supplementary | sequenceDiagram |
| Deployment topology (K8s nodes, regions) | Supplementary | C4Deployment |
Avoid Level 4 (Code/C4Code) — too granular, equivalent to reading source files.
Architecture docs are stored centrally in:
~/.claude/thoughts/shared/architecture/
├── <system-name>/
│ ├── workspace.dsl # Structurizr DSL model (primary, agent-readable)
│ ├── diagrams/
│ │ ├── structurizr-SystemContext.puml # C4Context (PlantUML source)
│ │ ├── structurizr-SystemContext.svg # C4Context (rendered SVG)
│ │ ├── structurizr-Containers.puml # C4Container (PlantUML source)
│ │ └── structurizr-Containers.svg # C4Container (rendered SVG)
Pass these files as context when starting agent tasks involving multiple services.
diagram-standards/ — Visual quality: colors, WCAG accessibility, legendsreferences/c4-formats.md — Structurizr DSL syntax + PlantUML C4 element vocabulary + sequence patternsnpx claudepluginhub jonnycbb/claude-code-config --plugin eng-utilsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.