Skill Creator
Create, audit, refactor, validate, benchmark, optimize, and package skills.
Capability and Trigger
In scope: create, repair, refactor, validate, design evals, benchmark, optimize frontmatter descriptions, and package .skill artifacts. Cleanup, iteration, benchmark design, triggering accuracy, and skill polish also qualify.
Start at the user's current stage. Drafts, evals, and vague ideas each enter the appropriate loop stage. An explicitly requested lighter collaborative pass MAY replace full evals; keep the full loop available.
Core Loop
- Identify capability and trigger conditions.
- Draft or edit
SKILL.md and bundled resources.
- Test realistic prompts with the skill enabled.
- Evaluate with the user, qualitative review, and quantitative checks.
- Iterate from feedback and benchmark evidence.
- Package the final skill for installation.
Public CLI Entrypoint
Cross-platform:
uv run --script <skill-dir>/scripts/cli.py ...
<skill-dir>: skill directory. NEVER rely on shell sourcing, executable bits, or shebang dispatch.
Useful commands:
uv run --script /scripts/cli.py aggregate-benchmark /iteration-N --skill-name
uv run --script /scripts/cli.py gates [--tests]
uv run --script /scripts/cli.py generate-review /iteration-N --skill-name
uv run --script /scripts/cli.py package
uv run --script /scripts/cli.py quick-validate
Read references/eval-workflow.md for aggregate/review usage; references/packaging.md for package validation and handoff.
Progressive Disclosure Rules
Three load levels:
- Metadata (
name + description): always in context (~100 words).
SKILL.md body: when triggered (<500 lines ideal; under 250 when practical).
- Bundled resources: on demand; scripts can execute without loading.
Patterns:
SKILL.md: focus on trigger, routing, and core workflow.
- Move long procedures, schemas, examples, and domain variants to
references/.
- Every reference: explicit when-to-read guidance at its top and in the routing table.
- Prefer
scripts/ for deterministic or repetitive work.
- Keep inline snippets tiny.
- Add a table of contents to reference files >300 lines.
- Multiple domains/frameworks: organize by variant so the agent reads only the relevant reference.
Eval Workflow Summary
After drafting, propose 2-3 realistic test prompts before running. Save prompts to evals/evals.json; read references/schemas.md for the full schema, including the later-added assertions field.
Detailed workflow: references/eval-workflow.md.
- Results:
<skill-name>-workspace/, sibling to the skill directory; organize by iteration-N/, one directory per test case.
- Spawn with-skill and baseline in the same turn for comparable timing/conditions. For existing-skill improvement, snapshot the old version before editing and use it as baseline when appropriate.
- Draft objectively verifiable assertions while runs proceed; do not force fake objectivity onto subjective work.
- Immediately capture each task notification's
total_tokens and duration_ms in timing.json; this data is not persisted elsewhere.
- Grade runs, aggregate benchmark data, perform an analyst pass, then launch the review viewer with
generate-review. NEVER write custom HTML.
- Read
feedback.json; improve from transcripts, user feedback, and benchmark data; rerun in a new iteration until the user is satisfied or changes stop producing meaningful improvement.
Required follow-up reads
| Need |
Read |
When |
| Intent capture, research, authoring, and user communication |
references/authoring.md |
Creating or materially refactoring a skill |
| Exact eval/benchmark JSON |
references/schemas.md |
Creating or validating artifacts |
| Eval, timing, grading, viewer, iteration |
references/eval-workflow.md |
Running evaluations |
| Trigger tuning and held-out scoring |
references/description-optimization.md |
Optimizing metadata descriptions |
| Package validation and handoff |
references/packaging.md |
Packaging a skill |
| Runtime-specific adaptations |
references/runtime-modes.md |
The default runner is unavailable |
| Assertion grading |
agents/grader.md |
Grading an eval run |
| Benchmark analysis |
agents/analyzer.md |
Comparing benchmark results |
| Blind A/B comparison |
agents/comparator.md |
Comparing skill versions |
Description Optimization
Offer description optimization only after core behavior is in good shape. Read references/description-optimization.md for trigger-eval query generation/review, the eval_review.html workflow, run_loop.py and held-out scoring, or before/after description updates and score reporting.
Packaging
When the user is satisfied, read references/packaging.md for exact validation, packaging, and presentation; package the final skill and tell the user the resulting .skill file path for installation.
1---2name: skill-creator3description: Use when creating, auditing, refactoring, validating, benchmarking, packaging, or tuning a skill and its triggers.4license: AGPL-3.0-or-later5---67# Skill Creator89Create, audit, refactor, validate, benchmark, optimize, and package skills.1011<system-conventions>12RFC 2119 applies to MUST, REQUIRED, SHOULD, RECOMMENDED, MAY, OPTIONAL. `NEVER` and `AVOID` mean `MUST NOT` and `SHOULD NOT` respectively.13</system-conventions>1415<critical>16- Loop: identify → draft → test → evaluate → iterate → package.17- `SKILL.md` entrypoint; load references only when routed.18- NEVER use `/skill-test` or any other testing skill.19- Preserve exact schemas, field names, paths, and command syntax.20- Optimize description only after core behavior works.21</critical>2223## Capability and Trigger2425In scope: create, repair, refactor, validate, design evals, benchmark, optimize frontmatter descriptions, and package `.skill` artifacts. Cleanup, iteration, benchmark design, triggering accuracy, and skill polish also qualify.2627Start at the user's current stage. Drafts, evals, and vague ideas each enter the appropriate loop stage. An explicitly requested lighter collaborative pass MAY replace full evals; keep the full loop available.2829## Core Loop30311. Identify capability and trigger conditions.322. Draft or edit `SKILL.md` and bundled resources.333. Test realistic prompts with the skill enabled.344. Evaluate with the user, qualitative review, and quantitative checks.355. Iterate from feedback and benchmark evidence.366. Package the final skill for installation.3738## Public CLI Entrypoint3940Cross-platform:4142```text43uv run --script <skill-dir>/scripts/cli.py ...44```4546`<skill-dir>`: skill directory. NEVER rely on shell sourcing, executable bits, or shebang dispatch.4748Useful commands:4950uv run --script <skill-dir>/scripts/cli.py aggregate-benchmark <workspace>/iteration-N --skill-name <name>51uv run --script <skill-dir>/scripts/cli.py gates <path-to-skill-folder> [--tests]52uv run --script <skill-dir>/scripts/cli.py generate-review <workspace>/iteration-N --skill-name <name>53uv run --script <skill-dir>/scripts/cli.py package <path-to-skill-folder>54uv run --script <skill-dir>/scripts/cli.py quick-validate <path-to-skill-folder>5556Read `references/eval-workflow.md` for aggregate/review usage; `references/packaging.md` for package validation and handoff.5758## Progressive Disclosure Rules5960Three load levels:61621. Metadata (`name` + `description`): always in context (~100 words).632. `SKILL.md` body: when triggered (<500 lines ideal; under 250 when practical).643. Bundled resources: on demand; scripts can execute without loading.6566Patterns:6768- `SKILL.md`: focus on trigger, routing, and core workflow.69- Move long procedures, schemas, examples, and domain variants to `references/`.70- Every reference: explicit when-to-read guidance at its top and in the routing table.71- Prefer `scripts/` for deterministic or repetitive work.72- Keep inline snippets tiny.73- Add a table of contents to reference files >300 lines.74- Multiple domains/frameworks: organize by variant so the agent reads only the relevant reference.7576## Eval Workflow Summary7778After drafting, propose 2-3 realistic test prompts before running. Save prompts to `evals/evals.json`; read `references/schemas.md` for the full schema, including the later-added `assertions` field.7980Detailed workflow: `references/eval-workflow.md`.81821. Results: `<skill-name>-workspace/`, sibling to the skill directory; organize by `iteration-N/`, one directory per test case.832. Spawn with-skill and baseline in the same turn for comparable timing/conditions. For existing-skill improvement, snapshot the old version before editing and use it as baseline when appropriate.843. Draft objectively verifiable assertions while runs proceed; do not force fake objectivity onto subjective work.854. Immediately capture each task notification's `total_tokens` and `duration_ms` in `timing.json`; this data is not persisted elsewhere.865. Grade runs, aggregate benchmark data, perform an analyst pass, then launch the review viewer with `generate-review`. NEVER write custom HTML.876. Read `feedback.json`; improve from transcripts, user feedback, and benchmark data; rerun in a new iteration until the user is satisfied or changes stop producing meaningful improvement.8889<critical>90- Sequence: spawn with-skill and baseline in the same turn; draft assertions while runs execute; capture timing once from notifications; write per-test-case, per-iteration `eval_metadata.json`; grade; aggregate; analyze; launch viewer.91- `grading.json` expectations MUST contain exactly `text`, `passed`, and `evidence`.92- Viewer ordering: `with_skill` before baseline.93- NEVER use `/skill-test` or custom review HTML.94</critical>9596## Required follow-up reads9798|Need|Read|When|99|---|---|---|100|Intent capture, research, authoring, and user communication|`references/authoring.md`|Creating or materially refactoring a skill|101|Exact eval/benchmark JSON|`references/schemas.md`|Creating or validating artifacts|102|Eval, timing, grading, viewer, iteration|`references/eval-workflow.md`|Running evaluations|103|Trigger tuning and held-out scoring|`references/description-optimization.md`|Optimizing metadata descriptions|104|Package validation and handoff|`references/packaging.md`|Packaging a skill|105|Runtime-specific adaptations|`references/runtime-modes.md`|The default runner is unavailable|106|Assertion grading|`agents/grader.md`|Grading an eval run|107|Benchmark analysis|`agents/analyzer.md`|Comparing benchmark results|108|Blind A/B comparison|`agents/comparator.md`|Comparing skill versions|109110## Description Optimization111112Offer description optimization only after core behavior is in good shape. Read `references/description-optimization.md` for trigger-eval query generation/review, the `eval_review.html` workflow, `run_loop.py` and held-out scoring, or before/after description updates and score reporting.113114## Packaging115116When the user is satisfied, read `references/packaging.md` for exact validation, packaging, and presentation; package the final skill and tell the user the resulting `.skill` file path for installation.117118<critical>119- Keep long schemas, eval mechanics, viewer details, description optimization, runtime variants, and package details in references until needed.120- Package the final skill when the user is satisfied.121</critical>