drawio-skill
Skill3 starsChanged 4 months agoMITView on GitHub
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.
17 other projects use a version of this, 6 of them edited.
Adopted by
Most recently taken up by
- jgeofil/agent-skillsedited, first seen Nov 8, 2026
- cadecode/agent-skillsedited, first seen Nov 1, 2026
- Big-LAORE/Biblioth-que-de-skillsedited, first seen Nov 1, 2026
- tam159/next-roleedited, first seen Nov 1, 2026
- betterlmy/agent-skillstheir own version, first seen Oct 15, 2026
- zhouycheng/skillstheir own version, first seen Oct 13, 2026
Used with
Projects with it also use archify, find-skills and 1 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
HK-hubSkillarchify
Create polished, validated architecture, workflow, sequence, data-flow, and lifecycle/state diagrams as explorable standalone HTML with inline SVG, dark/light themes, semantic navigation, optional trace motion, an optional 1200×630 Share Card PNG, and PNG/JPEG/WebP/SVG/WebM export. Accept plain-language requirements or pasted Mermaid flowchart, sequenceDiagram, and stateDiagram input; inspect repository evidence when the diagram must reflect real code. Use when the user asks to visualize system architecture, infrastructure, cloud/security/network topology, technical workflows, approval or CI/CD flows, API call sequences, request lifecycles, data pipelines, ETL/ELT, data lineage, state machines, or to convert/beautify Mermaid. Prefer typed JSON IR renderers and deterministic validation; deliver static output by default, enable motion only when requested, and use optional post-commit opening only for an interactive local handoff.
Also in 4 projects that use this
VercelSkillfind-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Also in 3 projects that use this
BlockSkillfrontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Also in 3 projects that use this
Other versions17 projects use a version of this.
Word for word · 0
None found.
Edited · 6
- Agents365-ai/drawio-skill★ 11k83% same
- tam159/next-role★ 6775% same
- BINGWU2003/skills★ 394% same
- Big-LAORE/Biblioth-que-de-skills★ 194% same
- cadecode/agent-skills★ 177% same
- jgeofil/agent-skills★ 094% same
Wrote their own version · 11
- ninehills/skills★ 280same name
- jorgeasaurus/agent-skills★ 14same name
- HK-hub/AgentSkills★ 6same name
- tuoxie2046/claude-code-research-skills★ 5same name
- betterlmy/agent-skills★ 3same name
- airclear/skills★ 2same name
- bushuhui/skills★ 2same name
- xtiqny/SKILLS★ 2same name
- manastalukdar/ai-devstudio★ 1same name
- zhouycheng/skills★ 1same name
1 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository33 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- ckpt-cleanupSkill
- commitSkill
- confluence-research-recordSkill
- confluenceSkill
- cost-resetSkill
- costSkill
- discussSkill
- dumbifySkill
- experimental-designSkill
- experimentSkill
- figureSkill
- graphifySkill
- grokSkill
- harness-auditSkill
- harness-benchSkill
- intentSkill
- learn-from-feedbackSkill
- neuro-explainSkill
- paper-readSkill
- paperSkill
- project-initSkill
- pydicomSkill
- quick-skillSkill
- researchSkill
- setup-panelsSkill
- solveSkill
- statistical-analysisSkill
- statistical-powerSkill
- storytellingSkill
- wandb-cleanupSkill
- workflowSkill
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 2 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 16 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 44
Run from this skill directory, or replace scripts/ with the absolute path to this skill's scripts directory:
- Very specific: line 84
When semantic metadata or an architecture policy is in scope, also run diagramctl.py test.
- Very specific: line 90
When the drawio binary is unavailable or a visual check is inconclusive, verify the renderer's own DOM instead (--dump-dom on the viewer …
- Distinctive: line 98
After approval, create final requested formats and report both editable source and export paths.
- Very specific: line 119
Do not combine --width and -s.
- Very specific: line 122
If the CLI crashes in a macOS sandbox, try one permitted escalated run, then use encode_drawio_url.py or deliver XML.
- Very specific: line 127
Use stable semantic IDs and never reuse reserved IDs 0 or 1.
- Very specific: line 128
Every edge requires <mxGeometry relative="1" as="geometry"/>.
- Very specific: line 131
Keep provenance, data-model-id, semantic properties, manual geometry, and manual styles intact unless the user requests otherwise.
- Distinctive: line 133
When reconciling, retain removals as reviewable faded elements by default.
“Common” is measured: kept by at least 6 in 10 of the 16 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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:
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
python3 scripts/diagramctl.py story architecture.ir.json -o walkthrough.htmldoctor does not launch GUI tools unless --probe is passed. Core semantic
commands are offline and stdlib-only.
Creation workflow
- Infer the diagram type, audience, scope, output format, and location from the
request. Ask only when a missing choice materially changes the result;
default to PNG plus
.drawioin the working directory. - Select the authoring route from the table above. For a data-backed diagram,
prefer Diagram IR and preserve provenance. For a large graph, use an importer
or
autolayout.py; do not hand-place more than roughly fifteen nodes. - Resolve an explicitly named style preset, or the user's default preset, as
documented in
references/style-presets.md. Structural diagram conventions and visual presets compose; they do not replace each other. Generate the
.drawio, then run structural validation:python3 scripts/validate.py diagram.drawio --scoreWhen semantic metadata or an architecture policy is in scope, also run
diagramctl.py test. Do not present inferred semantic findings as verified runtime facts.- Export a draft PNG without embedded XML and inspect it visually. Fix obvious
overlap, clipping, disconnected edges, edge-through-node routing, stacked
edges, and unreadable labels. Stop automatic vision repair after two rounds.
When the drawio binary is unavailable or a visual check is inconclusive,
verify the renderer's own DOM instead (
--dump-domon the viewer URL, seereferences/troubleshooting.md): read each edge's<path>segments and label anchor coordinates directly — vision alone both misses geometry defects and hallucinates new ones. - Show the draft and apply targeted edits. Preserve existing geometry for
local changes. Use
syncfor source-backed changes and write a reviewable output; use--pruneonly when deletion was requested. - After approval, create final requested formats and report both editable source and export paths.
Export invariants
Resolve the available binary once (drawio, draw.io, the macOS app path, or
the Windows executable) and use that exact binary for the run.
# Draft for visual inspection: never use -e here
drawio -x -f png --width 2000 -o diagram.png diagram.drawio
# Final editable PNG
drawio -x -f png -e -s 2 -o diagram.drawio.png diagram.drawio
python3 scripts/repair_png.py diagram.drawio.png
# Final editable SVG/PDF
drawio -x -f svg -e --embed-svg-images -o diagram.svg diagram.drawio
drawio -x -f pdf -e -o diagram.pdf diagram.drawioDo not combine --width and -s. Embedded PNG exports require
repair_png.py; draft PNGs used by vision must not use -e. On Linux headless,
follow references/troubleshooting.md rather than improvising Electron flags.
If the CLI crashes in a macOS sandbox, try one permitted escalated run, then use
encode_drawio_url.py or deliver XML; do not repeatedly launch it.
Editing and identity
- Use stable semantic IDs and never reuse reserved IDs
0or1. - Every edge requires
<mxGeometry relative="1" as="geometry"/>. - For a local edit, change the matching cell only; for a global direction change, regenerate/re-layout the page.
- Keep provenance,
data-model-id, semantic properties, manual geometry, and manual styles intact unless the user requests otherwise. - When reconciling, retain removals as reviewable faded elements by default.
- For edges stacked at a boundary, run
edgeports.py; add waypoints when an edge still crosses an unrelated shape. There is no CLI-only edge rerouter that preserves node positions.
Quality and trust
An attractive diagram can still be wrong. Prefer source-backed relationships, show provenance where useful, distinguish exact extraction from AI inference, and keep architecture review findings framed as prompts. Story HTML must remain self-contained, keyboard usable, and include a text alternative. Never include secrets in node properties or provenance because they are embedded in outputs.
For all focused scripts and composition patterns, read references/toolbox.md;
load only the task-specific reference needed for the current request.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

