Technical Architecture Diagrammer
Create clear, professional technical diagrams using Excalidraw MCP tools. Translate technical concepts into visual representations including architecture diagrams, flowcharts, sequence diagrams, and more.
When to Use This Skill
Use this skill when you need to:
- Visualize system architecture (microservices, layers, modules)
- Create process flowcharts with decision trees
- Draw sequence diagrams for API interactions
- Design deployment or network topology diagrams
- Illustrate data flows and ETL pipelines
- Document component relationships
Diagram Types Supported
1. 静态架构图 (Static Architecture)
System components, modules, layers, service dependencies
- Use for: Microservices architecture, layered architectures, component diagrams
- Shapes: Rectangles for services, arrows for dependencies
2. 流程图 (Flowcharts)
Process flows, decision trees, business logic
- Use for: Algorithm visualization, workflow documentation, decision processes
- Shapes: Rectangles (process), diamonds (decision), ellipses (start/end)
3. 时序图 (Sequence Diagrams)
Interaction sequences, API calls, message flows
- Use for: API interaction flows, authentication sequences, request/response cycles
- Shapes: Rectangles (actors/services), arrows (messages/calls)
4. 部署图 (Deployment Diagrams)
Infrastructure, servers, containers, cloud services
- Use for: Cloud infrastructure, container orchestration, server topology
- Shapes: Rectangles (servers/containers), nested groups for clustering
5. 数据流图 (Data Flow Diagrams)
Data transformation, ETL pipelines, event streams
- Use for: Data processing pipelines, event-driven architectures, ETL workflows
- Shapes: Rectangles (processors), arrows (data flow), cylinders (storage)
Quick Start Workflow
Step 1: Understand Requirements
- Parse user's description of what needs to be visualized
- Identify all components, actors, and relationships
- Determine the most appropriate diagram type
- Ask clarifying questions if requirements are ambiguous
Step 2: Plan Layout
- List all elements to be drawn
- Define positioning strategy (top-to-bottom, left-to-right, grid-based)
- Plan connection routing to minimize overlaps
- Choose color scheme if applicable
Step 3: Create Elements
For each element:
- Calculate coordinates based on layout plan
- Create shape with
mcp__Excalidraw__create_element
- Add text label (as independent text element with binding)
- Verify placement before proceeding
CRITICAL - Text Binding:
- Text must be independent elements, NOT shape properties
- Shape: Add
boundElements: [{"type": "text", "id": "text_id"}]
- Text: Set
containerId: "shape_id" to link to parent
- Position text coordinates inside the shape boundary
Step 4: Draw Connections
For each connection:
- Identify source and target positions
- Create arrow with
mcp__Excalidraw__create_element (type: "arrow")
- Use
points array for arrow path (relative coordinates)
- Add labels to connections if needed
Step 5: Save Diagram
- Export with
mcp__Excalidraw__get_resource and save to file
- Use descriptive filename:
{描述性名称}.excalidraw or .png
- Examples:
微服务架构图.excalidraw, 用户登录时序图.excalidraw
Excalidraw Element Standards
Shape Guidelines
- Rectangles: Services, components, modules, databases
- Diamonds: Decision points in flowcharts
- Ellipses: Start/end points, actors, external systems
- Arrows: Direction of flow/dependency (use
points array)
Layout Strategy
- Grid-Based: Consistent spacing (150-200px between elements)
- Logical Grouping: Cluster related components visually
- Flow Direction: Maintain consistent direction (top→bottom or left→right)
- Hierarchy: Use vertical positioning for layers/tiers
Text Guidelines
- Font Size: 16-24 for labels, 14-18 for descriptions
- Position: Center text within shapes (use text binding)
- Language: Match user's language (Chinese/English)
- Clarity: Use concise, meaningful labels
Color Coding (Optional)
- Blue (#1e90ff): Core services, primary components
- Green (#28a745): Databases, storage, success paths
- Orange (#fd7e14): External services, third-party APIs
- Red (#dc3545): Critical paths, error handling
- Gray (#6c757d): Infrastructure, supporting components
Common Patterns
Microservices Architecture
[前端] → [API网关] → [用户服务]
↓
[订单服务]
↓
[支付服务]
↓
[数据库]
Login Sequence
[用户] → [前端] → [API Gateway] → [认证服务] → [数据库]
↓
[返回Token]
Data Pipeline
[Kafka] → [Flink处理] → [ClickHouse] → [Grafana展示]
Quality Checklist
Error Handling
- If MCP tool fails, retry with adjusted parameters
- If positioning is off, recalculate coordinates
- If diagram becomes too complex, suggest splitting
- Always verify tool execution results before proceeding
Advanced Topics
For detailed Excalidraw file format specifications and text binding requirements, see:
- references/excalidraw-file-format.md - Complete .excalidraw JSON format specification
- references/diagram-best-practices.md - Advanced layout strategies and common mistakes
Read these references when:
- Creating complex diagrams with many elements
- Debugging file format errors ("invalid file" on import)
- Implementing advanced features (grouping, locking, distribution)
- Troubleshooting text display issues
Communication Style
- Explain diagram design decisions briefly
- Confirm understanding of complex requirements before drawing
- Provide summary of what was created after completion
- Suggest improvements or alternative visualizations when appropriate
Respond in 中文 by default, matching user's language preference. Use English for technical terms (API, Database, Service) but provide Chinese labels in diagrams when user communicates in Chinese.
1---2name: rnd-tech-arch-diagrammer3description: Technical Architecture Diagrammer4---56# Technical Architecture Diagrammer78Create clear, professional technical diagrams using Excalidraw MCP tools. Translate technical concepts into visual representations including architecture diagrams, flowcharts, sequence diagrams, and more.910## When to Use This Skill1112Use this skill when you need to:13- Visualize system architecture (microservices, layers, modules)14- Create process flowcharts with decision trees15- Draw sequence diagrams for API interactions16- Design deployment or network topology diagrams17- Illustrate data flows and ETL pipelines18- Document component relationships1920## Diagram Types Supported2122### 1. 静态架构图 (Static Architecture)23System components, modules, layers, service dependencies24- **Use for**: Microservices architecture, layered architectures, component diagrams25- **Shapes**: Rectangles for services, arrows for dependencies2627### 2. 流程图 (Flowcharts)28Process flows, decision trees, business logic29- **Use for**: Algorithm visualization, workflow documentation, decision processes30- **Shapes**: Rectangles (process), diamonds (decision), ellipses (start/end)3132### 3. 时序图 (Sequence Diagrams)33Interaction sequences, API calls, message flows34- **Use for**: API interaction flows, authentication sequences, request/response cycles35- **Shapes**: Rectangles (actors/services), arrows (messages/calls)3637### 4. 部署图 (Deployment Diagrams)38Infrastructure, servers, containers, cloud services39- **Use for**: Cloud infrastructure, container orchestration, server topology40- **Shapes**: Rectangles (servers/containers), nested groups for clustering4142### 5. 数据流图 (Data Flow Diagrams)43Data transformation, ETL pipelines, event streams44- **Use for**: Data processing pipelines, event-driven architectures, ETL workflows45- **Shapes**: Rectangles (processors), arrows (data flow), cylinders (storage)4647## Quick Start Workflow4849### Step 1: Understand Requirements50- Parse user's description of what needs to be visualized51- Identify all components, actors, and relationships52- Determine the most appropriate diagram type53- Ask clarifying questions if requirements are ambiguous5455### Step 2: Plan Layout56- List all elements to be drawn57- Define positioning strategy (top-to-bottom, left-to-right, grid-based)58- Plan connection routing to minimize overlaps59- Choose color scheme if applicable6061### Step 3: Create Elements62For each element:631. Calculate coordinates based on layout plan642. Create shape with `mcp__Excalidraw__create_element`653. Add text label (as independent text element with binding)664. Verify placement before proceeding6768**CRITICAL - Text Binding:**69- Text must be **independent elements**, NOT shape properties70- Shape: Add `boundElements: [{"type": "text", "id": "text_id"}]`71- Text: Set `containerId: "shape_id"` to link to parent72- Position text coordinates **inside** the shape boundary7374### Step 4: Draw Connections75For each connection:761. Identify source and target positions772. Create arrow with `mcp__Excalidraw__create_element` (type: "arrow")783. Use `points` array for arrow path (relative coordinates)794. Add labels to connections if needed8081### Step 5: Save Diagram82- Export with `mcp__Excalidraw__get_resource` and save to file83- Use descriptive filename: `{描述性名称}.excalidraw` or `.png`84- Examples: `微服务架构图.excalidraw`, `用户登录时序图.excalidraw`8586## Excalidraw Element Standards8788### Shape Guidelines89- **Rectangles**: Services, components, modules, databases90- **Diamonds**: Decision points in flowcharts91- **Ellipses**: Start/end points, actors, external systems92- **Arrows**: Direction of flow/dependency (use `points` array)9394### Layout Strategy95- **Grid-Based**: Consistent spacing (150-200px between elements)96- **Logical Grouping**: Cluster related components visually97- **Flow Direction**: Maintain consistent direction (top→bottom or left→right)98- **Hierarchy**: Use vertical positioning for layers/tiers99100### Text Guidelines101- **Font Size**: 16-24 for labels, 14-18 for descriptions102- **Position**: Center text within shapes (use text binding)103- **Language**: Match user's language (Chinese/English)104- **Clarity**: Use concise, meaningful labels105106### Color Coding (Optional)107- **Blue** (#1e90ff): Core services, primary components108- **Green** (#28a745): Databases, storage, success paths109- **Orange** (#fd7e14): External services, third-party APIs110- **Red** (#dc3545): Critical paths, error handling111- **Gray** (#6c757d): Infrastructure, supporting components112113## Common Patterns114115### Microservices Architecture116```117[前端] → [API网关] → [用户服务]118 ↓119 [订单服务]120 ↓121 [支付服务]122 ↓123 [数据库]124```125126### Login Sequence127```128[用户] → [前端] → [API Gateway] → [认证服务] → [数据库]129 ↓130 [返回Token]131```132133### Data Pipeline134```135[Kafka] → [Flink处理] → [ClickHouse] → [Grafana展示]136```137138## Quality Checklist139140- [ ] All mentioned components represented141- [ ] Connections accurately reflect relationships142- [ ] Text readable and correctly positioned (using binding)143- [ ] Arrows point in correct direction144- [ ] Layout balanced and organized145- [ ] No overlapping elements (unless intentional)146- [ ] Consistent styling throughout147- [ ] Filename describes diagram content148149## Error Handling150151- If MCP tool fails, retry with adjusted parameters152- If positioning is off, recalculate coordinates153- If diagram becomes too complex, suggest splitting154- Always verify tool execution results before proceeding155156## Advanced Topics157158For detailed Excalidraw file format specifications and text binding requirements, see:159- **references/excalidraw-file-format.md** - Complete .excalidraw JSON format specification160- **references/diagram-best-practices.md** - Advanced layout strategies and common mistakes161162Read these references when:163- Creating complex diagrams with many elements164- Debugging file format errors ("invalid file" on import)165- Implementing advanced features (grouping, locking, distribution)166- Troubleshooting text display issues167168## Communication Style169170- Explain diagram design decisions briefly171- Confirm understanding of complex requirements before drawing172- Provide summary of what was created after completion173- Suggest improvements or alternative visualizations when appropriate174175Respond in 中文 by default, matching user's language preference. Use English for technical terms (API, Database, Service) but provide Chinese labels in diagrams when user communicates in Chinese.