Install in seconds
Install this skill
Copy the command and run it in your terminal. You can review the source before installing.
terminal
git clone https://github.com/magnus919/agent-skills

Works with Git. The repository opens in your current directory.

πŸ“Š
DevOpsPython

C4 Diagramming

by magnus919

Create C4 software-architecture diagrams using Mermaid or Structurizr. Use when teams need clear system context, container, component, or code-level views.

10 stars0 forksAdded 2026/07/18
agent-skillsagentskillsai-agentsautomationllm

Documentation

README

C4 Diagramming

C4 Model for structural architecture visualization. Produces diagrams at four zoom levels, mapped into the artifact pyramid.

C4-to-Pyramid Mapping

C4 Level Pyramid Layer Path
Level 1: System Context L1 (Summary) 01-summary/system-context.md
Level 2: Container L2 (Analysis) 02-analysis/structural-views/container.md
Level 3: Component L2 (Analysis) 02-analysis/structural-views/components.md
Level 4: Code L3 (Dossiers) 03-dossiers/code-level-detail.md

C4 is the cleanest structural fit β€” its four-level hierarchy maps to the three pyramid layers with almost no translation, and Levels 2-3 both resolve to separate L2 analysis files.

Authoring Formats

Mermaid (Default for Quick Diagrams)

Use when you need a single diagram embedded in markdown. See the GitHub Rendering Constraint section below for C4-in-Mermaid compatibility notes.

Structurizr DSL is the C4 model's reference "models as code" implementation, created by Simon Brown. Define the entire architecture model in a single DSL file; all 4 C4 levels are generated from it. This ensures structural consistency across diagrams that hand-written Mermaid cannot guarantee.

workspace {
    model {
        user = person "Customer"
        system = softwareSystem "Your System" {
            webapp = container "Web Application" "TypeScript, React"
            api = container "API" "Go"
            db = container "Database" "PostgreSQL"
            user -> webapp "Uses"
            webapp -> api "Makes API calls"
            api -> db "Reads/writes"
        }
    }
    views {
        systemContext system { include * autolayout lr }
        container system { include * autolayout lr }
        component api { include * autolayout lr }
        theme default
    }
}

Key capabilities:

  • !adrs docs/adr β€” imports Architecture Decision Records (adr-tools, MADR, log4brains) into the workspace, rendered alongside C4 diagrams
  • !docs docs/arc42 β€” imports arc42 documentation as Markdown/AsciiDoc
  • Structurizr Lite (Docker) β€” local preview at http://localhost:8081
  • CI commands: validate, inspect, export (PlantUML, Mermaid, static site)

Full reference in references/architecture-as-code-ecosystem.md β€” tool comparison, DSL cookbook, C4-PlantUML alternative, and the converged repo convention.

Contents

  • references/c4-to-pyramid-mapping.md β€” contextβ†’L1, container/componentβ†’L2, codeβ†’L3 (Mermaid + Structurizr DSL paths)
  • references/c4-to-flowchart.md β€” (in mermaid-diagrams skill) C4 β†’ standard flowchart conversion patterns for GitHub compatibility
  • references/architecture-as-code-ecosystem.md β€” Structurizr DSL, C4-PlantUML, docToolChain, converged repo convention, tool comparison table
  • references/ci-pipeline-templates.md β€” GitHub Actions, GitLab CI, ForgeJo (Gitea Actions, Woodpecker) pipeline templates for Structurizr validation, export, deploy

GitHub Rendering Constraint

GitHub's built-in Mermaid renderer does not bundle the C4 plugin (@mermaid-js/mermaid). Any ````mermaidblock usingC4Context, C4Container, or C4Component` syntax renders as raw code rather than a diagram on GitHub. This affects issues, PR descriptions, discussion comments, and markdown files.

Workaround: Convert C4 diagrams to standard flowchart syntax before embedding in GitHub markdown:

  • Person() β†’ [rect] node with label
  • System() / System_Ext() β†’ [rect] inside or outside subgraphs
  • Container() β†’ [rect with tech stack label]`
  • Db() β†’ [(cylinder shape)]
  • System_Boundary{} / Container_Boundary{} β†’ subgraph ... end
  • Rel() β†’ -- label --> or -.->
  • Drop UpdateLayoutConfig() β€” use flowchart LR or TB directive instead

For the full conversion table with worked examples, load references/c4-to-flowchart.md from the companion mermaid-diagrams skill when it is available.

.mmd files in a DIAGRAMS/ directory must also use standard flowchart syntax if they need to render via mmdc or on GitHub. Files using C4-plugin syntax can only render in tools that bundle the plugin (e.g., Mermaid Live Editor, mmdc with C4 extension config). If you commit .mmd files with C4 syntax to a repo, GitHub's file preview will show them as raw text β€” convert them to standard syntax or render them to PNG first.

Feature Request Filed

A GitHub Community feature request to bundle the C4 mermaid plugin was filed at https://github.com/orgs/community/discussions/197898 (closed β€” requires submission through the web UI with the Apps, API and Webhooks discussion template). If this gets implemented, the flowchart conversions below would no longer be necessary for GitHub rendering.

Canonical Reference

Portability

This skill is intentionally host-neutral. Use your agent's normal mechanisms to load the references, templates, and scripts listed here. Do not assume a particular profile system, task orchestrator, memory service, or response-handoff format.

More from magnus919

Other Claude Code skills by this author in the directory.

πŸ“
2w ago

ADR Authoring

Write, review, and maintain architecture decision records with clear context, alternatives, consequences, and lifecycle governance. Use when a consequential technical decision must remain understandable.
Writing
+67%100
βš–οΈ
2w ago

Agent Council

Spawn a panel of expert AI agents to debate any question using a structured protocol with iterative cross-examination and convergence detection, producing a decision landscape with confidence diagnostics.
AI Engineering
+67%100
πŸ”
2w ago

Agent Evals and Observability

Design, run, review, or release framework- and vendor-neutral evaluations and observability for AI agents. Use when defining agent evals, datasets, graders, trajectory review, regression analysis, release gates, production traces, or privacy-aware telemetry.
Quality
+67%100
πŸ“˜
2w ago

Agent Skills

Defines the Agent Skills open format, including directory structure, SKILL.md schema, naming conventions, and progressive disclosure model. Use this reference when creating, reviewing, or editing agent skills to follow the standard.
AI Engineering
+67%100
πŸ“‘
2w ago

API Design and Evolution

Guides the design, documentation, review, and evolution of consumer-facing APIs and event interfaces, including contract authoring, compatibility assessment, and deprecation planning.
DevOps
+67%100
🎬
2w ago

ARR CLI

CLI tool for managing Radarr (movies) and Sonarr (TV series) media libraries. Use for listing, adding, searching, checking queues, quality profiles, and more.
Automation
+67%100