One Claude Code skill that unifies four open-source standards — C4 + Structurizr, ArchiMate, TOGAF ADM, and arc42 + ADRs — to diagram, document, review, and model architecture, with one traceable model underneath.
They aren't competitors — they answer different questions. The skill picks the right one.
| Framework | Answers | Best for | Produces |
|---|---|---|---|
| C4 + Structurizr | How is this system built? | A single service or system | Context / Container / Component — Structurizr DSL, Mermaid or PlantUML |
| ArchiMate 3.x | How does the enterprise fit? | Cross-system: capabilities → apps → tech | Layered & capability views (Archi / Mermaid) |
| TOGAF ADM | How do we deliver change? | Running an engagement; portfolio | Vision, roadmaps, TIME portfolio (Tolerate/Invest/Migrate/Eliminate) |
| arc42 + ADR/MADR | How do we write it down? | Documenting a system; decisions | arc42 docs + decision records, docs-as-code |
No need to name a framework — the skill maps your request to a mode and produces the right output as code.
Each prompt ran twice and was graded against objective assertions. The examples below are the actual, unedited skill outputs.
| Test case | Baseline | With skill | What the skill changed |
|---|---|---|---|
| C4 diagram | 3 / 5 | 5 / 5 | Real C4 notation (Context + Container) and a Structurizr source-of-truth. Baseline drew a generic flowchart. |
| ADR | 4 / 5 | 5 / 5 | Correct MADR format (status, drivers, options, consequences). Baseline wrote good analysis, not an ADR. |
| Review | 6 / 6* | 6 / 6 | Both strong. *Globally-installed skills are discoverable, so the baseline used the skill anyway — not a clean baseline. |
Honesty note: because installed skills are globally discoverable, a baseline agent can find and use the skill anyway (it did on the review case). So the measured gap is a conservative lower bound on the skill's effect.
C4Container
Person(customer, "Customer", "Buys")
System_Boundary(checkout, "Order Checkout Service") {
Container(spa, "SPA", "React")
Container(api, "Checkout API", "Spring Boot")
ContainerDb(db, "Orders DB", "PostgreSQL")
Container(kafka, "Event Bus", "Kafka")
}
System_Ext(stripe, "Stripe", "Payments")
Rel(customer, spa, "Uses", "HTTPS")
Rel(spa, api, "Calls", "JSON/HTTPS")
Rel(api, db, "Reads/writes", "JDBC")
Rel(api, kafka, "Publishes events", "Kafka")
Rel(api, stripe, "Charges via", "REST")
UpdateLayoutConfig($c4ShapeInRow="2", $c4BoundaryInRow="1")
The full output also includes the System Context view and a Structurizr DSL source-of-truth → Full output ↗ · Baseline ↗
# 0001. Use AWS SNS/SQS for order events - Status: proposed - Date: 2026-06-18 - Tags: messaging, order-events, eventing ## Decision Drivers - Throughput: ~10k events/sec with headroom - Event replay: re-read history from an arbitrary point - Operational burden: team has no Kafka ops experience - Time-to-value; ordering & delivery semantics; cost; reversibility ## Considered Options 1. Apache Kafka (self-managed / MSK / Confluent) 2. RabbitMQ (with streams plugin) 3. AWS SNS + SQS (+ Kinesis / EventBridge Archive for replay) ## Decision Outcome Chosen: "AWS SNS/SQS with a managed log for replay where needed" — best fit for a team with no Kafka ops while still meeting throughput and giving a credible replay story without operating brokers. ### Consequences - Good: minimal ops; elastic & managed; fast time-to-value; pay-per-use - Bad: replay isn't uniform (needs Kinesis layer); AWS lock-in; FIFO quotas to verify - Neutral: requires idempotent consumers & an explicit ordering key (orderId)
Verdict: Needs revision — the monolith is the right altitude for 50k DAU; the problems are security & operational hygiene, not the decomposition.
settings.py → rotate now, move to Secrets Manager/SSM, purge history, add a pre-commit scanner.Install straight from the plugin marketplace — no clone needed. Then just ask in your own words.
/plugin marketplace add gauravs19/enterprise-architecture-skill /plugin install enterprise-architecture@gauravs19-skills
Prefer to clone? git clone … ~/.claude/skills/enterprise-architecture — or download the .skill package.