diagram-design
cathrynlavery/diagram-designA diagram skill that writes 45 diagram types as one self-contained HTML and SVG file in your brand, with onboarding, import and PNG export.
Skill that turns natural language, Terraform, SQL, OpenAPI and other sources into editable draw.io diagrams, with incremental sync, drift detection and CI tests.
A genuinely deep diagramming skill with sync, drift tests and many export formats; it does require the draw.io desktop app for full functionality.
drawio-skill generates and maintains .drawio architecture models rather than one-off pictures. It converts natural language descriptions, Terraform or Kubernetes manifests, SQL schemas, OpenAPI, AsyncAPI, Protobuf and GraphQL sources into diagrams, and also goes the other way: querying dependencies, simulating failure propagation, projecting multiple views from one model, and running architecture tests in CI that fail a build when the diagram and the real system drift apart. Incremental sync updates a diagram from new source code without discarding the layout you manually arranged. Other commands derasterize a whiteboard photo back into an editable model and export interactive HTML, PPTX or Mermaid walkthroughs. The single SKILL.md is about 9.7 KB, with 25 reference files and roughly 45 scripts handling layout (aiicons.py maps 321 AI/LLM brand logos to draw.io styles, autolayout.py wraps Graphviz), diagram IR manipulation, compression and a diagramctl CLI with an optional MCP server. It needs the draw.io desktop app (version 30 or newer recommended) for Mermaid conversion and ELK layout, and Graphviz is optional for layout.
One 9.7 KB SKILL.md with 25 reference files and about 45 scripts covering layout, sync, drift testing and multiple export formats, but no bundled test suite of its own.
Counted from the repository file tree. How we score depth.
The SKILL.md opens with a routing table, and the route decides which reference file the agent reads first. The main entrypoint is scripts/diagramctl.py, which handles generation, incremental sync, multi-view projection, queries, tests, reviews, failure analysis and publishing over a shared Diagram IR.
| What you ask for | What the skill does |
|---|---|
| A diagram from a description, with precise styling | Reads references/diagram-types.md, then references/xml-authoring.md, and writes draw.io XML directly |
| A standard flowchart, mindmap, gantt or timeline with no special styling | On draw.io 30 or newer, reads references/mermaid-authoring.md and converts Mermaid text into a native .drawio |
| A large graph (roughly 15+ nodes) | Uses autolayout.py and reads references/autolayout.md before passing any --layout value |
| Code, Terraform, K8s, compose, SQL, OpenAPI, AsyncAPI or CI config | Runs diagramctl.py build, guided by references/diagram-ir.md |
| A Protocol Buffers schema | Uses protoimports.py or diagramctl.py build |
For a prompt-driven diagram, the README describes this loop:
When the source changes later, diagramctl sync updates the nodes and relations that changed and keeps your tuned coordinates, styles and annotations. Removed nodes are not dropped silently. They stay reviewable by default.
The skill ships 11 diagram type presets: ERD, UML Class, Sequence, C4, Architecture, ML/Deep Learning, Flowchart, SysML, BPMN, Network Topology and Cross-Functional Swimlane. On draw.io 30 or newer, you can also write any of 28 standard Mermaid types (mindmap, gantt, timeline, journey, pie, sankey, kanban and others) and have the CLI turn them into a laid-out, editable .drawio.
Supported source inputs:
terraform show -json, docker inspect or kubectl get -o jsonFor vendor icons, scripts/shapesearch.py searches an index of 10,446 real draw.io palette shapes, each with its exact style and size. The skill's shape reference tells the agent to prefer a searched style over a hand-written one.
Output options include an interactive HTML viewer with pan, zoom and search, a PowerPoint deck, animated data-flow SVG, Mermaid or Markdown export, a click-through runbook, and an exec-summary compression. Built-in style presets such as dark and corporate restyle a diagram, and bilingual label variants leave the layout untouched.
After installing the draw.io desktop app, run drawio --version to confirm the CLI is on your path. Version 29 and earlier lack both Mermaid conversion and the ELK --layout pass. On WSL2, the CLI is the Windows desktop executable, so plan for that path rather than a Linux binary.
The SKILL.md frontmatter sets disable-model-invocation: true. On hosts that honor that field, the agent will not load the skill on its own, so you need to call it explicitly. The frontmatter also requests Bash, Read, Write and WebFetch tools.
On macOS, the metadata lists optional Homebrew formulas for drawio (native exports) and graphviz (automatic layout). Without them, the core IR, XML, sync, query, test, review and Story workflows still run on Python 3 alone.
According to the install docs, the recommended installer has its own update command. SkillsMP is a listing only and does not install or update the skill, so a listing there does not mean you have the skill installed.
This skill asks for more access than most, or sends data to another service. That is usually a design choice rather than bad intent, but you should know before you install it.
allowed-tools: [Bash, Read, Write, WebFetch] pre-approves unrestricted Bash (the same file sets disable-model-invocation: true, so it only runs when you invoke it).skills/drawio-skill/SKILL.md:6A draw.io diagram toolkit with many local Python scripts that build, convert and export diagrams, importing from code, Terraform, Kubernetes and SQL. SKILL.md pre-approves unrestricted Bash, so the agent can run the scripts or any shell command without prompting once you invoke it. The only network traffic we found is optional icon downloads from an allowlist; diagram data placed in diagrams.net URLs stays in the URL fragment and is not sent to a server by the script.
--embed in aiicons.py and dbxicons.py (line 152) downloads icon SVGs over HTTPS from an allowlist (unpkg.com, cdn.simpleicons.org, raw.githubusercontent.com, api.github.com, oieduardorabelo.github.io); diagrams may also reference remote icon URLs without --embed.skills/drawio-skill/scripts/aiicons.py:88The repository (195 files) on Oct 29, 2026. Not a full review: 1 of 195 files were not downloaded (large repository; we reviewed the skill folders); it contains compiled binaries or archives we cannot read; we read 2 of 69 code files; it relies on code outside the repository: draw.io desktop CLI (jgraph/drawio-desktop) and Graphviz, called by the scripts; skills/drawio-skill/data/shape-index.json.gz (compressed data file); most of the 69 code files were pattern-scanned for network, subprocess, file-write and eval use but not read line by line; only encode_drawio_url.py and repair_png.py were read in full.
NVIDIA SkillSpector static scan: 129 pattern hits (Dangerous Code Execution 52, MCP Rug Pull 23, Rogue Agent 20, Privilege Escalation 18, Data Exfiltration 6, Tool Misuse 3). The 129 hits are mostly subprocess calls to local tools (drawio, dot, git), sudo/apt-get lines in CI docs and a GitHub Action, mkdir -p/symlink install instructions in the README, base64 used to embed icons and PNG frames as data URIs, and draw.io XML comments. skills/drawio-skill/references/security.md documents the offline-by-default behaviour and the fetch allowlist, which matched the code we checked.
A review, not a certification. Skills change after we check them — read the files before installing.
MIT — commercial use allowed.
Yes. CI architecture tests can run unattended on every build to catch when a diagram has drifted from the real system.
A diagram skill that writes 45 diagram types as one self-contained HTML and SVG file in your brand, with onboarding, import and PNG export.
A skill that turns a description or a codebase into a validated, interactive standalone HTML diagram or one-page explainer.
Skill that builds interactive isometric SVG, WebGL and 3D figures explaining a technical idea as a working physical object, then checks its own output.
A Mermaid diagram and design-doc skill with a 23 KB router, 11 document templates, guides and scripts to validate and render diagrams with mermaid-cli.
drawio-skill is an agent skill that generates and maintains editable draw.io diagrams from natural language, code, infrastructure-as-code and API schemas, with sync, drift detection and CI tests.
Copy or symlink skills/drawio-skill/ so SKILL.md sits directly under your host's skills directory; cloning the whole repository root into a skills folder will not work. It needs the draw.io desktop app installed.
Yes, for full functionality such as Mermaid conversion and the ELK layout pass, version 30 or newer is recommended. Some core workflows are offline and stdlib-only.
drawio-skill targets the editable .drawio format with sync and drift testing against real system sources. diagram-design focuses on editorial-quality diagram visuals; pick based on whether you need an editable architecture model or a polished illustration.
The README lists Claude Code, Cursor, Copilot, OpenClaw, Codex, Autohand Code and Hermes, plus any agent compatible with the Agent Skills format. The SKILL.md metadata lists macOS, Linux and Windows.
The skill's own description says to prefer Mermaid or PlantUML when diagrams-as-code is enough. Use drawio-skill when you need an editable .drawio file, draw.io/diagrams.net output, or sync and testing against real sources.
Yes. Besides reading Terraform, Kubernetes and docker-compose configs, it can snapshot live state from terraform show -json, docker inspect or kubectl get -o json, and it can produce color-coded diffs between two live snapshots.