xiaohongshu
xiaohongshu
architecture-diagram
Generate architecture diagrams in Mermaid, PlantUML, or diagrams.net formats
Full skill instructions
I'll analyze your codebase and generate visual architecture diagrams showing component relationships, data flow, and system structure.
Arguments: $ARGUMENTS - diagram type or format (e.g., "mermaid", "plantuml", "component", "data-flow")
Project Structure Analysis
Diagram Type Selection
Format Decision
Detail Level
MANDATORY FIRST STEPS:
Let me analyze your project architecture:
# Analyze project structure
echo "=== Architecture Analysis ==="
# Detect project type
if [ -d "src/components" ] || [ -d "components" ]; then
echo "Frontend components detected"
fi
if [ -d "src/api" ] || [ -d "api" ] || [ -d "routes" ]; then
echo "API/Backend layer detected"
fi
if [ -d "src/models" ] || [ -d "models" ]; then
echo "Data models detected"
fi
if [ -d "src/services" ] || [ -d "services" ]; then
echo "Service layer detected"
fi
# Count major components
echo ""
echo "Component counts:"
find src -type f -name "*.js" -o -name "*.ts" -o -name "*.jsx" -o -name "*.tsx" 2>/dev/null | wc -l | xargs echo "Files:"
find src -type d -maxdepth 2 2>/dev/null | wc -l | xargs echo "Directories:"
# Identify framework
if grep -q "\"next\"" package.json 2>/dev/null; then
echo "Framework: Next.js"
elif grep -q "\"react\"" package.json 2>/dev/null; then
echo "Framework: React"
elif grep -q "\"vue\"" package.json 2>/dev/null; then
echo "Framework: Vue"
elif grep -q "\"express\"" package.json 2>/dev/null; then
echo "Framework: Express (Node.js)"
fi
I'll map relationships between components:
Analysis Methods:
Using Native Tools:
I'll analyze:
Based on analysis, I'll generate appropriate diagrams:
Component Diagram:
graph TB
subgraph Frontend
UI[User Interface]
Components[React Components]
Store[State Management]
end
subgraph Backend
API[API Layer]
Services[Business Services]
Models[Data Models]
end
subgraph Infrastructure
DB[(Database)]
Cache[(Redis Cache)]
Queue[Message Queue]
end
UI --> Components
Components --> Store
Components --> API
API --> Services
Services --> Models
Models --> DB
Services --> Cache
Services --> Queue
Data Flow Diagram:
flowchart LR
User((User)) --> UI[User Interface]
UI --> Auth{Authentication}
Auth -->|Valid| API[API Gateway]
Auth -->|Invalid| Login[Login Page]
API --> Service[Business Logic]
Service --> DB[(Database)]
DB --> Service
Service --> API
API --> UI
UI --> User
Sequence Diagram:
sequenceDiagram
participant User
participant Frontend
participant API
participant Service
participant DB
User->>Frontend: Click Action
Frontend->>API: HTTP Request
API->>Service: Process Request
Service->>DB: Query Data
DB-->>Service: Return Results
Service-->>API: Format Response
API-->>Frontend: JSON Response
Frontend-->>User: Update UI
System Architecture:
graph TB
subgraph Client Layer
Web[Web App]
Mobile[Mobile App]
end
subgraph API Gateway
Gateway[API Gateway]
Auth[Auth Service]
end
subgraph Services
UserService[User Service]
ProductService[Product Service]
OrderService[Order Service]
end
subgraph Data Layer
PostgreSQL[(PostgreSQL)]
Redis[(Redis)]
S3[S3 Storage]
end
Web --> Gateway
Mobile --> Gateway
Gateway --> Auth
Auth --> Gateway
Gateway --> UserService
Gateway --> ProductService
Gateway --> OrderService
UserService --> PostgreSQL
ProductService --> PostgreSQL
OrderService --> PostgreSQL
ProductService --> Redis
OrderService --> S3
Class Diagram:
@startuml
class User {
+id: string
+email: string
+name: string
+authenticate()
+updateProfile()
}
class Product {
+id: string
+name: string
+price: number
+getDetails()
}
class Order {
+id: string
+userId: string
+items: Product[]
+total: number
+createOrder()
+processPayment()
}
User "1" -- "*" Order
Order "*" -- "*" Product
@enduml
Component Diagram:
@startuml
package "Frontend" {
[React Components]
[Redux Store]
[API Client]
}
package "Backend" {
[Express Server]
[Auth Middleware]
[Business Logic]
}
package "Data" {
database "PostgreSQL"
database "Redis"
}
[React Components] --> [Redux Store]
[React Components] --> [API Client]
[API Client] --> [Express Server]
[Express Server] --> [Auth Middleware]
[Auth Middleware] --> [Business Logic]
[Business Logic] --> PostgreSQL
[Business Logic] --> Redis
@enduml
Infrastructure Visualization:
graph TB
subgraph Cloud Provider
subgraph Frontend
CDN[CDN / CloudFront]
Static[Static Hosting]
end
subgraph Application
LB[Load Balancer]
App1[App Server 1]
App2[App Server 2]
App3[App Server 3]
end
subgraph Data
Primary[(Primary DB)]
Replica[(Read Replica)]
Cache[(Redis Cluster)]
end
subgraph Queue
MQ[Message Queue]
Worker1[Worker 1]
Worker2[Worker 2]
end
end
Users((Users)) --> CDN
CDN --> Static
Users --> LB
LB --> App1
LB --> App2
LB --> App3
App1 --> Primary
App2 --> Primary
App3 --> Primary
App1 --> Replica
App2 --> Replica
App3 --> Replica
App1 --> Cache
App2 --> Cache
App3 --> Cache
App1 --> MQ
MQ --> Worker1
MQ --> Worker2
Worker1 --> Primary
Worker2 --> Primary
I'll create diagram files in your project:
File Creation:
docs/architecture/components.mmd - Component diagramdocs/architecture/data-flow.mmd - Data flow diagramdocs/architecture/deployment.mmd - Deployment diagramdocs/architecture/sequence.mmd - Sequence diagramsdocs/architecture/README.md - Documentation with rendered diagramsMarkdown Integration:
# System Architecture
## Component Diagram
```mermaid
[diagram content]
[diagram content]
This automatically renders on GitHub, GitLab, and many documentation platforms.
## Token Optimization
**Optimization Status:** ✅ Fully Optimized (Phase 2 Batch 4B, 2026-01-27)
**Token Efficiency Targets:**
- **Baseline:** 4,000-6,000 tokens (unoptimized full analysis)
- **Optimized:** 1,200-2,000 tokens (cached + targeted)
- **Reduction:** 60-75% token savings
- **Strategy:** Cached architecture analysis, Grep-based discovery, template diagrams
### Core Optimization Strategies
**1. Cached Architecture Analysis (70% savings)**
Share analysis results with `/understand` skill cache:
```bash
# Check for existing architecture analysis
CACHE_DIR=".claude/cache/architecture"
ARCH_CACHE="$CACHE_DIR/architecture_map.json"
if [ -f "$ARCH_CACHE" ] && [ $(find "$ARCH_CACHE" -mmin -60 2>/dev/null | wc -l) -gt 0 ]; then
echo "Using cached architecture analysis (valid for 1 hour)"
# Read cached component relationships
# Skip full codebase scanning
else
# Perform fresh analysis and update cache
mkdir -p "$CACHE_DIR"
# Analysis results...
fi
Cache Structure:
architecture_map.json: Component relationships from /understanddiagram_cache.json: Previously generated diagramscomponent_graph.json: Service dependency graphIntegration with /understand:
The /understand skill creates comprehensive architecture analysis. This skill reuses that cache to avoid duplicate analysis, saving 70% tokens on repeat invocations.
2. Grep-Based Component Discovery (80% savings)
Use targeted Grep instead of reading all files:
# Find components without reading files
echo "Discovering architecture components..."
# Find API routes/endpoints
grep -r "Router\|router\|@Route\|@api_route" --include="*.ts" --include="*.js" src/ | head -20
# Find services/business logic
grep -r "class.*Service\|export.*Service" --include="*.ts" --include="*.js" src/ | head -20
# Find database models
grep -r "Schema\|model\|@Entity\|Table" --include="*.ts" --include="*.js" src/ | head -20
# Find external API integrations
grep -r "fetch\|axios\|http.get\|http.post" --include="*.ts" --include="*.js" src/ | head -15
# Component structure emerges from patterns, not full file reads
Benefits:
3. Template-Based Diagrams (65% savings)
Use pre-built templates for common architectures:
// Template detection
const templates = {
'react-express': 'Frontend (React) -> API (Express) -> DB',
'nextjs': 'Next.js (SSR + API Routes) -> DB',
'microservices': 'Gateway -> Services -> Message Queue -> DB',
'serverless': 'API Gateway -> Lambda Functions -> DynamoDB',
'monolith': 'Web Server -> Business Logic -> Database'
};
// Auto-select template based on package.json and structure
// Customize template with project-specific components
// Generate 65% faster with pre-structured diagrams
Template Categories:
4. Progressive Detail Levels (60% savings)
Start with high-level overview, add details only if requested:
Level 1: High-Level Overview (500-800 tokens)
graph TB
Frontend[Frontend Layer]
Backend[Backend Layer]
Data[Data Layer]
Frontend --> Backend
Backend --> Data
Level 2: Component Detail (1,000-1,500 tokens)
Level 3: Detailed Architecture (2,000-3,000 tokens)
Default: Start with Level 1, ask if more detail needed.
5. Mermaid Focus (50% savings)
Default to simple Mermaid syntax (fewer tokens than PlantUML):
Mermaid Advantages:
graph TB vs PlantUML's @startuml/@endumlToken Comparison:
Use PlantUML only when:
Cache Directory Structure:
.claude/cache/architecture/
├── architecture_map.json # Component relationships (shared with /understand)
├── diagram_cache.json # Previously generated diagrams
├── component_graph.json # Service dependency graph
├── templates/ # Diagram templates by architecture pattern
│ ├── react-express.mmd
│ ├── nextjs.mmd
│ ├── microservices.mmd
│ └── serverless.mmd
└── metadata.json # Cache timestamps and validity
Cache Invalidation:
Shared Cache Benefits:
/understand populates architecture_map.json/architecture-diagram reuses that analysisFirst Invocation (No Cache):
Subsequent Invocations (With Cache):
Best Case (Template Match):
Shares cache with:
/understand - Architecture analysis and component mapping/docs - Documentation generation with diagrams/api-docs-generate - API-specific architecture views/db-diagram - Database schema integrationWorkflow optimization:
# Optimal sequence for new projects
/understand # Populates architecture cache
/architecture-diagram # Reuses cache (70% token savings)
/db-diagram # Reuses data model cache
/docs # Embeds generated diagrams
Token Reduction by Strategy:
| Strategy | Savings | Use Case |
|---|---|---|
| Cached Analysis | 70% | Repeat invocations within 1 hour |
| Grep Discovery | 80% | Component identification |
| Template Diagrams | 65% | Common architecture patterns |
| Progressive Detail | 60% | High-level overview first |
| Mermaid Focus | 50% | Simple syntax vs PlantUML |
Real-World Examples:
Small Project (React + Express):
Medium Project (Next.js + PostgreSQL):
Large Project (Microservices):
Average reduction: 70% (exceeds 60-75% target)
Optimization does not compromise:
Quality checks:
Cache safety:
Optimization control flags:
# Use cached analysis (default)
/architecture-diagram
# Force fresh analysis (bypass cache)
/architecture-diagram --no-cache
# Generate detailed diagram (skip progressive levels)
/architecture-diagram --detailed
# Specify diagram type and format
/architecture-diagram mermaid component
# Use template for specific architecture
/architecture-diagram --template react-express
# Clear architecture cache
/architecture-diagram --clear-cache
Recommended token budgets by complexity:
Simple Projects (< 50 files):
Medium Projects (50-200 files):
Large Projects (200+ files):
Target: Stay under 2,000 tokens for 80% of invocations
Track optimization effectiveness:
{
"skill": "architecture-diagram",
"invocation_id": "uuid",
"cache_hit": true,
"tokens_used": 1350,
"tokens_saved": 3850,
"reduction_pct": 74,
"strategies_applied": [
"cached_architecture",
"grep_discovery",
"mermaid_focus"
],
"diagram_type": "component",
"project_size": "medium"
}
Success Criteria:
Synergistic Skills:
/understand - Deep project architecture analysis/docs - Documentation generation and management/api-docs-generate - API-specific documentation/db-diagram - Database schema visualizationSuggests /understand when:
Suggests /db-diagram when:
Mermaid (Recommended):
PlantUML:
Diagrams.net (Draw.io):
ASCII Art:
Component Diagram:
Data Flow Diagram:
Sequence Diagram:
Deployment Diagram:
Database Diagram:
I'll automatically detect and diagram:
Frontend Architecture:
Backend Architecture:
Microservices:
Database:
Protection Measures:
docs/architecture/ directoryValidation Steps:
Documentation Files:
Diagram Formats:
.mmd files).puml files)New Developer Onboarding:
Technical Documentation:
Code Review:
System Planning:
If diagram generation encounters issues:
I will NEVER:
Best Practices:
Inspired by:
This skill helps you create clear, maintainable architecture documentation that stays synchronized with your codebase.
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience