creating-c4-diagramslisted
Install: claude install-skill msewell/agent-stuff
# Creating C4 Diagrams
This skill is C4-specific: model architecture using C4 abstractions and notation (not generic box-and-arrow diagrams).
## Workflow: Creating a C4 diagram
1. **Identify the audience and scope.** Determine which diagram level is needed:
- **Level 1 — System Context**: How the system fits into the world. Always create this first.
- **Level 2 — Container**: Major technical building blocks and communication. Always create this second.
- **Level 3 — Component**: Internal structure of a single container. Create only when it adds value.
- **Dynamic**: Runtime behavior for a specific use case. Create for complex or non-obvious flows.
- **Deployment**: How containers map to infrastructure. Create for production systems.
- Skip Level 4 (Code) — auto-generate from IDE instead.
2. **Choose the tool.**
- **Default: Structurizr DSL** — model-first, single model with multiple views, supports all diagram types. Use for any long-lived architecture documentation.
- **Alternative: Mermaid** — use only for quick diagrams in Markdown files (READMEs, PRs, wikis). Limited to Context and Container levels; no dynamic or deployment diagrams.
3. **Identify the elements.** Map the system to C4 abstractions:
- **Person**: A human user role.
- **Software System**: A top-level system owned and deployed by one team.
- **Container**: A separately deployable/runnable unit (app, database, queue, function). NOT a Docker container.
- **Component**: A