CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

drawio

Always use when user asks to create, generate, draw, or design a diagram, flowchart, architecture diagram, ER diagram, sequence diagram, class diagram, network diagram, mockup, wireframe, or UI sketch, or mentions draw.io, drawio, drawoi, .drawio files, or diagram export to PNG/SVG/PDF. Exception: in a chat that shows diagrams inline (VS Code's or Cursor's own chat, Claude.ai, ChatGPT) where the draw.io MCP server's create_diagram tool is available, call that tool instead, unless the user asks for a file or an export. Claude Code, Codex and Copilot CLI, also in their VS Code and JetBrains extensions, don't show diagrams inline: use this skill there.

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

The canonical home for this skill is drawio in jgraph/drawio-mcp

SKILL.md
Quality
Evals
Security

Quality

Content

85%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable, well-sequenced operational manual: every step has exact commands, the XML path has an explicit repair-pass validation checkpoint, and the troubleshooting table provides genuine error-recovery loops. Its weaknesses are that the main file carries environment-specific edge-case detail (Windows/WSL2 CLI location, .url workarounds) that belongs in reference files, and a few spots over-explain shell basics Claude already knows.

Suggestions

Move the Windows/WSL2 CLI-location chains (registry queries, find-drawio.ps1, per-user install paths) and the Windows .url-file workaround into a references/ file (e.g. references/windows-cli.md), keeping SKILL.md to a short pointer plus the macOS/Linux detection — this would cut roughly a third of the body while keeping those steps one fetch away when actually needed.

Trim explanations of concepts Claude already knows, e.g. 'Do not wrap it in backticks — in bash that is command substitution, which would execute the binary' and the restatement of the export command in the 'Export command' section after it already appears in 'The pipeline'.

Consider bundling condensed versions of the three remote references (mermaid-reference, xml-essentials, xml-reference) or their most-used subsets locally, so authoring does not depend on network fetches to raw.githubusercontent.com at diagram-creation time.

DimensionReasoningScore

Conciseness

Dense with operational specifics Claude does not know (direct Mermaid→PNG '-e' export is broken, the '#R' URL format vs '#create=' rewrite, zlib-vs-pako byte mismatch, --disable-gpu for headless GPU failures) with almost no concept tutorials. Minor over-explanations keep it from 5: explaining that backticks in bash are command substitution, and the export command appearing in both 'The pipeline' and the 'Export command' section.

4 / 5

Actionability

Fully executable, copy-paste-ready guidance throughout: exact CLI invocations ('drawio -x -f xml -o diagram.drawio diagram.mmd'), the Node zlib URL one-liner, a complete PowerShell CLI-detection script, a full flag table, per-platform open commands, and concrete WSL2/Windows '.url' workarounds. The examples cover all common output paths (drawio/png/svg/pdf/url).

5 / 5

Workflow Clarity

The pipeline is explicitly sequenced (Author → .drawio → Deliver → Open) with an explicit validation checkpoint ('Run this right after writing XML to a .drawio file, before any layout, export or URL step' — the repair pass) and real feedback loops: a troubleshooting table mapping each failure to cause, fix, and retry (e.g. 'Retry the same command with --disable-gpu added') plus fallback chains when the CLI is absent.

5 / 5

Progressive Disclosure

External references are well-signaled with explicit fetch conditions ('Only when a diagram needs layers, tags, metadata and placeholders… also fetch the full XML reference') and scripts/find-shapes.js is a real, correctly-referenced bundle file — better signaling than anchor 3's example. However, ~150 lines of Windows/WSL2-specific CLI-location chains and .url-file workarounds are inlined in SKILL.md, making it a ~400-line manual rather than an overview pointing to detailed materials. Not 4 because that inline bulk is more than a minor organization gap; not 2 because the structure and signaling are good.

3 / 5

Total

17

/

20

Passed

Description

82%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, trigger-first description with exceptional keyword coverage (all diagram types, product names, extensions, even a typo variant) and explicit environment-specific disambiguation against the MCP create_diagram tool. Its main weakness is that the skill's actual capability — producing native .drawio files from Mermaid or XML — is only implied through trigger verbs rather than stated directly.

DimensionReasoningScore

Specificity

Lists several concrete actions and artifacts ('create, generate, draw, or design a diagram, flowchart, architecture diagram, ER diagram…', 'diagram export to PNG/SVG/PDF'), but what the skill actually produces (native .drawio files via Mermaid or XML) is only implied through trigger phrasing rather than stated as a capability. Not 5 because the 'what' is never directly asserted; not 3 because the action and format coverage is broad and concrete.

4 / 5

Completeness

The 'when' is answered exhaustively ('Always use when user asks to create, generate, draw, or design…'), but the 'what' is conveyed only through the trigger verbs ('asks to create… a diagram', 'diagram export to PNG/SVG/PDF') — the skill's actual behavior is never stated as its own clause. Not 5 because anchor 5 requires both what and when explicitly stated; not 3 because both elements are present, just unevenly.

4 / 5

Trigger Term Quality

Comprehensive natural-language coverage including synonyms and file extensions: every common diagram type ('flowchart, architecture diagram, ER diagram, sequence diagram, class diagram, network diagram, mockup, wireframe, UI sketch'), product names ('draw.io, drawio, drawoi', '.drawio files') — even a common misspelling — and export formats ('PNG/SVG/PDF'). Matches the comprehensive-synonyms-and-extensions anchor exactly.

5 / 5

Distinctiveness Conflict Risk

Clear draw.io niche with product-specific triggers ('.drawio files', 'drawoi') and active conflict management against the MCP tool ('Exception: … where the draw.io MCP server's create_diagram tool is available, call that tool instead'). Not 5 because generic triggers like 'diagram', 'flowchart' and 'mockup' would also fire for closely related diagramming/charting skills; not 3 because the niche and disambiguation are far stronger than 'somewhat specific'.

4 / 5

Total

17

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

jgraph/drawio-mcp

Path

plugins/cursor/skills/drawio/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.