flow-skill
GitHub用于生成、编辑和验证 draw.io/diagrams.net XML 格式图表的技能,支持基于形状库的图表创建、本地 XML 修改及图像导出。
Trigger Scenarios
Install
npx skills add CodingFeng101/CanvasAnvil --skill flow-skill -g -y
SKILL.md
Frontmatter
{
"name": "flow-skill",
"description": "Generate, edit, validate, and bundle draw.io or diagrams.net diagrams in XML form. Use for new diagrams, local XML edits, shape-library diagrams, truncated XML continuation, and local image export."
}
Flow Skill
Trigger
Use when the task requires draw.io or diagrams.net XML output, local XML editing, shape-library-backed diagrams, or exported image artifacts.
Order
- Classify the request.
- Read the required references.
- Produce or modify draw.io XML.
- Validate when needed.
- Export or bundle artifacts when requested.
Classification
prompts/display.md- new diagram
- major rewrite
- major relayout
- any case where local editing is fragile
prompts/edit.md- current XML exists
- change is small and precise
- ids can remain stable
prompts/append.md- earlier XML output was truncated
prompts/router.md- routing decision needed before generation
Required References
references/xml-rules.mdreferences/edit-rules.mdreferences/shape-library-index.mdreferences/shape-libraries/<library>.md
Read the library file before generating any library-backed diagram.
Do not guess undocumented shape-library prefixes or shape names.
XML Contract
- New diagrams should normally produce a full
<mxGraphModel>with<root>. - All
mxCellelements must be direct children of<root>. - Root cells must exist:
<mxCell id="0"/><mxCell id="1" parent="0"/>
- Every id must be unique.
- Every edge
sourceandtargetmust reference existing ids. - Preserve existing ids during local edits unless renaming is explicitly required.
- Escape XML attribute values correctly.
- Do not emit XML comments.
Output Contract
- Prefer complete XML for new diagrams.
- Prefer the smallest safe edit set for local changes.
- Stop at a clean boundary when output length is at risk.
- Continue from the exact next character when appending.
Scripts
scripts/validate-drawio-xml.mjsscripts/export-drawio-image.mjsscripts/build-flow-bundle.mjs
If the user specifies an output directory or file path, write artifacts there.
If the user does not specify an output location, create a new output folder automatically and write all artifacts there.
Do not write generated artifacts into the skill folder.
Deliverables
Preferred:
.drawiopng- metadata JSON
Optional on request:
svgxmlpng
Version History
- d33dc57 Current 2026-08-20 07:35


