architecture-diagram
Skill118 starsChanged 18 days agoMITView on GitHub
This skill should be used when a system design needs a diagram — "draw the architecture", "diagram this system", "show the components", "make an architecture/infrastructure/topology diagram", or visualizing boxes-and-arrows, data flow, regions, or failure paths for a design. It generates a self-contained dark-theme HTML + SVG diagram (with PNG/PDF export). Use it whenever the `system-design` orchestrator or a building block reaches the "draw it" step, even if the user doesn't say "diagram".
44 other projects use a version of this.
Adopted by
Most recently taken up by
- nohemi20231/design-skillstheir own version, first seen Nov 8, 2026
- seayniclabs/homelab-infra-mcptheir own version, first seen Nov 8, 2026
- ashleysbrain/skillstheir own version, first seen Nov 8, 2026
- ZhouYinLong-lab/Dog-Skillstheir own version, first seen Nov 8, 2026
- delorenj/skillstheir own version, first seen Nov 7, 2026
- d-o-hub/github-template-ai-agentstheir own version, first seen Nov 3, 2026
Used with
Projects with it also use competitor-news-monitor, blocked-page-recovery and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
aivrarSkillcompetitor-news-monitor
Watch named companies for material news; cited digests.
Also in 6 projects that use this
aivrarSkillblocked-page-recovery
Recover blocked/paywalled/WAF'd pages via fallbacks.
Also in 6 projects that use this
john-data-chenSkillteams-meeting-pipeline
Operate the Teams meeting summary pipeline via Hermes CLI — summarize meetings, inspect pipeline status, replay jobs, manage Microsoft Graph subscriptions.
Also in 8 projects that use this
john-data-chenSkilltouchdesigner-mcp
Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools.
Also in 5 projects that use this
Tommy-ywSkillsongwriting-and-ai-music
Songwriting craft, AI music generation prompts (Suno focus), parody/adaptation techniques, phonetic tricks, and lessons learned. These are tools and ideas, not rules. Break any of them when the art calls for it.
Also in 9 projects that use this
mae616Skillp5js
p5.js(クリエイティブコーディング)のProcessing由来「コードでスケッチ」思想を軸に、setup/drawループ・座標系・インタラクション・パフォーマンス最適化を整理する。p5.js、Processing、クリエイティブコーディング、ジェネラティブアート、インタラクティブ表現、ビジュアルプログラミング、Canvas描画、パーティクル、フラクタル、ノイズ表現に関する相談で必ず使うこと。ユーザーが「コードでアート」「動くビジュアル」「インタラクティブな描画」と言った場合にも適用する。
Also in 9 projects that use this
- +3 more from aivrar
Other versions44 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 44
- NousResearch/hermes-agent★ 262ksame name
- lahfir/agent-desktop★ 19ksame name
- vercel-labs/agent-desktop★ 19ksame name
- Cocoon-AI/architecture-diagram-generator★ 7.4ksame name
- Tommy-yw/RunbookHermes★ 546same name
- Mathews-Tom/armory★ 340same name
- aivrar/portable-hermes-agent★ 239same name
- konraddzbik/architecture-diagram-skill★ 143same name
- microsoft/github-copilot-modernization★ 48same name
- wundercorp/loki★ 28same name
34 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository21 other files it gives its agents.
- api-designSkill
- back-of-the-envelopeSkill
- blob-storeSkill
- cachingSkill
- consistency-coordinationSkill
- content-deliverySkill
- data-storageSkill
- distributed-loggingSkill
- distributed-searchSkill
- dnsSkill
- load-balancingSkill
- messaging-streamingSkill
- observabilitySkill
- requirements-scopingSkill
- resilience-failureSkill
- scaling-evolutionSkill
- sequencerSkill
- service-decompositionSkill
- sharded-countersSkill
- system-designSkill
- task-schedulingSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 8 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 42 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
Before the design has stabilized — don't draw boxes that aren't yet justified (that's failure mode #7).
- Very specific: line 70
Keep the two pinned CDN scripts (html2canvas + jsPDF) with their SRI hashes — they power Copy/PNG/PDF export and nothing else.
- Very specific: line 73
Avoid SVG <foreignObject> (renders inconsistently in html2canvas) — use plain <rect>/<text>.
- Distinctive: line 75
Keep it to ~8–15 components for a high-level view.
- Distinctive: line 84
Keep it to ~8–15 components.
- Distinctive: line 85
Keep the file self-contained — inline CSS/SVG, system monospace font, no external images — so it renders offline.
- Distinctive: line 88
Don't embed Mermaid or invent a second diagram convention.
- Very specific: line 89
Don't use SVG <foreignObject> (html2canvas renders it inconsistently) — use plain <rect>/<text>.
- Distinctive: line 90
Don't strip or rewrite the pinned CDN scripts' SRI hashes.
- Distinctive: line 91
Don't place legends inside boundary boxes or stack components with under-40px gaps — both cause overlaps.
- Distinctive: line 92
Don't add a hard dependency on any send-to-Claude transport.
“Common” is measured: kept by at least 6 in 10 of the 42 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Architecture Diagram
Turn a stabilized design — a list of components and the connections between them — into a polished, self-contained HTML + SVG diagram. Components are boxes, arrows are communication/data flow, dashed boundaries are regions or trust zones. This is the diagramming engine for the whole plugin; the orchestrator and building blocks hand off here when it's time to draw.
Self-contained by design: one HTML file with inline SVG and CSS, a system monospace font (no web-font fetch), and no dependency to render — it draws fully offline. The only external calls are two pinned, SRI-protected CDN scripts that power the optional PNG/PDF export; remove them and the diagram still renders — only the export buttons are lost.
When to reach for this
At step 3 (high-level design) and step 6 (deep-dive) of the reasoning loop, and any time a design is clear enough to draw: the component list and their connections are known. Also for failure-path diagrams (step 5) — showing a degradation flow is part of the design.
When NOT to
Before the design has stabilized — don't draw boxes that aren't yet justified (that's failure mode #7). A quick ASCII sketch in the conversation is fine for early thinking; render with this skill once the components have earned their place.
How to build a diagram
- Gather the spec from the design: the list of components (each with a type),
the directed connections (with protocol/label), and any region/boundary
groupings. The
system-designdesign-doc already produces this. - Copy the template
assets/template.htmlto a working file. It carries the dark theme, grid background, fonts, the export toolbar, and the summary-card layout — keep those intact. - Map each component to a semantic type (color) using the table below.
- Place boxes and draw arrows following the layout/spacing rules in
references/design-system.md(draw arrows before boxes so they sit behind; mask arrows behind semi-transparent fills; keep ≥40px vertical gaps; legends go outside boundary boxes). - Label the flow — number arrows to show request order; use dashed arrows for async/replication/fallback; dashed boundaries for regions and security groups.
- Fill the summary cards with the key decisions/trade-offs (ties to the design doc), update the title/footer.
- Open it:
open <file>.htmlto view; the toolbar exports PNG/PDF.
Semantic colors (map components to types)
These align with how the building blocks think about a system.
| Component type | Fill (rgba) | Stroke | Used for |
| Frontend / client | rgba(8,51,68,0.4) | #22d3ee | web/mobile clients, edge |
| Backend / service | rgba(6,78,59,0.4) | #34d399 | app/API services, workers |
| Database / store | rgba(76,29,149,0.4) | #a78bfa | SQL/NoSQL, object store |
| Cache | rgba(8,51,68,0.4) | #38bdf8 | Redis/Memcached, CDN cache |
| Message bus / queue | rgba(251,146,60,0.3) | #fb923c | Kafka, SQS, queues, streams |
| Cloud / managed | rgba(120,53,15,0.3) | #fbbf24 | managed services, regions |
| Security / auth | rgba(136,19,55,0.4) | #fb7185 | gateways, auth, firewalls |
| External / generic | rgba(30,41,59,0.5) | #94a3b8 | third parties, DNS |
Full styling, arrow markers, masking, spacing, and legend rules are in
references/design-system.md.
Output rules
- One self-contained
.htmlfile: inline CSS, inline SVG, no external images. - Keep the two pinned CDN scripts (html2canvas + jsPDF) with their SRI hashes — they power Copy/PNG/PDF export and nothing else. The diagram renders fully without them; they're only needed for export.
- Avoid SVG
<foreignObject>(renders inconsistently in html2canvas) — use plain<rect>/<text>. - Keep it to ~8–15 components for a high-level view; zoom into one subsystem for a deep-dive rather than cramming everything into one picture.
Dos and don'ts
Do:
- Draw only after the design stabilizes; render the component list and connections the design doc already produced.
- Map every box to a semantic type from the color table so the diagram reads at a glance.
- Draw arrows before boxes (so they sit behind), number them for request order, and reserve dashed arrows for async/replication/fallback.
- Keep it to ~8–15 components; zoom into one subsystem for a deep-dive instead of one crowded picture.
- Keep the file self-contained — inline CSS/SVG, system monospace font, no external images — so it renders offline.
Don't:
- Don't embed Mermaid or invent a second diagram convention; this skill is the one engine.
- Don't use SVG
<foreignObject>(html2canvas renders it inconsistently) — use plain<rect>/<text>. - Don't strip or rewrite the pinned CDN scripts' SRI hashes; recompute them only when bumping versions.
- Don't place legends inside boundary boxes or stack components with under-40px gaps — both cause overlaps.
- Don't add a hard dependency on any send-to-Claude transport; the Copy-Prompt button is the self-contained default.
Interactive / collaborative mode (optional)
For iterating with the user, an interactive variant adds layer toggles,
connection-type filters, zoom, and click-to-comment that builds a feedback prompt
with a Copy button. See references/interactive.md. It degrades gracefully: the
Copy-Prompt button always works. A live "Send to Claude" button is possible only
if a separate prompt-transport plugin (e.g. playground-sync) is installed — this
plugin does not require or bundle one.
Related building blocks
system-design— invoked by the orchestrator at the "draw it" steps; its diagramming notes feed what to draw at each step.- Any building block — invoked by a block whose "Diagram" section says "render with
architecture-diagram". This skill renders for all of them; it owns diagram generation and they point here rather than ship their own.
References
references/design-system.md— colors, arrow markers, z-order/masking, spacing, legend placement, the export toolbar internals. Read before drawing.references/interactive.md— the optional interactive/commentable diagram pattern and the (optional) send-to-Claude transport. Read only if building an interactive map.
Assets
assets/template.html— the self-contained dark-theme HTML+SVG starting point with the export toolbar. Copy and customize it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

