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.

72

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

92%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.

An exceptionally executable skill: every authoring, layout, export, and delivery route has copy-paste-ready commands including platform-specific edge cases (WSL2 path quoting, registry-based CLI discovery, the .url workaround for cmd.exe's fragment stripping), plus a failure-signature-keyed troubleshooting table. The only real cost is token duplication — the ELK framing and several convert/export commands are repeated across up to three sections — which is the one dimension keeping it off a clean sweep.

DimensionReasoningScore

Conciseness

The body is dense and operational — it assumes Claude's competence (no "what is draw.io" preamble, no library tutorials) and spends tokens almost exclusively on non-obvious gotchas (the broken direct .mmd→PNG export, the cmd.exe #-fragment stripping, the --disable-gpu retry). It misses anchor 5 due to real duplication: the ELK-layout framing ("the same layouts the editor's Arrange ▸ Layout menu applies / same engine the draw.io MCP app server uses") appears nearly verbatim in the intro, the ELK section, and the CLI section, and the convert/export commands are repeated across the pipeline, ELK, and CLI sections — trimming these would be pure token savings.

4 / 5

Actionability

Every route ships copy-paste-ready commands: the Mermaid convert (`drawio -x -f xml -o diagram.drawio diagram.mmd`), exports (`-x -f png -e -b 10 -o ...`), layout presets and custom-JSON forms, a complete self-contained Node one-liner for URL generation, per-OS open commands, and a full PowerShell CLI-discovery script with registry fallback. Concrete input/output examples ("/drawio:drawio png flowchart for login" → `login-flow.drawio.png`) cover the common cases, matching anchor 5.

5 / 5

Workflow Clarity

The pipeline is an explicit numbered sequence (Author → .drawio → Deliver → Open) with a decision step up front (detect the CLI before choosing Mermaid vs XML), per-format delivery branches, and a hard ordering rule ("Always convert Mermaid to .drawio first, then export"). Validation and feedback loops are present: well-formedness rules stated before writing, a troubleshooting table mapping concrete failure signatures to fixes (retry with --disable-gpu, .url workaround for stripped fragments, fall back to local file on URL-length limits), and a graceful degradation path ("if the open command fails, print the absolute path").

5 / 5

Progressive Disclosure

The body is a clear overview-plus-operational core: the two heavyweight syntax references (Mermaid syntax, full draw.io XML reference) are pushed out to clearly signaled one-level-deep fetches ("fetch and follow the instructions at: https://.../mermaid-reference.md" and .../xml-reference.md) rather than inlined, sections are well-anchored and cross-linked, and what remains inline (pipeline, CLI location, ELK presets, troubleshooting) is the content needed on every run. There are no bundle files, and nothing in SKILL.md nests more than one level deep.

5 / 5

Total

19

/

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-optimized description with excellent natural-language keyword coverage (including the drawoi typo variant and .drawio extension) and a fully explicit "Use when" clause. Its main weakness is that the capability side is expressed only through trigger verbs — the concrete outputs (native .drawio files, editable embedded-XML exports, browser editor URLs) are never named — which also creates mild conflict risk on mockup/wireframe/UI-sketch requests that might be meant for a frontend skill.

Suggestions

Lead with a brief capability clause naming the concrete deliverables, e.g. "Generate draw.io diagrams as native .drawio files, export them to editable PNG/SVG/PDF, or open them as browser editor URLs. Always use when..." — this lifts completeness to anchor 5 and sharpens specificity.

Qualify the UI-related triggers to reduce conflict risk with frontend/dataviz skills, e.g. "mockup, wireframe, or UI sketch (as a diagram)" so the description is less likely to fire when the user wants HTML or a chart.

Consider mentioning the Mermaid and raw-XML authoring routes (or at least "from Mermaid or draw.io XML") since that two-route capability is the skill's distinguishing feature and is currently invisible in the description.

DimensionReasoningScore

Specificity

The description names concrete actions across a broad enumerated domain — "create, generate, draw, or design a diagram, flowchart, architecture diagram, ER diagram, sequence diagram, class diagram, network diagram, mockup, wireframe, or UI sketch" plus "diagram export to PNG/SVG/PDF" — several specific actions with minor coverage gaps. It stops short of anchor 5 because the core deliverables (native .drawio files, editable embedded-XML exports, browser URLs, Mermaid/XML authoring) are never stated; the capability surface is conveyed only through trigger verbs.

4 / 5

Completeness

The "when" is fully explicit ("Always use when user asks to... or mentions..."), and a "what" is present via the enumerated actions (create/design these diagram types, export to these formats). It falls short of anchor 5 because the what-side is implicit in the trigger list — the description never states what the skill actually produces (native .drawio files, editable PNG/SVG/PDF, editor URLs), which is the concrete-capability statement the anchor-5 examples carry.

4 / 5

Trigger Term Quality

Trigger coverage is comprehensive and includes synonyms, product names, a typo variant, and file extensions: "draw.io, drawio, drawoi, .drawio files" alongside natural verbs ("create, generate, draw, or design") and everyday artifact names ("flowchart, mockup, wireframe, UI sketch"). This matches the anchor-5 example's pattern ("PDF files, PDFs, forms, document extraction, .pdf") with even broader synonym coverage.

5 / 5

Distinctiveness Conflict Risk

The niche is clear (draw.io diagrams, with product-name and .drawio-extension triggers that are unambiguous), but "mockup, wireframe, or UI sketch" and "design a diagram" overlap with frontend/UI-generation and dataviz skills where a user may expect HTML or a chart rather than a draw.io file. This is minor overlap risk with closely related skills — anchor 4 — not anchor 5's minimal-conflict profile.

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/claude-code/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.