Back to Registry View Author Profile
Official Verified
bruce-drawio
**Use this skill** when the user wants to create any diagram: flowchart, architecture, UML (sequence/class), ER, mindmap, network topology, or any visual diagram. Trigger words: "draw", "diagram", "flowchart", "architecture", "UML", "sequence diagram", "mindmap", "ER diagram", "network topology", "visualize", "draw.io", "drawio". Workflow: understand requirements -> generate drawio XML directly -> self-review -> CLI export PNG/SVG/PDF.
skill-install — Terminal
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/bruc3van/bruce-drawioOr
Draw.io Diagram Generator
Workflow
1. Understand requirements -> determine diagram type, elements, relationships
2. Generate XML directly -> write drawio XML (read only the relevant section from references/best-practices.md)
3. Self-review (DO NOT SKIP) -> re-read XML and fix any issues found
4. Save .drawio file -> write to user's working directory
5. CLI export -> call draw.io desktop CLI to export image
6. Deliver to user -> show image + provide editable .drawio file
Step 1: Understand Requirements
Determine:
- Diagram type: flowchart / architecture / uml-sequence / uml-class / er / mindmap / network
- Key elements: nodes, components, participants, entities
- Relationships: connections, dependencies, flow direction
- Output format: PNG (default) / SVG / PDF
- Language: match the user's language for labels
Step 2: Generate XML
You MUST write the XML directly. Do not call any script to generate it.
Base XML Structure
<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="app.diagrams.net" agent="drawio-skill" version="21.0.0" type="device">
<diagram name="DiagramName" id="diagram-1">
<mxGraphModel dx="1422" dy="762"
grid="1" gridSize="10"
guides="1" tooltips="1" connect="1"
arrows="1" fold="1"
page="1" pageScale="1"
pageWidth="1600" pageHeight="1200"
math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<!-- nodes and edges here -->
</root>
</mxGraphModel>
</diagram>
</mxfile>
Node Template
<mxCell id="node-1" value="Label"
style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=14;"
vertex="1" parent="1">
<mxGeometry x="100" y="100" width="160" height="60" as="geometry" />
</mxCell>
Text Content Rules
- For multi-line labels, encode line breaks as

insidevalue, for examplevalue="API
Gateway" - Do not write literal
\ninsidevalue; draw.io will render it as backslash + n text - Keep
html=1on nodes, but still use
as the default line-break form for predictable output
Edge Template
<mxCell id="edge-1" value=""
style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;"
edge="1" parent="1" source="node-1" target="node-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
Step 3: Layout Rules (CRITICAL for beautiful output)
General Principles
Metadata
AI Skill Finder
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skill Add to Configuration
Paste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-bruc3van-bruce-drawio": {
"enabled": true,
"auto_update": true
}
}
}Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.