Draws architecture diagrams as editable draw.io files with a fixed house style, C4 levels, evidence-tagged shapes, and optional multi-view identity checks. Use when producing a system context, container, component, deployment, data flow, sequence, state, or ERD, or redrawing an ASCII or Mermaid one.
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Never hand-write mxGraph XML. Write a spec; the scripts own every visual decision, so diagrams stay identical across authors, repositories, and sessions.
spec.json — schema in diagram-spec.md. For an ERD,
generate it: python3 scripts/schema_to_spec.py db/schema.sql --title "<System> — ERD" -o spec.jsonpython3 scripts/validate_spec.py spec.jsonpython3 scripts/render_drawio.py spec.json -o docs/architecture/<slug>.drawio --strict
(exit 2 = a layout finding; change the spec, per layout-rules.md)python3 scripts/validate_manifest.py view-manifest.jsonpython3 scripts/export_drawio.py docs/architecture/<slug>.drawio -f png -o docs/architecture/<slug>.png,
else ship the .drawio and say the image was not exported. See export paths.The JSON spec is the semantic source of truth; .drawio is the editable presentation and the
image is a copy for a deck. Generated XML records its own baseline; regeneration protects
manual edits by default. Use --acknowledge-manual-edits only after returning semantic changes to the spec.
assumed or unverified for honest design uncertainty.metric carries the load or SLO that sized the node,
constraint says why it exists; never invent either.style: async for events.gcp:* and aws:* are official icons; every other
vendor is a cloud:* kind with the service named in sublabel. No Azure logos exist in
the bundle, so Azure is always cloud:*.| Thought | Reality |
|---|---|
| "It is one box, I will write the XML" | The renderer owns style, legend, and title block. Use it. |
| "Close enough, I will guess this service" | Guesses ship as facts. Omit the evidence and let it render UNVERIFIED. |
| "Managers want the whole system on one page" | Past 12 nodes they stop reading. Split it. |
assets/fixtures/<type>.spec.json, one per diagram type, plus schema samples under assets/fixtures/schemas/.specialist-solution-diagrammer.HoangNguyen0403/agent-skills-standard
da0082f
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.