Architecture diagramming
Use when the user asks for an architecture diagram, says 'show me the system architecture' or 'diagram the components', or during project planning - generates GitHub-compatible Mermaid flowcharts showing components, layers, subgraph boundaries, and data flowsFrom its SKILL.md
npx -y skills add britt/agent-skills --skill architecture-diagrammingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.0 KB, as published. Nobody here has run it
Architecture Diagramming Skill
Generate clear, GitHub-compatible Mermaid architecture diagrams that visualize system components, layers, boundaries, and data flows.
When to Use
Activate this skill when:
- User asks for an architecture diagram
- User says "show me the system architecture", "diagram the components"
- During project planning to visualize the system design
- When explaining how components interact
When NOT to use: not for issue/task dependencies (use dependency-mapping) or API call sequences and process flows (use mermaid-diagrams sequence diagrams).
CRITICAL: Mermaid Syntax Rules
NEVER use parentheses inside labels
Parentheses in Mermaid labels cause rendering errors on GitHub.
WRONG - Will break:
flowchart TD
A[Component (main)]
B[Service (auth)]
CORRECT - Use dashes or commas:
flowchart TD
A[Component - main]
B[Service - auth]
ALWAYS ensure matching brackets
Each node shape uses specific brackets that must match:
[Rectangle]- Standard component{Diamond}- Decision point([Stadium])- Pill shape[(Database)]- Cylinder for data stores((Circle))- Circle node
WRONG:
flowchart TD
A{Decision]
CORRECT:
flowchart TD
A{Decision}
For other syntax rules, see the mermaid-diagrams skill.
Diagram Patterns
System Overview
Show major components and their relationships:
flowchart TB
subgraph Client Layer
Web[Web App]
Mobile[Mobile App]
end
subgraph API Layer
Gateway[API Gateway]
Auth[Auth Service]
end
subgraph Data Layer
DB[(Database)]
Cache[(Redis Cache)]
end
Web --> Gateway
Mobile --> Gateway
Gateway --> Auth
Gateway --> DB
Auth --> Cache
Layered Architecture
Show horizontal layers with clear boundaries:
flowchart TB
subgraph Presentation
UI[User Interface]
API[REST API]
end
subgraph Business
Services[Business Services]
Rules[Business Rules]
end
subgraph Data
Repos[Repositories]
Entities[Domain Entities]
end
UI --> Services
API --> Services
Services --> Rules
Services --> Repos
Repos --> Entities
Request Flow
Show how a request flows through the system:
flowchart LR
Client[Client] --> LB[Load Balancer]
LB --> API1[API Server 1]
LB --> API2[API Server 2]
API1 --> Queue[(Message Queue)]
API2 --> Queue
Queue --> Worker[Background Worker]
Worker --> DB[(Database)]
Architecture Analysis Process
Step 1: Identify Components
- What are the major modules or services?
- What external systems are involved?
- What data stores are used?
Step 2: Determine Layers
Common layers to consider:
- Presentation: UI, API endpoints
- Business: Core logic, workflows
- Data: Repositories, entities
- Infrastructure: External services, queues
Step 3: Map Relationships
- Request/response flows
- Data dependencies
- Event/message flows
- Shared resources
Step 4: Apply Boundaries
Use subgraphs to show:
- Team ownership
- Deployment units
- Security boundaries
- Scalability zones
Step 5: Generate Diagram
Create a clean Mermaid diagram that:
- Fits on one screen when possible
- Uses consistent naming
- Shows data flow direction
- Groups related components
Node Naming Conventions
Use clear, abbreviated names:
APInotApplicationProgrammingInterfaceAuthnotAuthenticationServiceDBor use[(Name)]for databasesQueueorMQfor message queues
Arrow Semantics
| Arrow | Meaning |
|---|---|
--> | Standard request/response |
-.-> | Async or optional |
==> | Critical path |
--text--> | Labeled relationship |
Subgraph Styling
flowchart TB
subgraph External[External Systems]
PaymentAPI[Payment Gateway]
EmailAPI[Email Service]
end
subgraph Internal[Internal Services]
App[Application]
end
App --> PaymentAPI
App --> EmailAPI
Best Practices
- Keep it simple - 5-15 components max per diagram
- Use subgraphs - Group related components
- Show data flow - Arrows indicate direction
- Label relationships - When meaning isn't obvious
- Avoid clutter - Break complex systems into multiple diagrams
- Be consistent - Same naming conventions throughout
After Generating Diagram
- Offer to save the diagram to an appropriate location in the project
- Suggest adding to a planning or design document
- Ask if user wants more detail in any area
- Recommend
dependency-mappingfor issue visualization