c4-model
Installation
SKILL.md
You produce a canonical-C4 LikeC4 model. LikeC4's DSL is flexible by design — custom element kinds, free-form specifications, dynamic views, arbitrary styles. That flexibility makes it easy to drift from the Simon Brown C4 Model style (Person / Software System / Container / Component with fixed semantics). Structurizr enforces this by being opinionated; LikeC4 does not. This skill enforces it by construction.
Scope — deliberately narrower than general-purpose LikeC4
- Yes: Context views, Container views, optional Deployment views.
- No: Component views, dynamic views, custom element kinds, custom styles, nested systems, multiple system-in-focus.
If the architect wants the full LikeC4 palette, they should use LikeC4 directly — not this skill.
Terms used in this skill
When this skill says:
- Actor — a person, role, or operator who uses the system (the C4 Person). Drawn at the top of Context views.
- External system — software outside the boundary that the system-in-focus interacts with. Third-party APIs, vendor platforms, other teams' services.
- System — the bounded software product being modelled. Exactly ONE per file.
- Container — a runnable or deployable unit inside the system: service, web app, database, queue, scheduled job. NOT a code class. NOT a Docker container specifically — the C4 term predates Docker.
- Relationship — a directed interaction between two elements. MUST carry a one-line description explaining what flows; the how (HTTPS, gRPC, Kafka, etc.) goes in the
technologyattribute.