Installs into .claude/skills of the current project.
Are you the author of Coding?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/andreibesleaga-coding-560d7f33)
---
name: excalidraw
description: Create and manage Excalidraw diagrams via MCP for architecture visualization.
triggers: [excalidraw, whiteboard, visual diagram, hand-drawn diagram]
tags: [coding, architecture, visual, diagramming]
context_cost: medium
---
# Excalidraw Skill
## Goal
Create, edit, and manage Excalidraw diagrams programmatically using the `@cmd8/excalidraw-mcp` server. Generate architecture diagrams, flowcharts, system maps, and wireframes with the hand-drawn Excalidraw aesthetic.
## Prerequisites
- **MCP Server**: `excalidraw` must be configured in your MCP config (see `templates/core/MCP_CONFIG_TEMPLATE.json`).
- **Runtime**: Node.js 18+
- **File**: A `.excalidraw` file path must be specified (created automatically if it doesn't exist).
## Capabilities
### MCP Tools Available
| Tool | Purpose |
|---|---|
| `createNode` | Create a shape (rectangle, ellipse, diamond) with label text. Returns node ID |
| `createEdge` | Create an arrow connecting two nodes by ID or label |
| `deleteElement` | Remove a node or edge by ID or label |
| `getFullDiagramState` | Get markdown representation of the full diagram (nodes, edges, frames, colors) |
### Supported Diagram Types
- **Architecture Diagrams**: C4 Context, Container, Component views
- **Flowcharts**: Decision trees, process flows, SDLC workflows
- **System Maps**: Microservice topology, network diagrams
- **Wireframes**: UI layout sketches, page flows
- **Entity Relationships**: Database schema visualizations
- **Event Storming**: Domain event maps with sticky-note aesthetics
## Steps
1. **Plan the diagram structure**
- Use `WHITEBOARD_DESIGN_TEMPLATE.md` to pre-map geometry (X/Y grid)
- List all nodes (name, shape, color) and edges (source → target, label)
- Pre-calculate coordinates to avoid overlap — LLMs are poor at spatial arrangement
2. **Create nodes**
- Call `createNode` for each element with appropriate shape and position
- Group related nodes by color or frame
3. **Create edges**
- Call `createEdge` to connect nodes by ID or label
- Add edge labels for relationship descriptions
4. **Verify diagram**
- Call `getFullDiagramState` to review the complete diagram
- Check for missing connections, overlapping nodes, or unlabeled edges
5. **Sync back to text**
- Mirror structural changes into `PLAN.md` or `SYSTEM_ANALYSIS_TEMPLATE.md`
- Diagrams are not searchable by RAG — keep metadata in text
## Deliverables
- `.excalidraw` file with the completed diagram
- Text-based summary of diagram structure in project documentation
## Usage Examples
### Create an architecture diagram
```
> "Create an Excalidraw architecture diagram for our microservices: API Gateway → Auth Service, User Service, Order Service. Save to docs/architecture.excalidraw"
```
### Visualize a database schema
```
> "Draw the database schema in Excalidraw showing Users, Orders, and Products tables with relationships"
```
### Create a flowchart
```
> "Create an Excalidraw flowchart for the CI/CD pipeline: Build → Test → Security Scan → Deploy → Smoke Test"
```
## Security & Guardrails
### 1. Skill Security
- **Local Files Only**: Excalidraw MCP operates on local `.excalidraw` files. No network access, no cloud storage.
- **No Code Execution**: The MCP creates diagram elements — it does not execute any code.
- **File Scope**: Ensure the `--diagram` path points to a file within the project directory.
### 2. Agent Guardrails
- **Pre-map Geometry**: Always calculate node positions before creating elements. Random placement results in unreadable diagrams.
- **State Sync**: Always update text-based documentation when modifying visual diagrams.
- **Verify Before Sharing**: Call `getFullDiagramState` to validate the diagram is complete before presenting to the user.