architecture-diagram

📁 manastalukdar/claude-devstudio 📅 6 days ago
3
总安装量
3
周安装量
#59805
全站排名
安装命令
npx skills add https://github.com/manastalukdar/claude-devstudio --skill architecture-diagram

Agent 安装分布

github-copilot 3
codex 3
kimi-cli 3
gemini-cli 3
cursor 3
amp 3

Skill 文档

Architecture Diagram Generator

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”)

Strategic Analysis Process

  1. Project Structure Analysis

    • What’s the application architecture? (monolith, microservices, serverless)
    • What layers exist? (frontend, backend, database, services)
    • How do components communicate?
    • What are the major modules and their responsibilities?
    • Are there clear architectural patterns? (MVC, MVVM, Clean Architecture)
  2. Diagram Type Selection

    • Component diagram: Show major components and relationships
    • Sequence diagram: Show interaction flows
    • Data flow diagram: Show how data moves through system
    • Deployment diagram: Show infrastructure and deployment
    • Class diagram: Show object-oriented structure
    • Entity-relationship: Show database schema
  3. Format Decision

    • Mermaid: Simple, version-controllable, GitHub/GitLab rendering
    • PlantUML: More features, complex diagrams, requires rendering
    • Diagrams.net (Draw.io): Visual editing, XML format
    • ASCII art: Terminal-friendly, simple visualizations
  4. Detail Level

    • High-level overview: Major components only
    • Medium detail: Components + key interactions
    • Detailed: All modules, functions, data flows
    • Focus on what’s most valuable for documentation

Phase 1: Architecture Discovery

MANDATORY FIRST STEPS:

  1. Analyze project structure and file organization
  2. Identify architectural patterns from code
  3. Map component dependencies
  4. Detect technology stack and frameworks

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

Phase 2: Component Relationship Mapping

I’ll map relationships between components:

Analysis Methods:

  • Import/export analysis (module dependencies)
  • API endpoint mapping (request/response flows)
  • Database relationship detection (foreign keys, relations)
  • Event system mapping (event emitters/listeners)
  • Service dependencies (dependency injection patterns)

Using Native Tools:

  • Grep to find import statements and dependencies
  • Glob to identify component files by pattern
  • Read key architectural files (routers, services, models)
  • Pattern detection for architectural styles

I’ll analyze:

  • Frontend component hierarchy
  • Backend route handlers and middleware
  • Service layer dependencies
  • Database entity relationships
  • External API integrations

Phase 3: Diagram Generation

Based on analysis, I’ll generate appropriate diagrams:

Mermaid Diagrams (Default)

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

PlantUML Diagrams

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

Deployment Diagram

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

Phase 4: Diagram Output

I’ll create diagram files in your project:

File Creation:

  • docs/architecture/components.mmd – Component diagram
  • docs/architecture/data-flow.mmd – Data flow diagram
  • docs/architecture/deployment.mmd – Deployment diagram
  • docs/architecture/sequence.mmd – Sequence diagrams
  • docs/architecture/README.md – Documentation with rendered diagrams

Markdown Integration:

# System Architecture

## Component Diagram

