Draw.io Skill is a YAML-first, offline-first workflow for producing professional draw.io diagrams from natural language, YAML, Mermaid, CSV, or imported .drawio files.
skills/drawio for general diagrams, network topology, UML/ER/sequence/state diagrams, Mermaid/CSV conversion, import/export, style presets, and optional live refinement.skills/drawio-academic-skills for paper, thesis, IEEE, journal, manuscript, A4/Word/LaTeX, and publication-ready figure requests.The academic overlay requires sibling ../drawio. It does not copy base CLI, schemas, themes, examples, or workflow references.
npx and the local CLIRecommended:
npx skills add bahayonghang/drawio-skills
Then restart your client so it reloads the skills.
Manual academic installs must copy both drawio and drawio-academic-skills side by side.
Use this for normal create, edit, validate, replicate, import, and export work.
.drawio.spec.yaml and .arch.json in a project-local work directory such as .drawio-tmp/<name>/Use this when draw.io Desktop is installed and you need:
.drawio.svgUse this only for base-skill browser refinement when explicitly requested.
Academic overlay does not use MCP/live backend.
/drawio create a horizontal tech-blue login flow with 6 nodes
meta:
theme: tech-blue
layout: horizontal
nodes:
- id: start
label: Start
type: terminal
- id: auth
label: Auth Service
type: service
- id: db
label: PostgreSQL
type: database
edges:
- from: start
to: auth
type: primary
- from: auth
to: db
type: data
Render it:
node skills/drawio/scripts/cli.js input.yaml output.drawio --validate --write-sidecars --sidecar-dir .drawio-tmp/output
/drawio-academic-skills create a publication-ready system architecture figure for an IEEE paper. Use grayscale-safe styling and deliver final .drawio + .svg with sidecars in a work directory.
The overlay should preflight venue, figure type (architecture, roadmap, or workflow), color policy, caption/legend, formula fidelity, and export expectations, then execute through sibling ../drawio/scripts/cli.js.
If the skill created the diagram, edit the sidecar in the work directory:
.drawio-tmp/output/output.spec.yamloutput.drawio.drawio-tmp/output/output.arch.json in sync with --write-sidecars --sidecar-dir .drawio-tmp/outputIf you only have a .drawio file, import it first:
node skills/drawio/scripts/cli.js existing.drawio --input-format drawio --export-spec --write-sidecars --sidecar-dir .drawio-tmp/existing
Generate a standalone SVG:
node skills/drawio/scripts/cli.js input.yaml output.svg --validate --write-sidecars --sidecar-dir .drawio-tmp/output
Use draw.io Desktop when you need raster or PDF export:
node skills/drawio/scripts/cli.js input.yaml output.pdf --validate --use-desktop
If Desktop is unavailable, use the editable .drawio plus SVG and optionally generate a diagrams.net URL:
node skills/drawio/scripts/runtime/diagrams-net-url.js output.drawio