Skip to content
Agentmart
Submit a tool

drawio

Create, generate, or design diagrams, flowcharts, architecture diagrams, ER diagrams, sequence diagrams, class diagrams, network diagrams, or any visual…

Skill by djmittens

IndexedApache-2.0
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/djmittens-drawio

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Create, generate, or design diagrams, flowcharts, architecture diagrams, ER diagrams, sequence diagrams, class diagrams, network diagrams, or any visual diagram using draw.io. Produces native .drawio files with optional PNG/SVG/PDF export (with embedded XML so exports remain editable in draw.io).

Use cases: documents, design

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/drawio

What's inside

Skill name
drawio
Description
Create, generate, or design diagrams, flowcharts, architecture diagrams, ER diagrams, sequence diagrams, class diagrams, network diagrams, or any visual diagram using draw.io. Produces native .drawio files with optional PNG/SVG/PDF export (with embedded XML so exports remain editable in draw.io).
License
Apache-2.0
Compatibility
Requires Python 3.10+ and `npx draw.io-export` on PATH
Metadata
system: drawio · category: diagramming · upstream: https://github.com/jgraph/drawio-mcp/tree/main/skill-cli
Instructions
72 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (2)

  • SKILL.md
  • drawio.py · scripts/

SKILL.md (first lines)

# Draw.io Diagram Skill

Create and edit draw.io diagrams using `scripts/drawio.py`. The script handles PNG export (via `npx draw.io-export`) and embeds the source XML into the PNG as a zTXt chunk, so the file is both viewable as an image and editable in draw.io.

**Data privacy:** Everything runs locally. No diagram data is sent to any external server.

## Script Usage

```bash
# Create a new diagram from XML
uv run scripts/drawio.py create --xml '<mxGraphModel>...</mxGraphModel>' -o diagram.drawio.png
uv run scripts/drawio.py create --xml-file diagram.xml -o diagram.drawio.png

# Extract XML from an existing .drawio.png
uv run scripts/drawio.py read diagram.drawio.png

# Update an existing .drawio.png with new XML
uv run scripts/drawio.py update --xml '<mxGraphModel>...</mxGraphModel>' diagram.drawio.png
uv run scripts/drawio.py update --xml-file updated.xml diagram.drawio.png
```

XML can also be piped via stdin (omit `--xml` and `--xml-file`).

## Workflow

### Creating a new diagram
1. Generate draw.io mxGraphModel XML for the requested diagram
2. Write XML to a temp file (or pass via `--xml`)
3. Run: `uv run scripts/drawio.py create --xml-file tmp.xml -o diagram.drawio.png`
4. The script writes a `.drawio` file, exports to PNG, embeds XML into the PNG, and cleans up

### Editing an existing diagram
1. Extract current XML: `uv run scripts/drawio.py read diagram.drawio.png`
2. Modify the XML as needed
3. Write it back: `uv run scripts/drawio.py update --xml-file updated.xml diagram.drawio.png`

### Review loop
After creating or updating, show the resulting PNG to the user. If they request changes, read + update to iterate.

## XML format

A `.drawio` file is mxGraphModel XML. Always generate XML directly -- never Mermaid or CSV.

### Basic structure

```xml
<mxGraphModel adaptiveColors="auto">
  <root>
    <mxCell id="0"/>
    <mxCell id="1" parent="0"/>
  </root>
</mxGraphModel>
```

- Cell `id="0"` is the root layer, `id="1"` is the default parent
- All diagram elements use `parent="1"` unless inside a container

## XML reference

For the complete draw.io XML reference (styles, edge routing, containers, layers, tags, metadata, dark mode), fetch:
https://raw.githubusercontent.com/jgraph/drawio-mcp/main/shared/xml-reference.md

## CRITICAL rules

- **NEVER include XML comments** (`<!-- -->`) in diagram XML
- Escape special characters: `&amp;`, `&lt;`, `&gt;`, `&quot;`
- Use unique `id` values for each `mxCell`
- Every edge must have a child: `<mxGeometry relative="1" as="geometry" />`
- Use `html=1` in styles when labels contain HTML tags
- Use `&#xa;` or `&lt;br&gt;` for line breaks, never `\n`

From djmittens/neo-mittens, Apache-2.0.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
May 19, 2026 (5 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from djmittens

Cite this page

drawio skill. Agent Mart. https://agentmart.dev/skills/djmittens-drawio (last updated 2026-10-24)