← ClaudeAtlas

creating-c4-diagramslisted

Creates, reviews, and interprets C4 software architecture diagrams (System Context, Container, Component, Dynamic, Deployment). Produces Structurizr DSL or Mermaid C4 diagram code following C4 model best practices. Use when the requested output is explicitly C4, when reviewing existing C4 diagrams for correctness and anti-patterns, when generating Structurizr DSL workspaces, when producing Mermaid C4 diagrams for READMEs, or when using C4 diagrams as context for design decisions, code generation, risk analysis, or onboarding.
msewell/agent-stuff · ★ 0 · AI & Automation · score 70
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