Skip to content
Back to skills

C4 Model

ASecurity

WHAT — C4 model methodology (Context, Container, Component, Code) guidance — what to draw at each level, when, and how to render C4-inspired diagrams via Mermaid (PlantUML/Structurizr optional advanced). Methodology not renderer.

  • 19 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 2, 2026
ai-agentsgogitapidatabase

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add ulises-jeremias/agent-toolkit --skill c4-model --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of C4 Model?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for C4 Model
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ulises-jeremias-c4-model/badge)](https://www.skillsdirectory.com/skills/ulises-jeremias-c4-model)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: c4-model
description: WHAT — C4 model methodology (Context, Container, Component, Code) guidance — what to draw at each level, when, and how to render C4-inspired diagrams via Mermaid (PlantUML/Structurizr optional advanced). Methodology not renderer.
origin:
  type: first-party
metadata:
  author: ulises-jeremias
  version: '1.0'
  tags:
  - c4
  - architecture
  - structurzr
  - plantuml
  - mermaid
---

# C4 Model — Methodology Overlay (WHAT → HOW via Mermaid)

**Sources (2026-08-12):** Simon Brown C4 https://c4model.com/ (Context, Container, Component, Code); Structurizr DSL https://github.com/structurizr/dsl (open-source DSL, paid cloud) + `structurizr-mcp` https://github.com/cubical6/structurizr-mcp + `go-structurizr`; C4-PlantUML https://github.com/plantuml-stdlib/C4-PlantUML; overarch https://github.com/soulspace-org/overarch (PlantUML/Structurizr generation); rendering **via Mermaid** `mermaid-js/mermaid` MIT per §44.

> **Pack:** `architecture` core (`architect + ADR + TRD + threat-model + mermaid (+ C4 via mermaid)`) — `c4-model` teaches *what* to draw; `mermaid` renders it. See `docs/architecture/research-385-diagram.md` for C4 vs Mermaid vs PlantUML/Structurizr decision (Excalidraw/draw.io REJECT).

## When to use

- Need system Context / Container / Component / Code views.

## Instructions

1. **Select level:** Context (system + actors) → Container (apps/data stores) → Component (modules) → Code (classes, optional).
2. **Render via Mermaid** (C4-inspired): `flowchart TD` with `subgraph` for boundaries, e.g.:
   ```mermaid
   flowchart TD
     user([User]) --> web[Web Container]
     web --> api[API Container]
     api --> db[(Database Container)]
     subgraph System Context
       user; web; api; db
     end
   ```
3. **Advanced (optional):** For consistency checks across views, use Structurizr DSL (`structurizr-cli` + `workspace.dsl` → PlantUML/Mermaid) or C4-PlantUML (`@startuml` + `!include C4_Context.puml`); note `structurizr` CLI requires DSL file and is heavier.

## Collaboration

- `architect` defines system → `c4-model` selects C4 level → `mermaid` renders → `ADR` records decision.

## Anti-patterns

- Do not mandate Structurizr DSL for every diagram — Mermaid suffices for most.
- Do not dump PlantUML infra as separate skill — keep as optional note.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.