# Draw Io

> Create, read, edit, and open draw.io (.drawio) files. Supports architecture diagrams, ER diagrams, flowcharts, domain model diagrams, and more. Use when requests include "create a diagram", "make a flowchart", "draw an architecture diagram", "create an ER diagram", "open a .drawio file", "what's in this diagram?", etc. Do NOT use for Mermaid or PlantUML generation.

- **Type:** Skill
- **Install:** `agentstack add skill-little-hands-claude-drawio-skill-draw-io`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [little-hands](https://agentstack.voostack.com/s/little-hands)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [little-hands](https://github.com/little-hands)
- **Source:** https://github.com/little-hands/claude-drawio-skill/tree/main/plugins/draw-io/skills/draw-io

## Install

```sh
agentstack add skill-little-hands-claude-drawio-skill-draw-io
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# draw.io Diagram Skill

Create, read, and edit diagrams in draw.io format (.drawio).

## Supported Diagram Types (Examples)

- Architecture diagrams
- Domain model diagrams
- Object diagrams
- ER diagrams
- Flowcharts
- Wireframes
- Sequence diagrams
- Class diagrams

Any other diagram type that can be expressed in draw.io is also supported.

## Workflow

### 1. Read (Reference during development)

Read domain model or architecture diagrams and use them as development context.

**Trigger examples:** "Check the domain model", "Read the design diagram", "Reference the architecture", "What's in this diagram?"

**Steps:**

1. **Load reference files**: Read the following
   - [references/xml-reference.md](references/xml-reference.md) — mxCell patterns, parsing examples
2. Use `Glob` to search for `.drawio` files
3. Use `Read` to load the XML
4. Extract information from `mxCell` attributes:
   - `value` attribute: labels (entity names, method names, etc.)
   - `parent` attribute: parent-child relationships (group membership)
   - `source`/`target` attributes: edge connections
   - `fillColor` in `style` attribute: element classification (color-based)
5. Output a structured summary

### 2. Create / Edit

Create new diagrams or update existing `.drawio` files.

**Trigger examples:** "Create a diagram", "Make a flowchart", "Draw an architecture diagram", "Create an ER diagram", "Update the diagram", "Add an entity", "Change a relationship"

**Steps:**

1. **Clarify requirements**: Confirm the diagram type and elements to include with the user
2. **Load reference files**: **Always** load the following before starting work
   - [references/xml-reference.md](references/xml-reference.md) — mxCell patterns, styles, color palette
   - [references/layout-guide.md](references/layout-guide.md) — layout principles, coordinate calculations
3. **Check existing files**: Use `Glob` to search for the target `.drawio` file
   - **File exists** → Use `Read` to get the XML and check existing IDs
   - **No file** → Proceed as a new creation
4. **List elements**: Enumerate boxes, relationships, and groups
5. **Generate / Edit XML**:
   - **New creation**: Combine the base structure template with mxCells, and save as `.drawio` using `Write`
   - **Editing existing**: Assign new IDs that don't conflict with existing ones, and update the XML using `Edit`
6. **Show path**: Display the file path to the user (do not open automatically)

### 3. Open in Desktop App

**Trigger examples:** "Open this file", "Open the .drawio file", "Open the diagram"

**Steps:**

1. Identify the file path (if not specified, use `Glob` to search for `.drawio` files)
2. Run `open -a "draw.io" ` using `Bash`

Prerequisite: draw.io must be installed via `brew install --cask drawio`

## XML Base Structure

**Important:** Always specify `darkMode="0"`. This disables Adaptive Colors, preventing color inversion when opened in a dark-mode editor, and maintains light-mode colors during SVG/PNG export.

```xml

  
    
      
        
        
        
      
    
  

```

For multiple pages, add multiple `` elements. Specify `darkMode="0"` in each ``.

## Important Constraints

- **Always specify `darkMode="0"`** — omitting it causes color inversion in dark mode
- **Keep IDs unique** — manage with prefixes like `box1`, `edge1`
- **Use `&#xa;` for line breaks** — for text line breaks within XML
- **Specify parent-child relationships with the `parent` attribute** — coordinates of child elements within a group are relative to the parent
- **`vertex="1"` for shapes, `edge="1"` for edges**
- **Do not open after editing** — only display the file path; open only when the user explicitly asks
- **Do not include `--` in XML comments** — ` Customer -->` causes an XML error; write as ``

## Troubleshooting

### XML Parse Error

**Cause:** `--` is included in a comment
**Fix:** Avoid `--` as in ``. See the beginning of [references/xml-reference.md](references/xml-reference.md) for details

### Colors Inverted in Dark Mode

**Cause:** Missing `darkMode="0"` specification
**Fix:** Add `darkMode="0"` to ``. For multiple pages, specify it on all pages

### Shapes Overlapping / Edges Crossing

**Cause:** Layout calculation issues
**Fix:** Check layout principles in [references/layout-guide.md](references/layout-guide.md). Distribute edge connection points using `exitX`/`exitY`/`entryX`/`entryY`

### Rendering Broken Due to Duplicate IDs

**Cause:** Multiple mxCells with the same ID exist
**Fix:** Check existing IDs before editing and assign unique IDs

### draw.io App Won't Open

**Cause:** draw.io desktop app is not installed
**Fix:** Install with `brew install --cask drawio`

## Reference Files

- **XML Patterns & Styles** → [references/xml-reference.md](references/xml-reference.md)
  Contents: mxCell patterns (rectangle, text, edge, group, DB, stack layout), style attributes, color palette, edge styles, custom properties, connection points, parsing examples for reading
  **Load for reading, creating, and editing**

- **Layout Guide** → [references/layout-guide.md](references/layout-guide.md)
  Contents: Layout principles, coordinate calculations, placement patterns, boundary coordinate calculations
  **Load for creating and editing**

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [little-hands](https://github.com/little-hands)
- **Source:** [little-hands/claude-drawio-skill](https://github.com/little-hands/claude-drawio-skill)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-little-hands-claude-drawio-skill-draw-io
- Seller: https://agentstack.voostack.com/s/little-hands
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
