CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

extension-creator

Create, scaffold, customize, validate, and locally test Qwen Code extensions. Use when the user wants a new Qwen Code extension, needs help choosing an extension template, wants to add QWEN.md context, commands, skills, agents, MCP servers, settings, hooks, channels, or LSP servers, or asks how to link and test an extension locally. Invoke with `/extension-creator` followed by an extension path and optional template name.

Quality

90%

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

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

The content is highly actionable and the workflow sequencing with validation checkpoints is excellent — concrete commands, stop-on-failure rules, and fix-and-recheck loops throughout. The weaknesses are token efficiency (security rules about path traversal, symlinks, and untrusted content are restated across multiple sections) and structure (a 340-line single file with an inline manifest-field reference that should be split into a references/ file).

Suggestions

Consolidate the repeated path-traversal / symlink / realpath-validation rules (currently restated in Extension Shape, Local Test Flow, and Before Handoff) into one 'Path Safety' section that each other section references in a single line.

Move the Extension Shape manifest-field reference (~90 lines covering `name` through `lspServers` and path-variable hydration) into a `references/manifest-fields.md` file, keeping only the field list and highest-risk warnings in SKILL.md.

Trim the duplicated untrusted-content guidance between Workflow steps 5-6 and the Local Test Flow preamble into a single stated posture with section-specific deltas.

DimensionReasoningScore

Conciseness

The body is mostly efficient domain knowledge Claude would not know (manifest field semantics, path-variable hydration rules), but the same security rules are restated repeatedly across sections: untrusted-content handling appears in Workflow steps 5-6, Local Test Flow, and Before Handoff, and 'reject absolute paths, `..` traversal, and symlinks that escape the root' is repeated four-plus times (Extension Shape for `contextFileName`/`hooks`/`lspServers`, Local Test Flow, Before Handoff). This fits 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than the 4-anchor's 'minor instances'.

3 / 5

Actionability

Every step carries a copy-paste-ready command: `qwen extensions new "$extension_path" "$template"`, `printf 'y\n' | qwen extensions link "$extension_path"`, `cd -- "$extension_path" && npm install --ignore-scripts`, `npm run build`, and the `node -e "JSON.parse(...)"` validation one-liner, including correct `--` argument guarding. This is fully executable guidance covering the common cases, matching the top anchor.

5 / 5

Workflow Clarity

The main workflow is a numbered 11-step sequence with explicit validation checkpoints (Before Handoff checklist, After Linking verification, Linking Approval Procedure), explicit stop-on-failure rules ("If any command in the workflow fails, stop and report the error to the user... Do not proceed"), and fix-and-re-check feedback loops ("If any check fails, fix the issue and re-check before proceeding"). This matches the anchor for clear sequence with explicit validation, error-recovery loops, and a checklist.

5 / 5

Progressive Disclosure

The file has clear section headers (Workflow, Template Selection, Extension Shape, Local Test Flow, Before Handoff) but is a single ~340-line monolith with no `references/`, `scripts/`, or `assets/` bundle and no external file pointers. The Extension Shape section is effectively a 90-line manifest-field API reference that belongs in a one-level-deep reference file. This fits 'Some structure but could be better organized; content that should be separate is inline' better than the 4-anchor, which requires most content to be appropriately placed in separate files.

3 / 5

Total

16

/

20

Passed

Description

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

An exemplary description: concrete verbs, an explicit and exhaustive 'Use when' clause, natural trigger vocabulary, and a tightly scoped niche. It also documents the invocation form ("Invoke with `/extension-creator` followed by an extension path and optional template name"), which adds actionability without padding.

DimensionReasoningScore

Specificity

The description lists five concrete, verifiable actions — "Create, scaffold, customize, validate, and locally test Qwen Code extensions" — with comprehensive coverage of the skill's surface. This matches the anchor 'Lists multiple specific concrete actions; comprehensive coverage' and exceeds the 4-anchor, which tolerates coverage gaps.

5 / 5

Completeness

It explicitly answers both questions: what ("Create, scaffold, customize, validate, and locally test Qwen Code extensions") and when ("Use when the user wants a new Qwen Code extension, needs help choosing an extension template, ... or asks how to link and test an extension locally") with concrete trigger phrases. This is the pattern of the anchor-5 example, not the 4-anchor where the 'when' is only loosely specified.

5 / 5

Trigger Term Quality

It covers the natural phrases a user would say: "new Qwen Code extension", "choosing an extension template", "link and test an extension locally", plus the full capability vocabulary ("QWEN.md context, commands, skills, agents, MCP servers, settings, hooks, channels, or LSP servers"). Coverage is comprehensive with synonym-level variation, matching the top anchor rather than the 4-anchor's 'a few natural terms missing'.

5 / 5

Distinctiveness Conflict Risk

The niche is tightly scoped to Qwen Code extensions and their linking/testing lifecycle, so it is unlikely to fire for general skill- or command-authoring requests outside the extension mechanism. It sits at the 'clear niche with distinct triggers; minimal conflict risk' anchor; the generic capability words (commands, skills, agents) are all anchored by the 'Qwen Code extension' qualifier.

5 / 5

Total

20

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

QwenLM/qwen-code

Path

packages/core/src/skills/bundled/extension-creator/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.