api-design
This skill should be used when the user needs to "design the API", do "endpoint design", pin down a "request/response shape", choose a "pagination" strategy…
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
$ npx -y skills add proyecto26/system-design-skills --skill architecture-diagram --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/architecture-diagramContext preview
The summary Claude sees to decide when to auto-load this skill.
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
name: architecture-diagram description: 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".
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.
1. **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-design` design-doc already produces this. 2. **Copy the template** `assets/template.html` to a working file. It carries the dark theme, grid background, fonts, the export toolbar, and the summary-card layout — keep those intact. 3. **Map each component to a semantic type** (color) using the table below. 4. **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). 5. **Label the flow** — number arrows to show request order; use dashed arrows for async/replication/fallback; dashed boundaries for regions and security groups. 6. **Fill the summary cards** with the key decisions/trade-offs (ties to the design doc), update the title/footer. 7. **Open it**: `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`.
they power Copy/PNG/PDF export and nothing else. The diagram renders fully without them; they're only needed for export.
`<rect>`/`<text>`.
deep-dive rather than cramming everything into one picture.
**Do:**
**Don't:**
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 sepa
Design scalable systems the way strong engineers actually do — by reasoning, not by memorizing diagrams.
Repo: proyecto26/system-design-skills
This skill should be used when the user needs to "design the API", do "endpoint design", pin down a "request/response shape", choose a "pagination" strategy…
This skill should be used when the user needs to "estimate QPS", "back-of-the-envelope" (BOTEC) numbers, "how much storage / bandwidth", "how many servers",…
This skill should be used when the user wants a "blob store" or "object storage", names "S3" or an S3-compatible store, needs to "store images / video /…
This skill should be used when the user asks about a "caching strategy", "cache invalidation", "what to cache", "read-through vs write-through vs write-back",…
This skill should be used when the user asks about the "CAP theorem", "PACELC", a "consistency model", "eventual vs strong consistency", "read-your-writes",…
This skill should be used when the user asks about a "CDN", "edge caching", "static asset delivery", "media / video delivery", "geo distribution of content" or…