Diagram a system or technical architecture — services, data stores, and how they connect. Use when asked to draw an architecture, show how components fit together, map a system/data flow, or visualize services and dependencies. Produces a ready-to-render Mermaid diagram with grouped subgraphs (renders live, exportable as PNG/SVG) plus a component legend and notes.
Installs into .claude/skills of the current project.
Are you the author of Architecture Diagram?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/mohitagw15856-architecture-diagram)
---
name: architecture-diagram
description: "Diagram a system or technical architecture — services, data stores, and how they connect. Use when asked to draw an architecture, show how components fit together, map a system/data flow, or visualize services and dependencies. Produces a ready-to-render Mermaid diagram with grouped subgraphs (renders live, exportable as PNG/SVG) plus a component legend and notes."
homepage: https://mohitagw15856.github.io/pm-claude-skills/skill/architecture-diagram.html
metadata:
{
"openclaw": { "emoji": "🖼" }
}
---
# Architecture Diagram Skill
"How does the system fit together?" is best answered with a picture. This skill turns a described system
into a clean **Mermaid architecture diagram** — clients, services, data stores, and third parties, grouped
into logical layers with labelled connections (sync vs async, protocols) — not an undifferentiated blob of
boxes.
## Required Inputs
Ask for these only if they aren't already provided:
- **The components** — services, apps, databases, queues, external APIs.
- **How they connect** — who calls whom; sync (HTTP/gRPC) vs async (queue/event); data flow direction.
- **Logical groupings** — frontend / backend / data / third-party, or by team/domain.
- **Focus** — the whole system or one slice (e.g. just the checkout path).
## Output Format
### [System name] — architecture
One line on what the diagram covers and its boundary.
```mermaid
flowchart LR
subgraph Client
Web[Web app]
Mobile[Mobile app]
end
subgraph Backend
API[API gateway]
Svc[Order service]
end
subgraph Data
DB[(Postgres)]
Cache[(Redis)]
end
Web --> API
Mobile --> API
API --> Svc
Svc --> DB
Svc -.async.-> Queue[[Event bus]]
Svc --> Cache
```
**Component legend** — one line per non-obvious component (what it is, why it's there).
**Notes** — trust boundaries, single points of failure, sync vs async (`-.->` = async), anything to revisit.
## Mermaid Rules (so it renders)
- Use `flowchart LR` (or `TD`) with `subgraph Name ... end` for logical layers.
- Databases/stores read well as `[(name)]`; queues/buses as `[[name]]`.
- Solid arrows `-->` for synchronous calls, dotted `-.label.->` for async/events.
- Short node labels; keep IDs unique and simple. No parentheses/quotes inside labels.
## Quality Checks
- [ ] Components are grouped into meaningful layers (subgraphs), not one flat pile
- [ ] Connection direction reflects who calls whom; async vs sync is distinguished
- [ ] Data stores and external/third-party systems are visually distinct from services
- [ ] The legend explains anything non-obvious; trust boundaries / SPOFs are noted
- [ ] The Mermaid block renders without edits
## Anti-Patterns
- [ ] Do not draw every box the same with undifferentiated arrows — show layers and connection types
- [ ] Do not omit data stores or external dependencies — they're usually where the risk lives
- [ ] Do not blur sync and async — they have very different failure modes
- [ ] Do not cram the entire system when the ask is one slice — match the requested focus
- [ ] Do not break Mermaid with special characters in labels
## Based On
Architecture diagramming (C4-style grouping, logical layers, sync/async edges), expressed as renderable Mermaid.