
Drawio
- 1 installs
- 40 repo stars
- Updated August 4, 2026
- akillness/oh-my-skills
drawio is a Claude Code skill that turns natural-language descriptions or a codebase into editable .drawio diagrams and exports them to PNG/SVG/PDF/JPG.
About
drawio wraps the Agents365-ai drawio-skill to convert natural-language descriptions into editable .drawio diagrams and export them to PNG, SVG, PDF, or JPG via the draw.io desktop CLI. It can also turn an existing codebase into an auto-laid-out structure diagram. A developer uses it for precise architecture, ERD, UML, sequence, or flowchart diagrams with real vendor icons, driven through a plan, generate, self-check, iterate, export loop.
- Turns natural-language descriptions into editable .drawio diagrams and exports PNG/SVG/PDF/JPG
- Can visualize an existing Python/JS-TS/Go/Rust codebase as an auto-laid-out structure diagram
- Searches 10,000+ official AWS/Azure/GCP/Cisco/K8s shapes plus 321 AI/LLM brand logos
Drawio by the numbers
- 1 all-time installs (skills.sh)
- Ranked #1,361 of 1,879 Documentation skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
drawio capabilities & compatibility
Free; requires the draw.io desktop CLI (and optional Graphviz) installed locally.
- Capabilities
- diagram generation · code visualization · diagram export
- Use cases
- documentation · ui design
- IDEs
- cursor ide · vscode
- Runs
- Runs locally
- Pricing
- Free
What drawio says it does
Turn natural-language descriptions into editable `.drawio` diagrams and export them to PNG / SVG / PDF / JPG via the native draw.io desktop CLI
6 diagram presets (ERD, UML class, sequence, architecture, ML/DL, flowchart), search across 10,000+ official AWS/Azure/GCP/Cisco/K8s/UML/ BPMN shapes
npx skills add https://github.com/akillness/oh-my-skills --skill drawioAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 40 |
| Last updated | August 4, 2026 |
| Repository | akillness/oh-my-skills ↗ |
What it does
Generate editable .drawio diagrams from text or a codebase and export them to PNG, SVG, PDF, or JPG via the draw.io CLI.
Who is it for?
Precise, exportable architecture, ERD, UML, sequence, or flowchart diagrams with real vendor icons.
Skip if: Casual hand-drawn/whiteboard looks, diagrams-as-code in git, or slide decks.
When should I use this skill?
The user wants polished, precise, exportable diagrams or to visualize an existing codebase's structure.
What you get
An editable .drawio file plus PNG/SVG/PDF exports, optionally self-checked and refined over several rounds.
- editable .drawio XML
- PNG/SVG/PDF/JPG exports
By the numbers
- 6 diagram presets (ERD, UML class, sequence, architecture, ML/DL, flowchart)
- 10,000+ official shapes
- 321 AI/LLM brand logos
Files
drawio — From Text to Professional Diagrams
drawio-skill (Agents365-ai, MIT) converts a natural-language description into editable .drawio XML and exports it to PNG / SVG / PDF / JPG through the native draw.io desktop CLI — no MCP server, no background daemon. It can also turn an existing codebase into an auto-laid-out structure diagram. This skill is the jeo-skills wrapper: it documents when to reach for draw.io, how to install the CLI + skill (including as a plugin), and how to drive the plan → generate → self-check → iterate → export loop.
When to use this skill
- The user wants a polished, precise diagram — architecture, network
topology, microservices, cloud (AWS/Azure/GCP), strict UML class/sequence, ER diagram, flowchart, mind map, org chart, ML/DL model
- The user wants to visualize an existing codebase — import graphs for
Python / JS-TS / Go / Rust, or a Python class-inheritance hierarchy, with no manual coordinates
- The user needs real official vendor icons (AWS Lambda, Kubernetes pod,
Cisco, BPMN, …) instead of guessed shape=mxgraph.* blank boxes
- The user wants AI/LLM brand logos (OpenAI, Claude, Gemini, Mistral,
Llama, Ollama, LangChain, …) that draw.io ships none of
- The user wants the output exported to PNG/SVG/PDF and kept editable,
optionally self-checked and refined over several rounds
- The user explicitly asks for draw.io /
.drawiofiles
When not to use this skill
- The user wants a casual, hand-drawn / whiteboard look → use
excalidraw-skill or tldraw-skill (sibling upstream skills)
- The user wants diagrams-as-code that live in git and render in Markdown
→ use mermaid (general) or plantuml (UML in CI)
- The user wants a slide deck / presentation artifact →
presentation-builder
- The user only wants to browse/install Claude plugins generally →
ccpi-marketplace
- The user needs AI image/video generation (not diagrams) →
god-tibo-imagen / video-production
Prerequisites
| Requirement | Notes |
|---|---|
| draw.io desktop CLI | Needed for export. drawio --version must work |
| A vision-capable agent | The self-check step reads the rendered PNG to auto-fix layout |
| Graphviz (optional) | Only for codebase auto-layout (brew install graphviz / apt install graphviz) |
| Node.js (optional) | Only the npx skills installer needs it; the skill itself does not |
Instructions
Step 1 — Install the draw.io desktop CLI
| Platform | Command |
|---|---|
| macOS | brew install --cask drawio |
| Windows | Download installer from drawio-desktop releases |
| Linux | .deb/.rpm from releases; sudo apt install xvfb for headless |
Verify with drawio --version. On WSL2 the CLI is the Windows desktop exe reached via /mnt/c — the skill detects this automatically.
Step 2 — Install the skill
# Any agent (Claude Code, Cursor, Copilot, …) — upstream bundle
npx skills add Agents365-ai/365-skills -g# Claude Code plugin marketplace (upstream)
> /plugin marketplace add Agents365-ai/365-skills
> /plugin install drawio# Manual install
git clone https://github.com/Agents365-ai/drawio-skill.git \
~/.claude/skills/drawio-skillFor the jeo-skills plugin install of this wrapper, see Step 8.
Step 3 — Generate a diagram from text
After installation, just describe what you want — the skill plans the layout, generates .drawio XML, exports a draft, self-checks, and iterates:
Create a microservices e-commerce architecture with Mobile/Web/Admin
clients, an API Gateway (auth + rate limiting + routing), Auth/User/Order/
Product/Payment services, a Kafka queue, a Notification service, and
User DB / Order DB / Product DB / Redis Cache / Stripe API.Draw a Transformer encoder-decoder: 6-layer encoder with self-attention,
6-layer decoder with cross-attention, input embeddings (batch × 512 × 768),
positional encoding, final output projection. Annotate tensor shapes and
color-code by layer type.Step 4 — Visualize an existing codebase
Turn code into structure diagrams with the bundled extract → auto-layout → validate pipeline (no manual coordinates):
# Import graph — Python / JS-TS / Go / Rust
python3 scripts/pyimports.py myproject --group -o graph.json
python3 scripts/jsimports.py ./src --group -o graph.json
python3 scripts/goimports.py ./module --group -o graph.json
python3 scripts/rustimports.py ./crate --group -o graph.json
# Python class-inheritance hierarchy
python3 scripts/pyclasses.py mypackage --group -o graph.json
# any extractor → auto-layout → editable .drawio
python3 scripts/autolayout.py graph.json -o diagram.drawioAuto-layout uses Graphviz placement + orthogonal routing, transitive reduction (drops edges implied by a longer path), and --group for nested module containers. validate.py lints the .drawio (dangling edges, duplicate ids, overlaps) before the visual self-check.
Step 5 — Resolve real shapes and AI/LLM logos
# Search 10,000+ official AWS/Azure/GCP/Cisco/K8s/UML/BPMN shapes
python3 scripts/shapesearch.py "aws lambda" --limit 5
# Resolve one of 321 AI/LLM brand logos (lobe-icons, MIT)
python3 scripts/aiicons.py "claude" --json # CDN-referenced (default)
python3 scripts/aiicons.py "openai" --embed # self-contained data URIUse these instead of guessing shape= strings, so vendor icons render correctly rather than falling back to a blank box.
Step 6 — Self-check, iterate, and style
The workflow runs check deps → plan layout → generate XML → export draft PNG → self-check + auto-fix (up to 2 rounds) → show user → 5-round feedback loop → final export. Built-in style presets are default, corporate, handdrawn, and the skill can learn a new style from a .drawio file or a flat image (saved only after you approve):
Draw a microservices architecture using my "corporate" style
Learn my style from ~/diagrams/brand.drawio as "mybrand"Step 7 — Choose the right diagram type
| Category | Examples | Notable features |
|---|---|---|
| Architecture | microservices, cloud, network, deployment | Tier swimlanes, hub-center strategy |
| ML / Deep Learning | Transformer, CNN, LSTM, GRU | Tensor-shape annotations, layer colors |
| Flowcharts | processes, workflows, decision trees, state machines | Semantic shapes (diamond decisions) |
| UML | class, sequence | Inheritance/composition arrows, lifelines |
| Data | ER, data-flow (DFD) | Table containers, PK/FK notation |
| Other | org charts, mind maps, wireframes | — |
Step 8 — Plugin-style installation alongside jeo-skills
This wrapper folder is plugin-installable through the standard jeo-skills flow so the routing guide, references, and installer land on disk for any supported agent runtime:
# Project install (writes into .agents/skills/drawio/)
npx skills add https://github.com/akillness/jeo-skills --skill drawio
# Global install for every detected agent
npx skills add -g https://github.com/akillness/jeo-skills --skill drawio
# Target specific agents
npx skills add -g https://github.com/akillness/jeo-skills --skill drawio -a claude-code -a codex -yThe skill also ships `scripts/install.sh` — a one-shot helper that detects/installs the draw.io CLI per platform and pulls the upstream drawio-skill bundle. See `references/usage.md` for the full command/flag reference.
Output format
When the user asks drawio for help, return a compact brief:
# drawio Routing Brief
## Scope
- Task: text-to-diagram | visualize-codebase | shape/logo-resolve | restyle
- Diagram type: architecture | uml | sequence | flowchart | erd | ml-dl | other
- Export target: png | svg | pdf | jpg | drawio-only
## Recommended next move
- install-cli | install-skill | generate | extract+autolayout | shapesearch | aiicons | refine
## Why
- 2-3 bullets grounded in the user's request
## Route-outs
- `mermaid` / `plantuml` for diagrams-as-code in git
- `excalidraw` / `tldraw` for hand-drawn/whiteboard looks
- `presentation-builder` for slide decksBest practices
1. Confirm the CLI first — drawio --version before promising an export; without it you can only emit .drawio XML, not PNG/SVG/PDF. 2. Search shapes, don't guess — shapesearch.py resolves the exact official style string; guessed shape=mxgraph.* names render blank. 3. Use `aiicons.py` for LLM-app diagrams — draw.io ships no modern AI/LLM logos; --embed inlines them for offline rendering. 4. Let the self-check run — reading the rendered PNG and auto-fixing overlaps/clipped labels is the skill's main quality lever. 5. Reduce, then lay out — for codebases, transitive reduction turns a dense hairball into a traceable graph before auto-layout. 6. Pick the right family — reach for mermaid/plantuml for git-tracked, Markdown-embeddable diagrams; draw.io is for polished, exportable, icon-rich artifacts.
References
- Upstream repo: <https://github.com/Agents365-ai/drawio-skill>
- Online docs: <https://agents365-ai.github.io/drawio-skill/>
- Usage walkthrough: `docs/USAGE.md`
- CLI install recipes: `docs/INSTALL_CLI.md`
- Auto-layout reference: `references/autolayout.md`
- Shapes cheatsheet: `references/shapes.md`
- Troubleshooting (incl. WSL2): `references/troubleshooting.md`
- Local installer: `scripts/install.sh`
- Local usage/flag reference: `references/usage.md`
- Sibling diagram skills:
excalidraw-skill,mermaid,plantuml,tldraw-skill - Adjacent jeo-skills:
../presentation-builder/SKILL.md,../cli-anything/SKILL.md,../ccpi-marketplace/SKILL.md - License: MIT (see upstream
LICENSE)
drawio — Command & Flag Reference
Companion reference for the drawio skill. The skill wraps Agents365-ai/drawio-skill (MIT). The bundled scripts live under the upstream skill folder (skills/drawio-skill/scripts/) once installed.
1. Install the draw.io desktop CLI
| Platform | Command |
|---|---|
| macOS | brew install --cask drawio |
| Windows | Installer from <https://github.com/jgraph/drawio-desktop/releases> |
| Linux | .deb/.rpm from releases; sudo apt install xvfb for headless export |
Verify: drawio --version. On WSL2, the CLI is the Windows desktop exe reached via /mnt/c — auto-detected. Without the CLI you can still produce .drawio XML, but not PNG/SVG/PDF/JPG exports.
2. Install the skill
# Upstream bundle — any agent
npx skills add Agents365-ai/365-skills -g
# Claude Code plugin marketplace (upstream)
/plugin marketplace add Agents365-ai/365-skills
/plugin install drawio
# Manual
git clone https://github.com/Agents365-ai/drawio-skill.git ~/.claude/skills/drawio-skill
# This jeo-skills wrapper (plugin-installable)
npx skills add https://github.com/akillness/jeo-skills --skill drawioUpdates: /plugin update drawio (Claude Code), skills update drawio-skill (SkillsMP), or git pull for manual installs.
3. Codebase visualization pipeline
Extract a graph, auto-lay it out, validate, then open/export the .drawio.
| Script | Purpose |
|---|---|
pyimports.py <proj> --group -o graph.json | Python import graph |
jsimports.py <src> --group -o graph.json | JS/TS import graph |
goimports.py <module> --group -o graph.json | Go import graph |
rustimports.py <crate> --group -o graph.json | Rust import graph |
pyclasses.py <pkg> --group -o graph.json | Python class-inheritance hierarchy |
autolayout.py graph.json -o diagram.drawio | Graphviz placement + ortho routing → editable .drawio |
validate.py diagram.drawio | Deterministic linter (dangling edges, dup ids, overlaps) |
Flags of note:
--group— box nodes by sub-package into nested containers.- Transitive reduction is applied automatically (drops edges implied by a
longer path; e.g. asyncio 149 → 46 edges).
- Auto-layout needs Graphviz (
brew install graphviz/apt install graphviz);
everything else works without it.
4. Shape & logo resolution
# Official shape search (AWS/Azure/GCP/Cisco/K8s/UML/BPMN/ER/electrical/P&ID)
python3 scripts/shapesearch.py "aws lambda" --limit 5
# → style string: ...;shape=mxgraph.aws3.lambda;fillColor=#F58534;...
# AI/LLM brand logos (321 from lobe-icons, MIT)
python3 scripts/aiicons.py "claude" --json # CDN-referenced (default; network at render)
python3 scripts/aiicons.py "openai" --embed # self-contained data URI (offline)Prefer resolved style strings over guessed shape=mxgraph.* names, which render as blank boxes.
5. Workflow & quality loop
check deps → plan layout → generate .drawio XML → export draft PNG → self-check + auto-fix (≤2 rounds) → show user → 5-round feedback loop → final export.
Self-check reads the rendered PNG and fixes 6 issue types (overlaps, clipped labels, stacked edges, etc.).
6. Style presets
Built-in: default, corporate, handdrawn. Learn a custom style from a .drawio file or a flat image; the skill renders a preview and saves the preset only after approval.
Draw a microservices architecture using my "corporate" style
Learn my style from ~/diagrams/brand.drawio as "mybrand"7. Diagram-type presets
ERD · UML class · UML sequence · Architecture · ML/Deep-Learning · Flowchart. ML/DL diagrams add tensor-shape annotations and layer-type color coding; flowcharts use semantic shapes (parallelogram I/O, diamond decisions).
8. Choosing draw.io vs siblings
| Need | Reach for |
|---|---|
| Polished, exportable, icon-rich diagrams; kept editable | drawio (this skill) |
| Diagrams-as-code in git, render in Markdown | mermaid |
| UML-as-code in CI | plantuml |
| Hand-drawn / whiteboard look | excalidraw-skill, tldraw-skill |
| Slide decks | presentation-builder |
References
- Upstream: <https://github.com/Agents365-ai/drawio-skill>
- Online docs: <https://agents365-ai.github.io/drawio-skill/>
docs/USAGE.md,docs/INSTALL_CLI.md,docs/STYLE_PRESETS.md,docs/COMPARISON.mdreferences/autolayout.md,references/shapes.md,references/troubleshooting.md
#!/usr/bin/env bash
# drawio skill installer
#
# Installs the draw.io desktop CLI (needed for PNG/SVG/PDF/JPG export) and the
# upstream Agents365-ai/drawio-skill bundle. Idempotent and safe to re-run.
#
# Env knobs:
# SKIP_CLI=1 - skip draw.io desktop CLI install (assume already present)
# SKIP_SKILL=1 - skip pulling the upstream drawio-skill bundle
# WITH_GRAPHVIZ=1 - also install Graphviz (only needed for codebase auto-layout)
# GLOBAL=1 - install the skill globally (npx skills add -g)
#
# Usage:
# bash scripts/install.sh
# WITH_GRAPHVIZ=1 GLOBAL=1 bash scripts/install.sh
set -euo pipefail
log() { printf '\033[1;34m[drawio]\033[0m %s\n' "$*"; }
warn() { printf '\033[1;33m[drawio]\033[0m %s\n' "$*" >&2; }
os="$(uname -s 2>/dev/null || echo unknown)"
install_drawio_cli() {
if command -v drawio >/dev/null 2>&1; then
log "draw.io CLI already present: $(drawio --version 2>/dev/null || echo '(version unknown)')"
return 0
fi
case "$os" in
Darwin)
if command -v brew >/dev/null 2>&1; then
log "Installing draw.io desktop via Homebrew…"
brew install --cask drawio
else
warn "Homebrew not found. Install draw.io manually: https://github.com/jgraph/drawio-desktop/releases"
fi
;;
Linux)
if grep -qi microsoft /proc/version 2>/dev/null; then
warn "WSL2 detected — the skill uses the Windows draw.io exe via /mnt/c automatically."
warn "Install draw.io on Windows: https://github.com/jgraph/drawio-desktop/releases"
else
warn "Install the .deb/.rpm from https://github.com/jgraph/drawio-desktop/releases"
warn "For headless export also run: sudo apt install xvfb"
fi
;;
*)
warn "Unrecognized OS '$os'. Download draw.io: https://github.com/jgraph/drawio-desktop/releases"
;;
esac
command -v drawio >/dev/null 2>&1 \
&& log "draw.io CLI ready: $(drawio --version 2>/dev/null || true)" \
|| warn "draw.io CLI still not on PATH — export to PNG/SVG/PDF will be unavailable until it is."
}
install_graphviz() {
if command -v dot >/dev/null 2>&1; then
log "Graphviz already present."
return 0
fi
case "$os" in
Darwin) command -v brew >/dev/null 2>&1 && brew install graphviz || warn "Install Graphviz: brew install graphviz" ;;
Linux) sudo apt-get install -y graphviz 2>/dev/null || warn "Install Graphviz: apt install graphviz (or your distro's package)" ;;
*) warn "Install Graphviz from https://graphviz.org/download/" ;;
esac
}
install_skill_bundle() {
if command -v npx >/dev/null 2>&1; then
if [ "${GLOBAL:-0}" = "1" ]; then
log "Installing upstream drawio-skill bundle globally via npx skills…"
npx skills add Agents365-ai/365-skills -g || warn "npx skills add failed — install manually (git clone)."
else
log "Installing upstream drawio-skill bundle via npx skills…"
npx skills add Agents365-ai/365-skills || warn "npx skills add failed — install manually (git clone)."
fi
else
warn "Node.js/npx not found. Manual install:"
warn " git clone https://github.com/Agents365-ai/drawio-skill.git ~/.claude/skills/drawio-skill"
fi
}
log "Starting draw.io skill setup (os=$os)"
[ "${SKIP_CLI:-0}" = "1" ] || install_drawio_cli
[ "${WITH_GRAPHVIZ:-0}" = "1" ] && install_graphviz || true
[ "${SKIP_SKILL:-0}" = "1" ] || install_skill_bundle
log "Done. Verify with: drawio --version"
N:drawio
D:Turn natural language into editable `.drawio` diagrams and export to PNG/SVG/PDF/JPG via the native draw.io desktop CLI, or turn an existing Python/JS-TS/Go/Rust codebase into an auto-laid-out structure diagram. Wraps Agents365-ai/drawio-skill: 6 presets (ERD, UML class, sequence, architecture, ML/DL, flowchart), 10,000+ official AWS/Azure/GCP/Cisco/K8s/UML/BPMN shapes, 321 AI/LLM brand logos, vision self-check + auto-fix, 5-round refinement. No MCP server, no daemon.
T:Bash|Read|Write|Edit|Glob|Grep|WebFetch
G:drawio|draw.io|architecture diagram|ERD|UML diagram|sequence diagram|flowchart|network diagram|visualize codebase|code structure diagram|class hierarchy|export diagram png/svg/pdf|AWS/Azure/GCP icon|draw.io shapes
F:Claude|Codex|Gemini|Cursor|Copilot|OpenClaw
S:
1:Install the draw.io desktop CLI (`brew install --cask drawio` / releases / .deb-.rpm + xvfb); verify `drawio --version`
2:Install the skill — `npx skills add Agents365-ai/365-skills -g` or Claude plugin (`/plugin install drawio`) or git clone
3:Generate from text — describe the diagram; plan → generate XML → export draft → self-check → iterate
4:Visualize a codebase — `pyimports/jsimports/goimports/rustimports/pyclasses` → `autolayout.py` (Graphviz, transitive reduction, --group); `validate.py` lints
5:Resolve shapes/logos — `shapesearch.py "aws lambda"` (10k+ official), `aiicons.py "claude" --json|--embed` (321 AI/LLM logos)
6:Self-check + iterate (2-round auto-fix, 5-round feedback) and apply style presets (default/corporate/handdrawn or learned)
7:Plugin install of this wrapper — `npx skills add https://github.com/akillness/jeo-skills --skill drawio`
R:
mermaid:Use for diagrams-as-code in git, Markdown-embeddable
plantuml:Use for UML-as-code in CI pipelines
excalidraw/tldraw:Use for hand-drawn/whiteboard looks
presentation-builder:Use for slide-deck artifacts
ccpi-marketplace:Use for general Claude plugin browsing
Related skills
FAQ
What formats can it export?
PNG, SVG, PDF, and JPG via the native draw.io desktop CLI, while keeping the diagram editable.
Can it diagram existing code?
Yes; it can turn a Python, JS-TS, Go, or Rust codebase into an auto-laid-out structure diagram.