
Architecture Diagrams
- 1.8k installs
- 305 repo stars
- Updated March 4, 2026
- aj-geddes/useful-ai-prompts
architecture-diagrams is an agent skill for >
About
The architecture-diagrams skill documents workflows and patterns from the repository SKILL md name architecture-diagrams description Create system architecture diagrams using Mermaid PlantUML C4 model flowcharts and sequence diagrams Use when documenting architecture system design data flows or technical workflows Architecture Diagrams Table of Contents Overview overview When to Use when-to-use Quick Start quick-start Reference Guides reference-guides Best Practices best-practices Overview Create clear maintainable architecture diagrams using code-based diagramming tools like Mermaid and PlantUML for system design data flows and technical documentation When to Use System architecture documentation C4 model diagrams Data flow diagrams Sequence diagrams Component relationships Deployment diagrams Infrastructure architecture Microservices architecture Database schemas visual Integration patterns Quick Start Minimal working example mermaid graph TB subgraph Client Layer Web Web App Mobile Mobile App CLI CLI Tool end subgraph API Gateway Layer Gateway API Gateway br Rate Limiting br Authentication end subgraph Service Layer Auth Auth Service User User Service Order Order Service Paymen.
- Architecture Diagrams
- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
Architecture Diagrams by the numbers
- 1,789 all-time installs (skills.sh)
- +26 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #209 of 1,039 Cloud & Infrastructure skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
architecture-diagrams capabilities & compatibility
- Capabilities
- architecture diagrams · [overview](#overview) · [when to use](#when to use) · [quick start](#quick start) · [reference guides](#reference guides)
- Use cases
- documentation
What architecture-diagrams says it does
--- name: architecture-diagrams description: > Create system architecture diagrams using Mermaid, PlantUML, C4 model, flowcharts, and sequence diagrams.
Use when documenting architecture, system design, data flows, or technical workflows.
npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill architecture-diagramsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1.8k |
|---|---|
| repo stars | ★ 305 |
| Security audit | 3 / 3 scanners passed |
| Last updated | March 4, 2026 |
| Repository | aj-geddes/useful-ai-prompts ↗ |
What problem does architecture-diagrams solve for developers using the documented workflows?
>
Who is it for?
Developers working with architecture-diagrams patterns described in the skill documentation.
Skip if: Skip when docs are empty or the task is outside the skill documented scope.
When should I use this skill?
>
What you get
Grounded guidance and workflows from SKILL.md for architecture-diagrams.
- Mermaid diagram blocks
- PlantUML source
- C4 view definitions
Files
Architecture Diagrams
Table of Contents
Overview
Create clear, maintainable architecture diagrams using code-based diagramming tools like Mermaid and PlantUML for system design, data flows, and technical documentation.
When to Use
- System architecture documentation
- C4 model diagrams
- Data flow diagrams
- Sequence diagrams
- Component relationships
- Deployment diagrams
- Infrastructure architecture
- Microservices architecture
- Database schemas (visual)
- Integration patterns
Quick Start
Minimal working example:
graph TB
subgraph "Client Layer"
Web[Web App]
Mobile[Mobile App]
CLI[CLI Tool]
end
subgraph "API Gateway Layer"
Gateway[API Gateway<br/>Rate Limiting<br/>Authentication]
end
subgraph "Service Layer"
Auth[Auth Service]
User[User Service]
Order[Order Service]
Payment[Payment Service]
Notification[Notification Service]
end
subgraph "Data Layer"
UserDB[(User DB<br/>PostgreSQL)]
OrderDB[(Order DB<br/>PostgreSQL)]
Cache[(Redis Cache)]
Queue[Message Queue<br/>RabbitMQ]
end
// ... (see reference guides for full implementation)Reference Guides
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| System Architecture Diagram | System Architecture Diagram |
| Sequence Diagram | Sequence Diagram |
| C4 Context Diagram | C4 Context Diagram |
| Component Diagram | Component Diagram |
| Deployment Diagram | Deployment Diagram |
| Data Flow Diagram | Data Flow Diagram |
| Class Diagram | Class Diagram |
| Component Diagram | Component Diagram |
| Deployment Diagram | Deployment Diagram |
Best Practices
✅ DO
- Use consistent notation and symbols
- Include legends for complex diagrams
- Keep diagrams focused on one aspect
- Use color coding meaningfully
- Include titles and descriptions
- Version control your diagrams
- Use text-based formats (Mermaid, PlantUML)
- Show data flow direction clearly
- Include deployment details
- Document diagram conventions
- Keep diagrams up-to-date with code
- Use subgraphs for logical grouping
❌ DON'T
- Overcrowd diagrams with details
- Use inconsistent styling
- Skip diagram legends
- Create binary image files only
- Forget to document relationships
- Mix abstraction levels in one diagram
- Use proprietary formats
C4 Context Diagram
C4 Context Diagram
graph TB
subgraph "E-Commerce System"
System[E-Commerce Platform<br/>Manages products, orders,<br/>and customer accounts]
end
Customer[Customer<br/>Browses and purchases products]
Admin[Administrator<br/>Manages products and orders]
Email[Email System<br/>SendGrid]
Payment[Payment Provider<br/>Stripe]
Analytics[Analytics Platform<br/>Google Analytics]
Customer -->|Browses, Orders| System
Admin -->|Manages| System
System -->|Sends emails| Email
System -->|Processes payments| Payment
System -->|Tracks events| Analytics
style System fill:#1168bd
style Customer fill:#08427b
style Admin fill:#08427b
style Email fill:#999
style Payment fill:#999
style Analytics fill:#999Class Diagram
Class Diagram
@startuml
class Order {
-id: UUID
-customerId: UUID
-items: OrderItem[]
-status: OrderStatus
-totalAmount: number
-createdAt: Date
+calculateTotal(): number
+addItem(item: OrderItem): void
+removeItem(itemId: UUID): void
+updateStatus(status: OrderStatus): void
}
class OrderItem {
-id: UUID
-productId: UUID
-quantity: number
-price: number
+getSubtotal(): number
}
class Customer {
-id: UUID
-name: string
-email: string
-orders: Order[]
+placeOrder(order: Order): void
+getOrderHistory(): Order[]
}
enum OrderStatus {
PENDING
PROCESSING
SHIPPED
DELIVERED
CANCELLED
}
Customer "1" -- "*" Order: places
Order "1" *-- "*" OrderItem: contains
Order -- OrderStatus: has
@endumlComponent Diagram
Component Diagram
@startuml
package "Frontend" {
[Web App]
[Mobile App]
}
package "API Gateway" {
[Load Balancer]
[API Gateway]
}
package "Microservices" {
[User Service]
[Product Service]
[Order Service]
[Payment Service]
}
package "Data Stores" {
database "PostgreSQL" {
[User DB]
[Product DB]
[Order DB]
}
database "Redis" {
[Cache]
[Session Store]
}
}
[Web App] --> [Load Balancer]
[Mobile App] --> [Load Balancer]
[Load Balancer] --> [API Gateway]
[API Gateway] --> [User Service]
[API Gateway] --> [Product Service]
[API Gateway] --> [Order Service]
[API Gateway] --> [Payment Service]
[User Service] --> [User DB]
[Product Service] --> [Product DB]
[Order Service] --> [Order DB]
[User Service] --> [Cache]
[Product Service] --> [Cache]
[API Gateway] --> [Session Store]
@endumlComponent Diagram
Component Diagram
graph LR
subgraph "Frontend"
UI[React UI]
Store[Redux Store]
Router[React Router]
end
subgraph "API Layer"
REST[REST API]
WS[WebSocket]
GQL[GraphQL]
end
subgraph "Business Logic"
ProductSvc[Product Service]
OrderSvc[Order Service]
AuthSvc[Auth Service]
end
subgraph "Data Access"
ProductRepo[Product Repository]
OrderRepo[Order Repository]
UserRepo[User Repository]
Cache[Cache Layer]
end
subgraph "Infrastructure"
DB[(PostgreSQL)]
Redis[(Redis)]
S3[AWS S3]
end
UI --> Store
Store --> Router
UI --> REST
UI --> WS
UI --> GQL
REST --> ProductSvc
REST --> OrderSvc
REST --> AuthSvc
WS --> OrderSvc
GQL --> ProductSvc
ProductSvc --> ProductRepo
OrderSvc --> OrderRepo
AuthSvc --> UserRepo
ProductRepo --> DB
OrderRepo --> DB
UserRepo --> DB
ProductRepo --> Cache
Cache --> Redis
ProductSvc --> S3Data Flow Diagram
Data Flow Diagram
graph LR
User[User Action] --> Frontend[Frontend App]
Frontend --> Validation{Validation}
Validation -->|Invalid| Error[Show Error]
Validation -->|Valid| API[API Request]
API --> Auth{Authenticated?}
Auth -->|No| Unauthorized[401 Response]
Auth -->|Yes| Service[Business Service]
Service --> Database[(Database)]
Service --> Cache[(Cache)]
Cache -->|Hit| Return[Return Cached]
Cache -->|Miss| Database
Database --> Transform[Transform Data]
Transform --> Response[API Response]
Response --> Frontend
Frontend --> Render[Render UI]Deployment Diagram
Deployment Diagram
@startuml
node "CDN (CloudFront)" {
[Static Assets]
}
node "Load Balancer" {
[ALB]
}
node "Application Servers" {
node "Server 1" {
[App Instance 1]
}
node "Server 2" {
[App Instance 2]
}
}
node "Database Cluster" {
database "Primary" {
[PostgreSQL Primary]
}
database "Replica" {
[PostgreSQL Replica]
}
}
node "Cache Cluster" {
[Redis Master]
[Redis Slave]
}
[Browser] --> [Static Assets]
[Browser] --> [ALB]
[ALB] --> [App Instance 1]
[ALB] --> [App Instance 2]
[App Instance 1] --> [PostgreSQL Primary]
[App Instance 2] --> [PostgreSQL Primary]
[PostgreSQL Primary] ..> [PostgreSQL Replica]: replication
[App Instance 1] --> [Redis Master]
[App Instance 2] --> [Redis Master]
[Redis Master] ..> [Redis Slave]: replication
@endumlDeployment Diagram
Deployment Diagram
graph TB
subgraph "AWS Cloud"
subgraph "VPC"
subgraph "Public Subnet"
ALB[Application<br/>Load Balancer]
NAT[NAT Gateway]
end
subgraph "Private Subnet 1"
ECS1[ECS Container<br/>Service Instance 1]
ECS2[ECS Container<br/>Service Instance 2]
end
subgraph "Private Subnet 2"
RDS1[(RDS Primary)]
RDS2[(RDS Replica)]
end
subgraph "Private Subnet 3"
ElastiCache[(ElastiCache<br/>Redis Cluster)]
end
end
Route53[Route 53<br/>DNS]
CloudFront[CloudFront CDN]
S3[S3 Bucket<br/>Static Assets]
ECR[ECR<br/>Container Registry]
end
Users[Users] --> Route53
Route53 --> CloudFront
CloudFront --> ALB
CloudFront --> S3
ALB --> ECS1
ALB --> ECS2
ECS1 --> RDS1
ECS2 --> RDS1
RDS1 --> RDS2
ECS1 --> ElastiCache
ECS2 --> ElastiCache
ECS1 --> S3
ECS2 --> S3
ECS1 -.pulls images.-> ECR
ECS2 -.pulls images.-> ECR
style ALB fill:#ff6b6b
style ECS1 fill:#4ecdc4
style ECS2 fill:#4ecdc4
style RDS1 fill:#95e1d3
style RDS2 fill:#95e1d3Sequence Diagram
Sequence Diagram
sequenceDiagram
actor User
participant Web as Web App
participant Gateway as API Gateway
participant Auth as Auth Service
participant Order as Order Service
participant Payment as Payment Service
participant DB as Database
participant Queue as Message Queue
participant Email as Email Service
User->>Web: Place Order
Web->>Gateway: POST /orders
Gateway->>Auth: Validate Token
Auth-->>Gateway: Token Valid
Gateway->>Order: Create Order
Order->>DB: Save Order
DB-->>Order: Order Saved
Order->>Payment: Process Payment
Payment->>Payment: Charge Card
Payment-->>Order: Payment Success
Order->>Queue: Publish Order Event
Queue->>Email: Send Confirmation
Email->>User: Order Confirmation
Order-->>Gateway: Order Created
Gateway-->>Web: 201 Created
Web-->>User: Order Success
Note over User,Email: Async email sent via queueSystem Architecture Diagram
System Architecture Diagram
graph TB
subgraph "Client Layer"
Web[Web App]
Mobile[Mobile App]
CLI[CLI Tool]
end
subgraph "API Gateway Layer"
Gateway[API Gateway<br/>Rate Limiting<br/>Authentication]
end
subgraph "Service Layer"
Auth[Auth Service]
User[User Service]
Order[Order Service]
Payment[Payment Service]
Notification[Notification Service]
end
subgraph "Data Layer"
UserDB[(User DB<br/>PostgreSQL)]
OrderDB[(Order DB<br/>PostgreSQL)]
Cache[(Redis Cache)]
Queue[Message Queue<br/>RabbitMQ]
end
subgraph "External Services"
Stripe[Stripe API]
SendGrid[SendGrid]
S3[AWS S3]
end
Web --> Gateway
Mobile --> Gateway
CLI --> Gateway
Gateway --> Auth
Gateway --> User
Gateway --> Order
Gateway --> Payment
Auth --> UserDB
User --> UserDB
User --> Cache
Order --> OrderDB
Order --> Queue
Payment --> Stripe
Queue --> Notification
Notification --> SendGrid
Order --> S3
User --> S3
style Gateway fill:#ff6b6b
style Auth fill:#4ecdc4
style User fill:#4ecdc4
style Order fill:#4ecdc4
style Payment fill:#4ecdc4
style Notification fill:#4ecdc4#!/bin/bash
# validate-schema.sh - Validate database schema
# Usage: ./validate-schema.sh <schema_file>
set -euo pipefail
SCHEMA_FILE="${{1:?Usage: $0 <schema_file>}}"
echo "Validating schema: $SCHEMA_FILE"
# TODO: Add schema validation
# - Check SQL syntax
# - Verify foreign key references
# - Check index definitions
# - Validate naming conventions
# - Check for missing constraints
echo "Schema validation complete."
-- Migration: [description]
-- Created: [date]
-- TODO: Customize for your migration framework
BEGIN;
-- Up migration
-- TODO: Add schema changes
-- CREATE TABLE IF NOT EXISTS ...
-- ALTER TABLE ...
-- Down migration (rollback)
-- TODO: Add rollback statements
-- DROP TABLE IF EXISTS ...
COMMIT;
Related skills
How it compares
Choose architecture-diagrams when you need multi-format, code-based design docs; use a single-format linter or renderer skill when only one diagram syntax is required.
FAQ
Who is Architecture Diagrams for?
Developers and software engineers working with architecture-diagrams patterns from the skill documentation.
When should I use Architecture Diagrams?
>
Is Architecture Diagrams safe to install?
Review the Security Audits panel on this page before installing in production.