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".
npx skills add https://github.com/proyecto26/system-design-skills --skill 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.
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.
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.
the directed connections (with protocol/label), and any region/boundary
groupings. The system-design design-doc already produces this.
assets/template.html to a working file. It carries thedark theme, grid background, fonts, the export toolbar, and the summary-card
layout — keep those intact.
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).
async/replication/fallback; dashed boundaries for regions and security groups.
design doc), update the title/footer.
open <file>.html to view; the toolbar exports PNG/PDF.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.
.html file: inline CSS, inline SVG, no external images.they power Copy/PNG/PDF export and nothing else. The diagram renders fully
without them; they're only needed for export.
<foreignObject> (renders inconsistently in html2canvas) — use plain<rect>/<text>.
deep-dive rather than cramming everything into one picture.
Do:
Don't:
<foreignObject> (html2canvas renders it inconsistently) — use plain <rect>/<text>.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.
system-design — *invoked by* the orchestrator at the "draw it" steps; its diagramming notes feed what to draw at each step.architecture-diagram". This skill *renders for* all of them; it owns diagram generation and they point here rather than ship their own.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/template.html — the self-contained dark-theme HTML+SVG starting point with the export toolbar. Copy and customize it.Low-level plotting library for full customization. Use when you need fine-grained control over every plot element, creating novel plot types, or integrating with specific scientific workflows. Export to PNG/PDF/SVG for publication. For quick statistical plots use seaborn; for interactive plots use plotly; for publication-ready multi-panel figures with journal styling, use scientific-visualization.
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to build a presentation, convert a PPT/PPTX to web, or create slides for a talk/pitch. Helps non-designers discover their aesthetic through visual exploration rather than abstract choices.
> This skill orchestrates autonomous discovery of brand materials across enterprise platforms (Notion, Confluence, Google Drive, Box, SharePoint, Figma, Gong, Granola, Slack). It should be used when the user asks to "discover brand materials", "find brand documents", "search for brand guidelines", "audit brand content", "what brand materials do we have", "find our style guide", "where are our brand docs", "do we have a style guide", "discover brand voice", "brand content audit", or "find brand assets".
Low-level Python plotting for scientific figures: publication-quality line, scatter, bar, heatmap, contour, 3D; multi-panel layouts; fine control of every element. PNG/PDF/SVG export. Use seaborn for quick stats, plotly for interactive.
Formats plain text or markdown files with frontmatter, titles, summaries, headings, bold, lists, and code blocks. Use when user asks to "format markdown", "beautify article", "add formatting", or improve article layout. Outputs to {filename}-formatted.md.
Enterprise-grade PowerPoint deck generation system using evidence-based prompting techniques, workflow enforcement, and constraint-based design. Use when creating professional presentations (board decks, reports, analyses) requiring consistent visual quality, accessibility compliance, and integration of complex data from multiple sources. Implements html2pptx workflow with spatial layout optimization, validation gates, and multi-chat architecture for 30+ slide decks.
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to build a presentation, convert a PPT/PPTX to web, or create slides for a talk/pitch. Helps non-designers discover their aesthetic through visual exploration rather than abstract choices.
Audit a python-pptx export against its source HTML deck, identify layout/content drift (footer overflow, cropped content, missing italic/em, lost styling, off-rhythm spacing), and re-export with strict footer-rail + cursor-flow layout discipline. Use this skill whenever the user has a .pptx that was generated from an HTML slide deck and asks to compare/audit/verify/fix the export — including phrases like "compare ppt with html", "fidelity audit", "fix the pptx", "ppt is cut off", "footer overlap", "italic missing in pptx", "re-export the deck", "pptx-html-fidelity-audit", or any case where a python-pptx → HTML round-trip needs verification or repair. Also trigger when the user shows you a deck.html and a deck.pptx side by side and is debugging visual differences.
Take proyecto26/architecture-diagram from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.