CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cua-driver

Drive a native GUI app (macOS, Windows, Linux) via the Qwen Cua Driver CLI (default) or MCP server; snapshot its accessibility tree, act through snapshot-bound element tokens, native menu paths, exact window geometry, or pixel coordinates, and verify from fresh state. Use when the user asks you to operate, drive, automate, or perform a GUI task in a real application on the host.

Quality

82%

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

SKILL.md
Quality
Evals
Security

Quality

Content

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

Operationally excellent — executable commands, a precise tool contract, and a rigorous verify-then-escalate workflow with real feedback loops — but severely overlong for a SKILL.md, with duplicated guidance, migration history, and contributor notes that belong in a changelog. Worse, all five companion files it directs the agent to read are missing from the bundle, so its progressive-disclosure design exists only on paper.

Suggestions

Ship the companion files the body depends on (MACOS.md, WINDOWS.md, LINUX.md, BROWSER.md, RECORDING.md) or inline their critical content — every per-OS forbidden list, launch idiom, and dispatch detail is currently unreachable because the referenced files do not exist in the bundle.

Cut migration history and contributor material (capture_mode deprecation prose, the get_app_state history with the IINA reproducer, 0.14/0.17 version notes, the schema_consistency_test contributor note) into a CHANGELOG.md or CONTRIBUTING file; keep only current behavior plus a one-line 'deprecated, ignored' note.

Deduplicate the repeated guidance: the verify-then-escalate ladder appears in three sections and session semantics in two — keep one authoritative statement of each and cross-reference it, and move the agent-cursor-overlay aesthetic detail (theme/glow/animation description) into its own reference file.

DimensionReasoningScore

Conciseness

At ~1070 lines the body is noticeably verbose with several padded sections: changelog/migration prose ("capture_mode is DEPRECATED and ignored", "Why window selection is the caller's job now", "0.14 migration notes", "bare indices fail closed in 0.17"), contributor-facing material ("CI gate (schema_consistency_test) … don't re-hand-write the JSON, or the gate fails"), cursor-overlay aesthetics ("glow fades to transparent around the full silhouette … tighter, softer glow"), and guidance repeated 2–3 times (sessions in "Choose the target on each action" and the canonical loop; verify-then-escalate in "Start with the narrowest semantic route", the ladder algorithm, and "Verify after every action"). Not score 1 because it never explains concepts Claude already knows — the padding is domain-specific, not background tuition.

2 / 5

Actionability

Fully executable throughout: copy-paste CLI invocations with JSON args ("qwen-cua-driver click '{"pid":844,"element_token":"s0000002a:14"}'"), a complete tool dispatch table with exact parameter shapes, a runnable PIL crosshair script, and an error table keyed on literal error strings ("No cached AX state for pid X window_id W") with specific fixes. Covers the common cases end-to-end.

5 / 5

Workflow Clarity

The workflow is explicitly sequenced with validation checkpoints and feedback loops: the canonical loop (launch → get_window_state → act → verify_state), the verify-then-escalate ladder with concrete escalation signals ("resp.effect == 'suspected_noop' … check.status != 'satisfied'"), and "Verify after every action — mandatory" with a bounded poll instead of hand-written sleeps. Error-recovery paths and the single most common failure mode ("Agents that skip this step report success on silently-dropped actions") are called out — this satisfies the destructive/batch validation cap rather than tripping it.

5 / 5

Progressive Disclosure

The in-file structure and routing guidance are good ("Platform-specific reading — read this first" with clearly signaled one-level-deep pointers to MACOS.md/WINDOWS.md/LINUX.md/BROWSER.md/RECORDING.md), but scored against the actual bundle, none of those companion files exist — the bundle contains only SKILL.md — and one pointer escapes the bundle entirely ("../../../docs/action-result-contract.md"). The advertised split is absent, leaving a 1070-line monolith whose critical per-platform content (forbidden lists, launch semantics, dispatch details) is unreachable, so it cannot score 4 ("most content is appropriately placed") and is not the unstructured inlining of the 2 anchor.

3 / 5

Total

15

/

20

Passed

Description

92%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 description: concrete, third-person, comprehensive about capabilities, and with an explicit 'Use when …' trigger clause covering natural phrasings. The only weakness is that a few colloquial trigger variants a user might say (computer use, controlling the desktop, clicking in an app) are absent.

DimensionReasoningScore

Specificity

Lists multiple concrete actions with comprehensive coverage: "snapshot its accessibility tree", "act through snapshot-bound element tokens, native menu paths, exact window geometry, or pixel coordinates", and "verify from fresh state" — every major capability of the driver is named, in third-person voice. Not score 4 because coverage of the domain (sense → act via all addressing modes → verify) has no material gaps.

5 / 5

Completeness

Explicitly answers both: what ("Drive a native GUI app … via the Qwen Cua Driver CLI (default) or MCP server; snapshot … act … verify") and when ("Use when the user asks you to operate, drive, automate, or perform a GUI task in a real application on the host") with concrete trigger phrases. Matches the 5 anchor exactly; the 'when' clause is explicit, not weakly implied.

5 / 5

Trigger Term Quality

Good natural-term coverage: "operate, drive, automate, or perform a GUI task in a real application on the host", plus "native GUI app (macOS, Windows, Linux)". A few natural phrasings users would say are missing (e.g. "control my computer", "computer use", "click/open the app and …"), so it falls short of the 5 anchor's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

Clear niche — native OS-level GUI automation via a named driver ("accessibility tree", "snapshot-bound element tokens", "pixel coordinates") with distinct triggers that would not fire for file, document, or web-page skills. Minimal conflict risk; fits the 5 anchor better than 4, whose "minor overlap risk" would require a closely related competing skill trigger, and the named-tool framing disambiguates that.

5 / 5

Total

19

/

20

Passed

Validation

75%

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

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1070 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

12

/

16

Passed

Repository

QwenLM/qwen-code

Path

packages/cua-driver/rust/Skills/cua-driver/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.