drawio-skill
A skill for editable draw.io diagrams from text, code, Terraform, Kubernetes, SQL and OpenAPI, with export and self-checks
- 10,419 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The skill runs Python scripts and the draw.io CLI
- Can read output of terraform show, docker inspect and kubectl
Install
- Works in
Manual install
npx skills add Agents365-ai/drawio-skill -gInstall the draw.io desktop CLI first
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The skill runs Python scripts and the draw.io CLI
- Can read output of terraform show, docker inspect and kubectl
This is third-party code. Review the repository files before installing.
What it does
The skill turns a description or real sources into editable .drawio files. It plans the layout, writes XML, exports PNG, self-checks for overlaps and clipped labels and fixes up to two rounds. It builds diagrams from code imports, Terraform, Kubernetes, docker-compose, SQL DDL, OpenAPI and CI, and converts Mermaid and whiteboard photos. Incremental sync preserves manual layout, and architecture rules can be enforced in CI.
Who it is for. Developers, architects and technical writers who need precise architecture diagrams.
Good fit when
- You need a microservices diagram with official AWS or Kubernetes icons
- You want an ER diagram from a SQL schema
- You need to visualize a project's module structure
- You need to diff two architecture versions
Not a fit when
- You want a hand-drawn look: the author suggests excalidraw-skill or tldraw-skill
- Diagrams should live in git and render in Markdown: use mermaid-skill
Example request
Draw our service architecture in draw.io from the infra folder with official AWS iconsLimitations
Requires the draw.io desktop CLI, with version 30+ recommended for Mermaid and ELK layout. Graphviz is optional for auto layout. AI logos load from the unpkg CDN by default, with --embed for offline use.
How to disable. Delete the drawio-skill folder from your skills directory, for example ~/.claude/skills/drawio-skill.
FAQ
How does it differ from the official jgraph plugin?
Per the README drawio-skill complements the official drawio@drawio plugin: both generate .drawio and export via the desktop CLI, with a full comparison in docs/COMPARISON.md.
Discussion
No questions or reviews yet.
Related
SkillsDraw.io Skill
Draw.io Skill for Claude & Codex
Skills for draw.io diagrams: architecture, networks, flowcharts, import from Terraform and code, offline generation from YAML and PNG and SVG export
A skill that draws editorial diagrams as standalone HTML and SVG files: architecture, flowcharts, ER, funnels and about forty more types
A Codex plugin that redraws a scientific figure from a reference on the live draw.io canvas step by step, then validates and exports the file
A skill that draws 45 types of animated diagrams from a short JSON spec and saves them as HTML, SVG, PNG, GIF and MP4
A skill that builds Excalidraw diagrams from a description and checks their look with a Playwright render
A skill that draws a system architecture diagram as one HTML file with SVG plus copy, PNG and PDF export
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Repository stars | Main difference |
|---|---|---|---|
| drawio-skill (this entry) | no | 10,419 | |
| Draw.io Skill | no | 297 | skills for draw.io diagrams |
| Next AI Draw.io | no | 36,485 | Next AI Draw.io is an MCP server and plugin where the agent draws |
| Draw.io Scientific Illustrator | no | 1,463 | a Codex plugin that redraws a scientific figure from a reference on |
README in short
The README covers generating from prompts and real sources, sync that keeps manual layout, architecture tests in CI and repurposing to HTML, PowerPoint and SVG. It offers search across 10,000+ official shapes and 321 AI logos. Install via npx skills or git clone after installing the draw.io CLI. A fit section explains when sibling skills from the author are better.
README badge
Original SKILL.md
---
name: drawio-skill
description: Create, edit, synchronize, inspect, test, and publish editable draw.io diagrams. Use when the user explicitly requests draw.io/diagrams.net, needs a polished architecture, ERD, UML, sequence, C4, SysML, BPMN, network, swimlane, ML, or infrastructure diagram, wants code/IaC/SQL/OpenAPI/AsyncAPI/Protobuf/GraphQL converted into a diagram, or wants an existing diagram queried, reviewed, diffed, restyled, kept in sync, or made interactive. Prefer Mermaid/PlantUML elsewhere when the requested artifact is diagrams-as-code rather than an editable draw.io file.
license: MIT
allowed-tools: [Bash, Read, Write, WebFetch]
metadata: {"openclaw":{"requires":{"anyBins":["python3"]},"emoji":"📐","os":["darwin","linux","win32"],"install":[{"id":"brew-drawio","kind":"brew","formula":"drawio","bins":["drawio"],"label":"Install draw.io for native exports","os":["darwin"],"optional":true},{"id":"brew-graphviz","kind":"brew","formula":"graphviz","bins":["dot"],"label":"Install Graphviz for automatic layout","os":["darwin"],"optional":true}]},"hermes":{"tags":["drawio","diagram","architecture","visualization","uml"],"category":"design","requires_tools":["python3"],"related_skills":["mermaid","excalidraw","plantuml"]},"author":"Agents365-ai","version":"3.4.0","homepage":"https://github.com/Agents365-ai/drawio-skill","compatibility":"Core IR, XML, sync, query, test, review, and Story workflows need Python 3 only; native export needs draw.io; Graphviz is optional.","platforms":["macos","linux","windows"]}
---
# Draw.io Architecture Studio
Produce editable `.drawio` artifacts, not flattened pictures. The preferred
entrypoint is `scripts/diagramctl.py`, which unifies generation, incremental
sync, multi-view projection, semantic queries/tests/reviews, failure analysis,
and accessible publishing over a shared Diagram IR.
## Choose the workflow
| Request | Route |
| --- | --- |
| Natural-language diagram with precise styling | Read `references/diagram-types.md`, then `references/xml-authoring.md` and author XML |
| Standard flowchart/mindmap/gantt/timeline/etc. with no special styling | If draw.io >=30, read `references/mermaid-authoring.md` and convert Mermaid to native `.drawio` |
| Large graph (~15+ nodes) that needs automatic layout | Use `autolayout.py`; read `references/autolayout.md` before passing any `--layout` value |
| Code, Terraform, K8s, compose, SQL, OpenAPI, AsyncAPI, or CI source | Use `diagramctl.py build`; read `references/diagram-ir.md` |
| Protocol Buffers schema (.proto) | Use `protoimports.py` or `diagramctl.py build`; read `references/toolbox.md` |
| GraphQL SDL schema (.graphql/.gql) or introspection JSON | Use `graphqlerd.py` or `diagramctl.py build`; read `references/toolbox.md` |
| Running cluster/stack/cloud (actual state, not declared config) | Read `references/live-infra.md`, then use `tfstate.py`, `dockerimports.py`, or `k8simports.py -` |
| Update a generated diagram without losing manual layout | Use `diagramctl.py sync`; read `references/diagram-ir.md` |
| Executive/system/deployment/data-flow/security views | Use `diagramctl.py views`; read `references/diagram-ir.md` |
| Query, architecture policy, review, what-if, or guided walkthrough | Read `references/semantic-workflows.md` |
| MCP host (Claude Desktop, Cursor, VS Code, Codex) should call these workflows | Register `scripts/diagramctl_mcp.py`; read `references/mcp.md` |
| Prompt phrasing for a diagram type or semantic workflow | Read `references/cookbook.md` |
| Enforce architecture rules or visual diffs in GitHub Actions CI | Read `references/ci-gate.md` |
| Rendered before/after/diff images as a PR review comment | Use `prdiff.py`; read `references/pr-bot.md` |
| Existing `.drawio` to HTML/PPTX/Mermaid/Markdown/animation/runbook | Read `references/toolbox.md`; `diagramctl.py transform` exposes the existing tools |
| Pipeline, journey, or subsystem map drawn as a metro/subway map | Use `tubemap.py`; read `references/tubemap.md` |
| Shape, cloud/vendor, AI, or Databricks icon | Read `references/shapes.md` or `references/databricks.md`; never guess shape names |
| Learn/apply/manage a visual style | Read `references/style-presets.md` |
| Extract a reusable style from an existing diagram or theme | Read `references/style-extraction.md` |
| Existing image to editable diagram (screenshot, whiteboard photo, legacy PNG) | Read `references/derasterize.md` |
| Export/platform problem | Read `references/troubleshooting.md`; for access/network questions read `references/security.md` |
## Unified CLI
Run from this skill directory, or replace `scripts/` with the absolute path to
this skill's scripts directory:
```bash
python3 scripts/diagramctl.py doctor
python3 scripts/diagramctl.py build model.json --from ir -o architecture.drawio
python3 scripts/diagramctl.py build ./infra --from terraform --group \
--ir-output architecture.ir.json -o architecture.drawio
python3 scripts/diagramctl.py sync architecture.drawio ./infra --from terraform \
-o architecture.next.drawio
python3 scripts/diagramctl.py views architecture.ir.json \
--views executive,system,deployment,dataflow,security -o views.drawio
python3 scripts/diagramctl.py test architecture.drawio --rules policy.yml
python3 scripts/diagramctl.py review architecture.drawio -o review.md
python3 scripts/diagramctl.py query architecture.drawio --from internet --to orders-db
python3 scripts/diagramctl.py whatif architecture.ir.json --fail kafka \
--drawio kafka-failure.drawio -o impact.json