architecture-diagram
Skill3 starsChanged 8 months agoMITView on GitHub
Create offline HTML/SVG architecture diagrams for systems, AI agents and cloud data flows. Use drawio when an editable diagram is needed.
44 other projects use a version of this, 24 of them edited.
Adopted by
Most recently taken up by
- nohemi20231/design-skillstheir own version, first seen Nov 8, 2026
- seayniclabs/homelab-infra-mcpedited, first seen Nov 8, 2026
- ashleysbrain/skillsedited, first seen Nov 8, 2026
- ZhouYinLong-lab/Dog-Skillstheir own version, first seen Nov 8, 2026
- delorenj/skillsedited, 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 · 24
- NousResearch/hermes-agent★ 262k18% same
- Cocoon-AI/architecture-diagram-generator★ 7.4k68% same
- Tommy-yw/RunbookHermes★ 54616% same
- aivrar/portable-hermes-agent★ 23918% same
- wundercorp/loki★ 2818% same
- ulises-jeremias/agent-toolkit★ 1935% same
- delorenj/skills★ 1718% same
- Samin12/skills★ 818% same
- The-Utopia-Studio/skills★ 690% same
- iasiv5/skills★ 368% same
14 more not listed
Wrote their own version · 20
- lahfir/agent-desktop★ 19ksame name
- vercel-labs/agent-desktop★ 19ksame name
- Mathews-Tom/armory★ 340same name
- konraddzbik/architecture-diagram-skill★ 143same name
- proyecto26/system-design-skills★ 118same name
- microsoft/github-copilot-modernization★ 48same name
- Nanford/Nanford-skills★ 17same name
- d-oit/rust-2026-template★ 15same name
- ZhouYinLong-lab/Dog-Skills★ 7same name
- iopsystems/skills-mcp★ 6same name
10 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 repository18 other files it gives its agents.
- case-studySkill
- csv-to-chartSkill
- cv-optimizeSkill
- db-edaSkill
- demo-storytellingSkill
- disk-cleanupSkill
- drawioSkill
- generate-imageSkill
- gh-issue-to-specSkill
- json-validateSkill
- log-triageSkill
- markdown-link-checkSkill
- pdf-to-summarySkill
- postmortemSkill
- product-positioningSkill
- proposal-reviewSkill
- roundtableSkill
- vendor-evalSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. 0 are common, 10 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 42 edited versions we read keep these.
10
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 20
Create professional technical architecture diagrams as self-contained HTML files with inline SVG graphics and CSS styling.
- Distinctive: line 40
Use these semantic colors for component types:
- Distinctive: line 54
Use JetBrains Mono for all text (monospace, technical aesthetic):
- Distinctive: line 76
Arrows: Use SVG marker for arrowheads:
- Distinctive: line 103
CRITICAL: When stacking components vertically, ensure proper spacing to avoid overlaps:
- Distinctive: line 107
Inline connectors (message buses): Place IN the gap between components, not overlapping
- Distinctive: line 121
CRITICAL: Place legends OUTSIDE all boundary boxes (region boundaries, cluster boundaries, security groups).
- Distinctive: line 124
Place legend at least 20px below the lowest boundary
- Very specific: line 171
Update the <title> and header text
- Very specific: line 173
Add/remove/reposition component boxes
- Distinctive: line 175
Update the three summary cards
- Very specific: line 180
Always produce a single self-contained .html file with:
- Distinctive: line 183
No JavaScript required (pure CSS animations)
“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 Skill
Create professional technical architecture diagrams as self-contained HTML files with inline SVG graphics and CSS styling.
Philosophy
- Shape encodes meaning: LLM = double-border rect, Agent = hexagon, Vector Store = ringed cylinder, Memory = dashed rect. Readers decode architecture at a glance.
- Arrow color/dash encodes semantics: sync vs async vs auth vs data-read vs data-write vs control-loop use different strokes and markers.
- Dark theme only: one style, done well. Keeps decisions fast.
Reference Files
Load these when the diagram involves AI/Agent systems or needs product branding:
references/semantic-shapes.md— LLM / Agent / Vector Store / Memory / Tool / Queue / User shapes with ready-to-paste SVG + dark palettereferences/brand-colors.json— 40+ product brand colors (OpenAI, Anthropic, Pinecone, Kafka, etc.) for inline badgesreferences/ai-patterns.md— RAG / Mem0 / Multi-Agent / Tool Call / Agentic Search swim-lane presets
Design System
Color Palette
Use these semantic colors for component types:
| Component Type | Fill (rgba) | Stroke |
| Frontend | rgba(8, 51, 68, 0.4) | #22d3ee (cyan-400) |
| Backend | rgba(6, 78, 59, 0.4) | #34d399 (emerald-400) |
| Database | rgba(76, 29, 149, 0.4) | #a78bfa (violet-400) |
| AWS/Cloud | rgba(120, 53, 15, 0.3) | #fbbf24 (amber-400) |
| Security | rgba(136, 19, 55, 0.4) | #fb7185 (rose-400) |
| Message Bus | rgba(251, 146, 60, 0.3) | #fb923c (orange-400) |
| External/Generic | rgba(30, 41, 59, 0.5) | #94a3b8 (slate-400) |
Typography
Use JetBrains Mono for all text (monospace, technical aesthetic):
<style>body { font-family: 'JetBrains Mono', ui-monospace, monospace; }</style>Font sizes: 12px for component names, 9px for sublabels, 8px for annotations, 7px for tiny labels.
Visual Elements
Background: #020617 (slate-950) with subtle grid pattern:
<pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse">
<path d="M 40 0 L 0 0 0 40" fill="none" stroke="#1e293b" stroke-width="0.5"/>
</pattern>Component boxes: Rounded rectangles (rx="6") with 1.5px stroke, semi-transparent fills.
Security groups: Dashed stroke (stroke-dasharray="4,4"), transparent fill, rose color.
Region boundaries: Larger dashed stroke (stroke-dasharray="8,4"), amber color, rx="12".
Arrows: Use SVG marker for arrowheads:
<marker id="arrowhead" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
<polygon points="0 0, 10 3.5, 0 7" fill="#64748b" />
</marker>Arrow z-order: Draw connection arrows early in the SVG (after the background grid) so they render behind component boxes. SVG elements are painted in document order, so arrows drawn first will appear behind shapes drawn later.
Masking arrows behind transparent fills: Since component boxes use semi-transparent fills (rgba(..., 0.4)), arrows behind them will show through. To fully mask arrows, draw an opaque background rect (e.g., fill="#0f172a") at the same position before drawing the semi-transparent styled rect on top:
<!-- Opaque background to mask arrows -->
<rect x="X" y="Y" width="W" height="H" rx="6" fill="#0f172a"/>
<!-- Styled component on top -->
<rect x="X" y="Y" width="W" height="H" rx="6" fill="rgba(76, 29, 149, 0.4)" stroke="#a78bfa" stroke-width="1.5"/>Auth/security flows: Dashed lines in rose color (#fb7185).
Message buses / Event buses: Small connector elements between services. Use orange color (#fb923c stroke, rgba(251, 146, 60, 0.3) fill):
<rect x="X" y="Y" width="120" height="20" rx="4" fill="rgba(251, 146, 60, 0.3)" stroke="#fb923c" stroke-width="1"/>
<text x="CENTER_X" y="Y+14" fill="#fb923c" font-size="7" text-anchor="middle">Kafka / RabbitMQ</text>Spacing Rules
CRITICAL: When stacking components vertically, ensure proper spacing to avoid overlaps:
- Standard component height: 60px for services, 80-120px for larger components
- Minimum vertical gap between components: 40px
- Inline connectors (message buses): Place IN the gap between components, not overlapping
Example vertical layout:
Component A: y=70, height=60 → ends at y=130
Gap: y=130 to y=170 → 40px gap, place bus at y=140 (20px tall)
Component B: y=170, height=60 → ends at y=230Wrong: Placing a message bus at y=160 when Component B starts at y=170 (causes overlap) Right: Placing a message bus at y=140, centered in the 40px gap (y=130 to y=170)
Legend Placement
CRITICAL: Place legends OUTSIDE all boundary boxes (region boundaries, cluster boundaries, security groups).
- Calculate where all boundaries end (y position + height)
- Place legend at least 20px below the lowest boundary
- Expand SVG viewBox height if needed to accommodate
Example:
Kubernetes Cluster: y=30, height=460 → ends at y=490
Legend should start at: y=510 or below
SVG viewBox height: at least 560 to fit legendWrong: Legend at y=470 inside a cluster boundary that ends at y=490 Right: Legend at y=510, below the cluster boundary, with viewBox height extended
Layout Structure
- Header - Title with pulsing dot indicator, subtitle
- Main SVG diagram - Contained in rounded border card
- Summary cards - Grid of 3 cards below diagram with key details
- Footer - Minimal metadata line
Component Box Pattern
<rect x="X" y="Y" width="W" height="H" rx="6" fill="FILL_COLOR" stroke="STROKE_COLOR" stroke-width="1.5"/>
<text x="CENTER_X" y="Y+20" fill="white" font-size="11" font-weight="600" text-anchor="middle">LABEL</text>
<text x="CENTER_X" y="Y+36" fill="#94a3b8" font-size="9" text-anchor="middle">sublabel</text>Info Card Pattern
<div class="card">
<div class="card-header">
<div class="card-dot COLOR"></div>
<h3>Title</h3>
</div>
<ul>
<li>• Item one</li>
<li>• Item two</li>
</ul>
</div>Template
Copy and customize the template at assets/template.html. Key customization points:
- Update the
<title>and header text - Modify SVG viewBox dimensions if needed (default:
1000 x 680) - Add/remove/reposition component boxes
- Draw connection arrows between components
- Update the three summary cards
- Update footer metadata
Output
Always produce a single self-contained .html file with:
- Embedded CSS with system font fallbacks; no remote font requests
- Inline SVG (no external images)
- No JavaScript required (pure CSS animations)
The file should render correctly when opened directly in any modern browser.
Quality Gates
- Escape labels inserted into HTML/SVG attributes and text.
- No external fonts, scripts or images; output renders without a network.
- Inspect for clipped labels and overlapping connectors at the target size.
- Architecture facts trace to supplied documentation; unknown links are labeled.
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.

