Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Always use when the user asks to create, generate, draw, or design a diagram, flowchart, architecture diagram, ER diagram, sequence diagram, class diagram, network diagram, mockup, wireframe, UI sketch, GRC workflow, control map, audit process, risk register flow, compliance architecture, or mentions draw.io, drawio, drawoi, .drawio files, or diagram export to PNG/SVG/PDF.
.claude/skills/grcengclub-drawio/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 38% | 0% |
| case-16 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-06 | ✓→✗ | ▼ Worse | 223% | 0% |
| case-13 | ✓→✗ | ▼ Worse | 223% | 0% |
| case-09 | ✓→✓ | = Same ✓ | 356% | 0% |
Generate draw.io diagrams as native .drawio files. Optionally export to PNG, SVG, or PDF with the diagram XML embedded so the exported file remains editable in draw.io.
This skill is based on the draw.io CLI workflow from jgraph/drawio-mcp/skill-cli and adapted for GRC professionals.
.drawio file in the current working directory using the Write tool.npx @drawio/postprocess is already available. Skip silently if it is unavailable. Do not install it or ask the user about it.png, svg, or pdf, locate the draw.io CLI, export with embedded XML, then delete the source .drawio file after a successful export..drawio file and tell the user they can install the draw.io desktop app to enable export or open the .drawio file directly.Check the user's request for a format preference.
create a flowchart -> flowchart.drawiopng flowchart for login -> login-flow.drawio.pngsvg: ER diagram -> er-diagram.drawio.svgpdf architecture overview -> architecture-overview.drawio.pdfIf no format is mentioned, write the .drawio file.
| Format | Embed XML | Notes | |--------|-----------|-------| | drawio | Native | Editable source file | | png | Yes, -e | Viewable everywhere, editable in draw.io | | svg | Yes, -e | Scalable, editable in draw.io | | pdf | Yes, -e | Printable, editable in draw.io | | jpg | No | Lossy and not editable |
Use double extensions for exported editable files: name.drawio.png, name.drawio.svg, name.drawio.pdf.
Try drawio on PATH first. Then use platform fallbacks:
/Applications/draw.io.app/Contents/MacOS/draw.iodrawioC:\Program Files\draw.io\draw.io.exe/mnt/c/Program Files/draw.io/draw.io.exeDetect WSL2 with:
bashgrep -qi microsoft /proc/version 2>/dev/null && echo WSL2
Export command:
bashdrawio -x -f <format> -e -b 10 -o <output> <input.drawio>
WSL2 example:
bash"/mnt/c/Program Files/draw.io/draw.io.exe" -x -f png -e -b 10 -o diagram.drawio.png diagram.drawio
Open commands:
open <file>xdg-open <file>cmd.exe /c start "" "$(wslpath -w <file>)"start <file>A .drawio file is native mxGraphModel XML. Always generate XML directly. Mermaid and CSV formats require conversion and should not be saved as native .drawio files.
Every diagram must have this structure:
xml<mxGraphModel adaptiveColors="auto"> <root> <mxCell id="0"/> <mxCell id="1" parent="0"/> </root> </mxGraphModel>
Cell id="0" is the root layer. Cell id="1" is the default parent layer. All diagram elements use parent="1" unless the diagram intentionally uses multiple layers.
For complete draw.io XML guidance, fetch and follow:
https://raw.githubusercontent.com/jgraph/drawio-mcp/main/shared/xml-reference.md
Use it for styles, edge routing, containers, layers, tags, metadata, dark mode colors, and XML well-formedness rules.
<!-- -->) in the output.&, <, >, ".id values for each mxCell.id="0" and id="1".<mxGeometry relative="1" as="geometry"/>.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-07 | fail→fail | 27,628 | 19,658 | -29% | 1 | 1 | 0% | 6,167 | 4,684 | -24% | 0 | 0 | — |
case-01 | fail→fail | 31,227 | 51,826 | +66% | 1 | 1 | 0% | 6,189 | 8,059 | +30% | 0 | 0 | — |
case-02 | fail→fail | 35,030 | 29,587 | -16% | 1 | 1 | 0% | 6,183 | 7,499 | +21% | 0 | 0 | — |
case-03 | fail→fail | 30,654 | 32,637 | +6% | 1 | 1 | 0% | 6,178 | 7,494 | +21% | 0 | 0 | — |
case-04 | fail→fail | 28,159 | 14,435 | -49% | 1 | 1 | 0% | 6,168 | 2,172 | -65% | 0 | 0 | — |
case-05 | fail→fail | 10,869 | 31,255 | +188% | 1 | 1 | 0% | 1,715 | 7,487 | +337% | 0 | 0 | — |
case-06 | pass→fail | 13,694 | 29,681 | +117% | 1 | 1 | 0% | 2,317 | 7,481 | +223% | 0 | 0 | — |
case-08 | fail→pass | 28,465 | 3,602 | -87% | 1 | 1 | 0% | 1,453 | 2,008 | +38% | 0 | 0 | — |
case-09 | pass→pass | 2,481 | 1,438 | -42% | 1 | 1 | 0% | 338 | 1,541 | +356% | 0 | 0 | — |
case-10 | pass→pass | 11,136 | 3,564 | -68% | 1 | 1 | 0% | 1,701 | 1,895 | +11% | 0 | 0 | — |
case-11 | pass→pass | 9,848 | 6,033 | -39% | 1 | 1 | 0% | 1,612 | 2,170 | +35% | 0 | 0 | — |
case-12 | pass→pass | 8,838 | 3,820 | -57% | 1 | 1 | 0% | 1,307 | 1,876 | +44% | 0 | 0 | — |
case-13 | pass→fail | 14,904 | 35,129 | +136% | 1 | 1 | 0% | 2,461 | 7,950 | +223% | 0 | 0 | — |
case-14 | pass→pass | 11,437 | 7,101 | -38% | 1 | 1 | 0% | 1,680 | 2,510 | +49% | 0 | 0 | — |
case-15 | pass→pass | 11,415 | 5,807 | -49% | 1 | 1 | 0% | 1,780 | 2,224 | +25% | 0 | 0 | — |
case-16 | fail→pass | 12,494 | 1,863 | -85% | 1 | 1 | 0% | 1,804 | 1,580 | -12% | 0 | 0 | — |
case-17 | pass→pass | 3,653 | 1,568 | -57% | 1 | 1 | 0% | 636 | 1,540 | +142% | 0 | 0 | — |
case-18 | pass→pass | 3,411 | 1,545 | -55% | 1 | 1 | 0% | 473 | 1,461 | +209% | 0 | 0 | — |
case-19 | pass→pass | 9,767 | 2,545 | -74% | 1 | 1 | 0% | 1,450 | 1,699 | +17% | 0 | 0 | — |
case-20 | fail→fail | 7,175 | 9,750 | +36% | 1 | 1 | 0% | 1,017 | 2,790 | +174% | 0 | 0 | — |
case-21 | fail→fail | 15,980 | 14,772 | -8% | 1 | 1 | 0% | 3,145 | 4,089 | +30% | 0 | 0 | — |
case-22 | fail→fail | 21,900 | 37,647 | +72% | 1 | 1 | 0% | 3,547 | 7,485 | +111% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 20 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of 0 percentage points is the difference between those two pass rates over the 20 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.