Install
$ agentstack add skill-betterlmy-agent-skills-drawio-skill ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Draw.io diagrams
Produce editable .drawio source first, then export and QA the requested deliverables. Preserve existing diagram tuning during revisions and keep source/editability separate from presentation compatibility.
Route resources deliberately
Read only the resources needed for the current request:
| Resource | Read when | |---|---| | references/workflow.md | Creating a diagram, changing layout broadly, or running visual review | | references/xml-authoring.md | Writing or editing Draw.io XML, containers, edges, layout, or transparent fills | | references/diagram-types.md | ERD, UML class, sequence, architecture, ML/DL, or flowchart structure | | references/style-presets.md | Applying, learning, listing, renaming, deleting, or setting a saved style | | references/style-extraction.md | Extracting a style from Draw.io XML or an image | | references/export.md | Exporting PNG/SVG/PDF/JPG or choosing editable versus PPT-safe output | | references/troubleshooting.md | Rendering, CLI, layout, PNG, SVG, font, or background failures | | references/cli-compatibility.md | CLI 版本、必需导出能力或版本漂移 |
Deterministic helpers:
| Script | Purpose | |---|---| | scripts/validate_drawio.py | Validate root cells, IDs, parents, edge geometry, and references | | scripts/repair_png.py | Repair only the known truncated-IEND form of embedded PNG export | | scripts/export_ppt_svg.py | Create transparent Office-safe SVG with fonts outlined as paths | | scripts/encode_drawio_url.py | Build a client-side diagrams.net URL when Desktop CLI is unavailable |
Workflow
- Confirm scope. Infer details already present in the prompt, attachment, or source file. Ask only when diagram purpose, required content, output format, destination, or fidelity target would materially change the result.
- Resolve style. Apply a clearly named saved preset; otherwise use the single user preset marked default; otherwise use built-in conventions. A component name is not a style name.
- Plan. Inventory nodes, containers, relationships, labels, direction, grid, and routing corridors before assigning geometry.
- Generate or edit. Follow
xml-authoring.md. For existing files, make targeted edits and preserve IDs/coordinates unless a layout-wide change requires regeneration. - Validate. Run
python3 /scripts/validate_drawio.pybefore rendering. - Preview and QA. Export a PNG without
-e, inspect it visually when vision is available, and perform no more than two automatic fix rounds. - Review. Apply user feedback to the existing XML and overwrite the same preview. After five review rounds, suggest Draw.io Desktop for fine tuning.
- Finalize. Choose the correct mode from
export.md, retain the.drawiosource, and report actual validation, skipped QA, and environment-dependent risks.
Non-negotiable source rules
- Include
mxCellroots0and1; keep IDs unique per page. - Escape XML attributes and use

for label line breaks. - Keep editable labels as
html=1; do not rewrite source text modes to fix PowerPoint. - Give every edge an expanded `` child.
- Use real parent-child containment for grouped content.
- Never use
--inside XML comments. - Use
fillColor=noneand no canvas-covering background shape when transparency is required. - Preserve unrelated user changes and do not overwrite source files outside the requested scope.
Export decisions
- Preview: no
-e; use a clean PNG for vision and review. - Editable final: use
-e; use double extensions such as.drawio.pngor.drawio.svgto signal embedded XML. - Embedded PNG: always run
scripts/repair_png.pyafter export. - PowerPoint/Office or exact fonts: use
scripts/export_ppt_svg.py; deliver the.drawiosource separately because outlined SVG text is not editable. - Strict SVG error such as
text is not svg: do not strip or mutate labels ad hoc; route to the PPT-safe export andtroubleshooting.md.
QA and completion
Before handoff:
- structurally validate the
.drawiosource; - check content, hierarchy, overlap, clipping, alignment, routing, contrast, and canvas bounds;
- validate final file type/XML where applicable;
- verify PPT-safe SVG contains no `
orforeignObject` nodes; - report both source and export paths;
- distinguish structural validation, visual QA, conditional skips, and untested target-environment behavior.
If Draw.io Desktop is unavailable or crashes in a restricted sandbox, stop retrying in the same isolation. Use scripts/encode_drawio_url.py or deliver valid .drawio XML, and explain which exports still require a host environment.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: betterlmy
- Source: betterlmy/agent-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.