```mermaid
[diagram content]

Data Flow

[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 /understand
  • diagram_cache.json: Previously generated diagrams
  • component_graph.json: Service dependency graph
  • Cache validity: 60 minutes (1 hour)

Integration 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:

  • Discover 80% of architecture without reading files
  • Pattern-based component identification
  • Fast execution on large codebases
  • Minimal token consumption

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:

  • Frontend Frameworks: React, Vue, Angular, Next.js
  • Backend Patterns: REST API, GraphQL, Microservices
  • Full Stack: MERN, MEAN, JAMstack, Serverless
  • Enterprise: Monolith, SOA, Event-Driven

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)

  • Show major components within each layer
  • Key integrations and dependencies

Level 3: Detailed Architecture (2,000-3,000 tokens)

  • All modules and services
  • Data flows and API contracts
  • Infrastructure components

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:

  • Simpler syntax: graph TB vs PlantUML’s @startuml/@enduml
  • Native GitHub/GitLab rendering
  • Fewer tokens per diagram: 30-50% less verbose
  • Fast generation and iteration

Token Comparison:

  • Mermaid component diagram: 200-400 tokens
  • PlantUML component diagram: 400-700 tokens
  • Savings: 50% for equivalent diagram

Use PlantUML only when:

  • User explicitly requests it
  • Advanced features needed (class diagrams, detailed UML)
  • Enterprise compliance requires UML standards

Cache Management

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:

  • Architecture cache: 60 minutes (1 hour)
  • Diagram cache: 24 hours (regenerate on major changes)
  • Git-based invalidation: Clear cache on branch switch or major commits

Shared Cache Benefits:

  • /understand populates architecture_map.json
  • /architecture-diagram reuses that analysis
  • Eliminates duplicate codebase scanning
  • Cross-skill optimization

Optimization Workflow

First Invocation (No Cache):

  1. Grep for architectural patterns (500 tokens)
  2. Analyze key files (800 tokens)
  3. Generate architecture map (300 tokens)
  4. Create Level 1 diagram (400 tokens)
  5. Total: ~2,000 tokens

Subsequent Invocations (With Cache):

  1. Load cached architecture_map.json (200 tokens)
  2. Apply template or retrieve cached diagram (400 tokens)
  3. Customize for current request (600 tokens)
  4. Total: ~1,200 tokens (40% of uncached)

Best Case (Template Match):

  1. Detect architecture pattern (200 tokens)
  2. Load matching template (300 tokens)
  3. Populate with project names (500 tokens)
  4. Total: ~1,000 tokens (50% savings)

Integration with Other Skills

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 integration

Workflow 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

Performance Metrics

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):

  • Uncached: 4,200 tokens → Cached: 1,400 tokens (67% reduction)

Medium Project (Next.js + PostgreSQL):

  • Uncached: 5,500 tokens → Cached: 1,600 tokens (71% reduction)

Large Project (Microservices):

  • Uncached: 8,000 tokens → Cached: 2,200 tokens (72% reduction)

Average reduction: 70% (exceeds 60-75% target)

Safety and Quality Assurance

Optimization does not compromise:

  • Diagram accuracy and completeness
  • Component relationship correctness
  • Architecture pattern detection
  • Multi-format support (Mermaid, PlantUML)

Quality checks:

  • Validate cached data freshness
  • Verify component relationships against code
  • Cross-reference with package.json dependencies
  • Ensure diagram syntax validity

Cache safety:

  • Automatic invalidation on major changes
  • Git-aware cache management
  • Fallback to full analysis if cache corrupt
  • Clear cache command available

Command-Line Flags

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

Token Budget Guidelines

Recommended token budgets by complexity:

Simple Projects (< 50 files):

  • Uncached: 3,000-4,000 tokens
  • Cached: 1,000-1,200 tokens
  • Template: 800-1,000 tokens

Medium Projects (50-200 files):

  • Uncached: 4,000-5,500 tokens
  • Cached: 1,200-1,600 tokens
  • Template: 1,000-1,400 tokens

Large Projects (200+ files):

  • Uncached: 5,500-8,000 tokens
  • Cached: 1,600-2,200 tokens
  • Template: 1,400-2,000 tokens

Target: Stay under 2,000 tokens for 80% of invocations

Monitoring and Metrics

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:

  • ✅ 70%+ token reduction with cache
  • ✅ < 2,000 tokens for cached invocations
  • ✅ < 5,000 tokens for uncached invocations
  • ✅ 100% diagram accuracy maintained

Integration Points

Synergistic Skills:

  • /understand – Deep project architecture analysis
  • /docs – Documentation generation and management
  • /api-docs-generate – API-specific documentation
  • /db-diagram – Database schema visualization

Suggests /understand when:

  • Need deeper code analysis first
  • Architecture is unclear from structure
  • Complex dependencies need mapping

Suggests /db-diagram when:

  • Database schema is complex
  • Need detailed ER diagrams
  • Focus is on data modeling

Diagram Format Options

Mermaid (Recommended):

  • ✓ GitHub/GitLab native rendering
  • ✓ Version control friendly (text)
  • ✓ Easy to edit and update
  • ✓ Live preview in many editors
  • ✗ Limited advanced features

PlantUML:

  • ✓ More diagram types
  • ✓ Advanced styling options
  • ✓ Large community support
  • ✗ Requires separate rendering
  • ✗ More complex syntax

Diagrams.net (Draw.io):

  • ✓ Visual WYSIWYG editing
  • ✓ Professional appearance
  • ✓ Export to multiple formats
  • ✗ XML format harder to diff
  • ✗ Not natively rendered in GitHub

ASCII Art:

  • ✓ Terminal-friendly
  • ✓ No dependencies
  • ✓ Simple and fast
  • ✗ Limited visual appeal
  • ✗ Hard to maintain complex diagrams

Diagram Types Generated

Component Diagram:

  • Shows major system components
  • Component relationships and dependencies
  • Layer separation (frontend, backend, data)
  • External integrations

Data Flow Diagram:

  • How data moves through the system
  • User interactions and workflows
  • API request/response flows
  • Data transformations

Sequence Diagram:

  • Step-by-step interaction flows
  • API call sequences
  • Authentication flows
  • Complex business processes

Deployment Diagram:

  • Infrastructure components
  • Server architecture
  • Cloud resources
  • Scaling strategy

Database Diagram:

  • Entity relationships
  • Table structures
  • Foreign key relationships
  • Database architecture

Auto-Detection Features

I’ll automatically detect and diagram:

Frontend Architecture:

  • React/Vue/Angular component hierarchy
  • State management flows (Redux, Vuex, etc.)
  • Routing structure
  • API client integration

Backend Architecture:

  • REST API endpoints and routes
  • Middleware chain
  • Service layer organization
  • Database access patterns

Microservices:

  • Service boundaries
  • Inter-service communication
  • Message queues
  • Service mesh patterns

Database:

  • Table relationships
  • Entity models
  • Caching layers
  • Data access patterns

Safety Mechanisms

Protection Measures:

  • Preview diagrams before file creation
  • Create diagrams in docs/architecture/ directory
  • Non-destructive (only creates new files)
  • Easy to regenerate or update

Validation Steps:

  1. Verify diagram syntax is valid
  2. Check diagrams render correctly
  3. Ensure accuracy against codebase
  4. Validate all components included

Expected Outputs

Documentation Files:

  • Architecture overview diagram
  • Component relationship diagram
  • Data flow visualization
  • Deployment architecture
  • README with embedded diagrams

Diagram Formats:

  • Mermaid (.mmd files)
  • PlantUML (.puml files)
  • Markdown with embedded diagrams
  • Separate diagram documentation

Common Use Cases

New Developer Onboarding:

  • Generate complete system overview
  • Show how components interact
  • Explain data flows visually
  • Document deployment architecture

Technical Documentation:

  • Architecture decision records
  • System design documents
  • API documentation
  • Infrastructure documentation

Code Review:

  • Visualize changes impact
  • Show before/after architecture
  • Explain complex refactoring
  • Document new features

System Planning:

  • Design new features
  • Plan refactoring efforts
  • Analyze scalability
  • Document technical debt

Error Handling

If diagram generation encounters issues:

  • I’ll explain what architectural information is missing
  • Suggest additional code exploration needed
  • Provide partial diagrams with notes
  • Offer alternative diagram approaches

Important Notes

I will NEVER:

  • Add AI attribution to diagram files
  • Overwrite existing architecture diagrams without confirmation
  • Generate diagrams without analyzing actual code
  • Include sensitive information (API keys, credentials)

Best Practices:

  • Keep diagrams up-to-date with code changes
  • Use version control for diagram files
  • Document diagram conventions
  • Link diagrams from main README
  • Review diagrams for accuracy

Credits

Inspired by:

This skill helps you create clear, maintainable architecture documentation that stays synchronized with your codebase.