skill-creator
Create, improve, and audit AI agent skills. 14 structural patterns, deterministic scoring. Use when building or reviewing skills. NOT for agents, MCP servers, or running skills.
Create, improve, and audit AI agent skills. 14 structural patterns, deterministic scoring. Use when building or reviewing skills. NOT for agents, MCP servers, or running skills.
Quick Start
Install:
npx skills add github:wyattowalsh/agents --skill skill-creator -y -g --agent antigravity --agent claude-code --agent codex --agent crush --agent cursor --agent gemini-cli --agent github-copilot --agent grok --agent opencode Use: /skill-creator <mode> [name]
Works with Claude Code, Gemini CLI, OpenCode, and other agentskills.io-compatible agents.
What It Does
Section titled “What It Does”Create, improve, and audit AI agent skills. Every skill follows 14 proven structural patterns.
| $ARGUMENTS | Action | Example |
|---|---|---|
create <name> / new <name> | Develop (new) | /skill-creator create my-analyzer |
create <name> --from <source> | Develop (new, from exemplar) | /skill-creator create my-analyzer --from wargame |
improve <name> / improve <path> | Develop (existing) | /skill-creator improve add-badges |
plan <name> / plan <path> | Plan (existing) | /skill-creator plan honest-review |
plan --all / plan repo | Plan (repo-wide) | /skill-creator plan --all |
audit <name> | Audit | /skill-creator audit honest-review |
audit --all | Audit All | /skill-creator audit --all |
dashboard | Dashboard | /skill-creator dashboard |
package <name> / package --all | Package | /skill-creator package wargame |
| Natural language skill idea | Auto: Develop (new) | "tool that audits Python type safety" |
| Skill name + modification verb | Auto: Develop (existing) | "refactor the wargame skill" |
| Path to SKILL.md | Auto: Develop (existing) | skills/wargame/SKILL.md |
| ”MCP server” / “agent” / “run” | Refuse + redirect | — |
| Empty | Gallery | /skill-creator |
Quick Start
Section titled “Quick Start”python skills/skill-creator/scripts/scaffold_skill.py <name> # Scaffold from templatepython scripts/check.py # Validate from skill directoryuv run python skills/skill-creator/scripts/audit.py skills/<name>/ # Score qualitypython skills/skill-creator/scripts/package.py skills/<name>/ --dry-run # Portability checkSkill Development
Section titled “Skill Development”Unified process for creating new skills and improving existing ones. Load references/workflow.md for the full procedure.
| Step | New Skill | Existing Skill |
|---|---|---|
| 1. Understand | Define use cases, scope, patterns | Audit + understand user’s intent |
| 2. Plan | Structure, description, frontmatter | Gap analysis + improvement plan (approval gate) |
| 3. Scaffold | scaffold_skill.py <name> | Skip |
| 4. Build | Write/edit body, references, scripts, templates, evals | Same |
| 5. Validate | scripts/check.py + audit.py | Same |
| 6. Iterate | Test, identify issues, loop to Step 4 | Same |
Score a skill using deterministic analysis + AI review. Load references/audit-guide.md.
Audit All
Section titled “Audit All”Comparative ranking of all repository skills. Load references/audit-guide.md § Audit All.
Package
Section titled “Package”Package skills into portable ZIP files for Claude Code Desktop import. Load references/packaging-guide.md for ZIP structure, manifest schema, portability checks, and cross-agent compatibility.
python skills/skill-creator/scripts/package.py skills/<name>/ --dry-run # Check before emitting a ZIPpython skills/skill-creator/scripts/package.py skills/<name>/ # Single skill → <name>-v<version>.skill.zipCore Principles
Section titled “Core Principles”Conciseness is respect — The context window is shared. Every line competes with the agent’s working memory. Earn every line or delete it.
Progressive disclosure — Frontmatter for discovery (~100 tokens), body for dispatch (<5K tokens), references for deep knowledge (on demand), scripts/templates for execution (never loaded).
Self-exemplar — This skill follows every pattern it teaches. When in doubt, look at how skill-creator applies it.
Critical Rules
Section titled “Critical Rules”- Run
python scripts/check.pyfrom the target skill directory before declaring any skill complete - Re-run
python scripts/check.pyafter changing evals and before declaring the skill complete - Run
uv run python skills/skill-creator/scripts/audit.pyafter every significant SKILL.md change - Never create a skill without a dispatch table — it is the routing contract
- Never create a dispatch table without an empty-args handler — unrouted input is a bug
- Every reference file must appear in the Reference File Index — orphan refs are invisible
- Every indexed reference must exist on disk — phantom refs cause agent errors
- Body must stay under 500 lines (below frontmatter) — move detail to references
- Description must include “Use when” trigger phrases AND “NOT for” exclusions
- Names must be kebab-case, 2-64 chars, no consecutive hyphens, no reserved words
- Scripts use argparse + JSON to stdout — no custom output formats
- Templates are self-contained HTML with no external dependencies
- Do NOT call repo-specific docs generators directly — delegate to docs-steward
- Do NOT create agents or MCP servers — refuse gracefully and redirect
- Improving existing skills requires presenting an improvement plan and getting user approval before implementing changes
- Audit mode is read-only — never modify the skill being audited
- Update evals when dispatch behavior or modes change — stale evals are invisible bugs
plan <name>andplan --allare read-only planning modes — never edit during planning- Repo-wide or multi-skill requests require a ranked plan and standalone refinement-plan output before any implementation begins
- Stop hooks must include a
stop_hook_activeguard — recursive hook loops are implementation bugs
Canonical terms (use these exactly throughout):
- Modes: “Develop (new)”, “Develop (existing)”, “Audit”, “Audit All”, “Dashboard”, “Package”, “Gallery”
- Steps (Development): “Understand”, “Plan”, “Scaffold”, “Build”, “Validate”, “Iterate”
- Grade scale: “A” (90-100), “B” (75-89), “C” (60-74), “D” (40-59), “F” (<40)
- Patterns: “dispatch-table”, “reference-file-index”, “critical-rules”, “canonical-vocabulary”, “scope-boundaries”, “classification-gating”, “scaling-strategy”, “state-management”, “scripts”, “templates”, “hooks”, “progressive-disclosure”, “body-substitutions”, “stop-hooks”
- Audit dimensions: “frontmatter”, “description”, “dispatch-table”, “body-structure”, “pattern-coverage”, “reference-quality”, “critical-rules”, “script-quality”, “portability”, “conciseness”, “canonical-vocabulary”, “evaluation-coverage”, “validation-contract”
Repo-Wide / Multi-Skill Planning
Section titled “Repo-Wide / Multi-Skill Planning”Use plan <name> for an existing-skill refinement plan without editing and plan --all or plan repo for a ranked repo-wide planning pass.
Required planning output:
- baseline audit summary
- highest-value findings
- explicit file targets
- expected score impact
- approval gate before any edits
For repo-wide planning, produce a ranked queue plus one standalone refinement plan per promoted skill or skill cluster. Do not edit any skill until the user approves the plan.
Load references/refinement-plan.md when producing the standalone refinement-plan packet.
Dashboard
Section titled “Dashboard”Render visual creation process monitor or audit quality dashboard. Load references/audit-guide.md § Dashboard.
Auto-detects mode from data: phases field → process monitor; skills array → audit overview.
Gallery (Empty Arguments)
Section titled “Gallery (Empty Arguments)”Present skill inventory with scores and available actions.
Run uv run python skills/skill-creator/scripts/audit.py --all --format table, display results, offer mode menu.
PreToolUse hooks intercept tool calls during skill execution. The hooks: frontmatter field scopes hooks to this skill only — they activate when the skill is loaded and deactivate when it completes.
Post-edit enforcement for this skill:
SKILL.mdedits triggervalidate_skill.pyevals/*.jsonedits triggervalidate_evals.py- hook-bearing skill/settings edits trigger
validate_hooks.py - failures surface to the agent instead of being swallowed
Stop hook enforcement:
- runs
uv run python skills/skill-creator/scripts/verify.py stop - validates dirty skill-definition, eval, and hook surfaces before exit
- exits immediately when hook input has
stop_hook_active: trueto avoid recursive Stop-hook loops
State Management
Section titled “State Management”Creation progress persists at ~/.{gemini\|copilot\|codex\|claude}/skill-progress/<name>.json. Read/write via scripts/progress.py. Survives session restarts. Use --state-dir to override the default location.
Validation Contract
Section titled “Validation Contract”Run from this skill directory before declaring changes complete:
python scripts/check.pyCompletion criteria:
scripts/check.pyexits 0.- No portable-CLI violations remain under this skill directory.
| Field | Value |
|---|---|
| Source Type | repo-owned |
| Display Source | github:wyattowalsh/agents |
| Source Kind | repo |
| Installability | portable command |
| Review State | reviewed |
| Target Agents | antigravity, claude-code, codex, crush, cursor, gemini-cli, github-copilot, grok, opencode |
| Field | Value |
|---|---|
| Name | skill-creator |
| License | MIT |
| Version | 2.0.0 |
| Author | wyattowalsh |
| Field | Value |
|---|---|
| Model | opus |
| Argument Hint | [mode] [name] |
| Field | Value |
|---|---|
| Compatibility | Requires Python 3.13+; optional uv for project tooling; optional Node.js/npm for install commands; hook support varies by agent client. |
Related Skills
Section titled “Related Skills”View Full SKILL.md
---name: skill-creatordescription: >- Create, improve, and audit AI agent skills. 14 structural patterns, deterministic scoring. Use when building or reviewing skills. NOT for agents, MCP servers, or running skills.argument-hint: "<mode> [name]"model: opuslicense: MITcompatibility: "Requires Python 3.13+; optional uv for project tooling; optional Node.js/npm for install commands; hook support varies by agent client."metadata: author: wyattowalsh version: "2.0.0"hooks: PreToolUse: - matcher: Bash hooks: - command: "echo 'skill-creator: Bash access granted for script execution'" PostToolUse: - matcher: "Write|Edit|MultiEdit" hooks: - type: command command: "uv run python skills/skill-creator/scripts/verify.py post-tool-use" Stop: - hooks: - type: command command: "uv run python skills/skill-creator/scripts/verify.py stop"---
# Skill Creator
Create, improve, and audit AI agent skills. Every skill follows 14 proven structural patterns.
**Scope:** Skills only. NOT for creating agents (use `agent-conventions`), building MCP servers (`/mcp-creator`), or running existing skills. This repo uses raw `SKILL.md` format committed directly to `skills/`.
## Dispatch
| $ARGUMENTS | Action | Example || ----------------------------------- | ---------------------------- | -------------------------------------------------- || `create <name>` / `new <name>` | Develop (new) | `/skill-creator create my-analyzer` || `create <name> --from <source>` | Develop (new, from exemplar) | `/skill-creator create my-analyzer --from wargame` || `improve <name>` / `improve <path>` | Develop (existing) | `/skill-creator improve add-badges` || `plan <name>` / `plan <path>` | Plan (existing) | `/skill-creator plan honest-review` || `plan --all` / `plan repo` | Plan (repo-wide) | `/skill-creator plan --all` || `audit <name>` | Audit | `/skill-creator audit honest-review` || `audit --all` | Audit All | `/skill-creator audit --all` || `dashboard` | Dashboard | `/skill-creator dashboard` || `package <name>` / `package --all` | Package | `/skill-creator package wargame` || Natural language skill idea | Auto: Develop (new) | `"tool that audits Python type safety"` || Skill name + modification verb | Auto: Develop (existing) | `"refactor the wargame skill"` || Path to SKILL.md | Auto: Develop (existing) | `skills/wargame/SKILL.md` || "MCP server" / "agent" / "run" | Refuse + redirect | — || Empty | Gallery | `/skill-creator` |
### Auto-Detection Heuristic
If no explicit mode keyword is provided:
1. Path ending in `SKILL.md` or directory under `skills/` → **Develop (existing)**2. Existing skill name + modification verb (improve, refactor, enhance, update, fix, rewrite, optimize, polish, revise, change) → **Develop (existing)**3. `--from <source>` in arguments → **Develop (new, from exemplar)**4. New capability description ("I want to build...", "tool that...", "skill for...") → **Develop (new)** — derive name, confirm before scaffolding5. "MCP server", "agent", "run" → refuse gracefully and redirect6. Ambiguous → ask the user which mode they want
## Quick Start
```bashpython skills/skill-creator/scripts/scaffold_skill.py <name> # Scaffold from templatepython scripts/check.py # Validate from skill directoryuv run python skills/skill-creator/scripts/audit.py skills/<name>/ # Score qualitypython skills/skill-creator/scripts/package.py skills/<name>/ --dry-run # Portability check```
## Skill Development
Unified process for creating new skills and improving existing ones. Load `references/workflow.md` for the full procedure.
| Step | New Skill | Existing Skill || ------------- | --------------------------------------------------------- | ----------------------------------------------- || 1. Understand | Define use cases, scope, patterns | Audit + understand user's intent || 2. Plan | Structure, description, frontmatter | Gap analysis + improvement plan (approval gate) || 3. Scaffold | `scaffold_skill.py <name>` | Skip || 4. Build | Write/edit body, references, scripts, templates, evals | Same || 5. Validate | `scripts/check.py` + `audit.py` | Same || 6. Iterate | Test, identify issues, loop to Step 4 | Same |
## Repo-Wide / Multi-Skill Planning
Use `plan <name>` for an existing-skill refinement plan without editing and `plan --all` or `plan repo` for a ranked repo-wide planning pass.
Required planning output:
1. baseline audit summary2. highest-value findings3. explicit file targets4. expected score impact5. approval gate before any edits
For repo-wide planning, produce a ranked queue plus one standalone refinement plan per promoted skill or skill cluster. Do not edit any skill until the user approves the plan.
Load `references/refinement-plan.md` when producing the standalone refinement-plan packet.
## Audit
Score a skill using deterministic analysis + AI review. Load `references/audit-guide.md`.
## Audit All
Comparative ranking of all repository skills. Load `references/audit-guide.md` § Audit All.
## Dashboard
Render visual creation process monitor or audit quality dashboard. Load `references/audit-guide.md` § Dashboard.
Auto-detects mode from data: `phases` field → process monitor; `skills` array → audit overview.
## Gallery (Empty Arguments)
Present skill inventory with scores and available actions.Run `uv run python skills/skill-creator/scripts/audit.py --all --format table`, display results, offer mode menu.
## Package
Package skills into portable ZIP files for Claude Code Desktop import. Load `references/packaging-guide.md` for ZIP structure, manifest schema, portability checks, and cross-agent compatibility.
```bashpython skills/skill-creator/scripts/package.py skills/<name>/ --dry-run # Check before emitting a ZIPpython skills/skill-creator/scripts/package.py skills/<name>/ # Single skill → <name>-v<version>.skill.zip```
## Hooks
PreToolUse hooks intercept tool calls during skill execution. The `hooks:` frontmatter field scopes hooks to this skill only — they activate when the skill is loaded and deactivate when it completes.
Post-edit enforcement for this skill:
- `SKILL.md` edits trigger `validate_skill.py`- `evals/*.json` edits trigger `validate_evals.py`- hook-bearing skill/settings edits trigger `validate_hooks.py`- failures surface to the agent instead of being swallowed
Stop hook enforcement:
- runs `uv run python skills/skill-creator/scripts/verify.py stop`- validates dirty skill-definition, eval, and hook surfaces before exit- exits immediately when hook input has `stop_hook_active: true` to avoid recursive Stop-hook loops
## State Management
Creation progress persists at `~/.{gemini|copilot|codex|claude}/skill-progress/<name>.json`. Read/write via `scripts/progress.py`. Survives session restarts. Use `--state-dir` to override the default location.
## Reference File Index
| File | Content | Read When || --------------------------------- | ------------------------------------------------------------------------------------ | -------------------------------------------------- || `references/workflow.md` | Unified 6-step skill development process for new and existing skills | Develop (new), Develop (existing) || `references/refinement-plan.md` | Standalone refinement-plan contract for existing-skill and repo-wide planning output | Plan (existing), Plan (repo-wide) || `references/audit-guide.md` | Audit procedure, Audit All, Dashboard rendering, Gallery, grade thresholds | Audit, Audit All, Dashboard, Gallery || `references/proven-patterns.md` | 14 structural patterns with examples from repo skills | Step 4 (Build), gap analysis || `references/best-practices.md` | Anthropic guide + superpowers methodology + cross-agent awareness | Step 2 (Plan), Step 4 (Build), description writing || `references/frontmatter-spec.md` | Full field catalog, invocation matrix, decision tree | Step 3 (Scaffold), frontmatter configuration || `references/packaging-guide.md` | ZIP structure, manifest schema, portability checks, import instructions | Package || `references/evaluation-rubric.md` | 13 weighted scoring dimensions normalized to 100, grade thresholds, pressure testing | Audit (pressure testing), scoring targets |
Read reference files as indicated by the "Read When" column above. Do not rely on memory or prior knowledge of their contents.
## Core Principles
**Conciseness is respect** — The context window is shared. Every line competes with the agent's working memory. Earn every line or delete it.
**Progressive disclosure** — Frontmatter for discovery (~100 tokens), body for dispatch (<5K tokens), references for deep knowledge (on demand), scripts/templates for execution (never loaded).
**Self-exemplar** — This skill follows every pattern it teaches. When in doubt, look at how skill-creator applies it.
## Validation Contract
Run from this skill directory before declaring changes complete:
```bashpython scripts/check.py```
Completion criteria:
1. `scripts/check.py` exits 0.2. No portable-CLI violations remain under this skill directory.
## Critical Rules
1. Run `python scripts/check.py` from the target skill directory before declaring any skill complete2. Re-run `python scripts/check.py` after changing evals and before declaring the skill complete3. Run `uv run python skills/skill-creator/scripts/audit.py` after every significant SKILL.md change4. Never create a skill without a dispatch table — it is the routing contract5. Never create a dispatch table without an empty-args handler — unrouted input is a bug6. Every reference file must appear in the Reference File Index — orphan refs are invisible7. Every indexed reference must exist on disk — phantom refs cause agent errors8. Body must stay under 500 lines (below frontmatter) — move detail to references9. Description must include "Use when" trigger phrases AND "NOT for" exclusions10. Names must be kebab-case, 2-64 chars, no consecutive hyphens, no reserved words11. Scripts use argparse + JSON to stdout — no custom output formats12. Templates are self-contained HTML with no external dependencies13. Do NOT call repo-specific docs generators directly — delegate to docs-steward14. Do NOT create agents or MCP servers — refuse gracefully and redirect15. Improving existing skills requires presenting an improvement plan and getting user approval before implementing changes16. Audit mode is read-only — never modify the skill being audited17. Update evals when dispatch behavior or modes change — stale evals are invisible bugs18. `plan <name>` and `plan --all` are read-only planning modes — never edit during planning19. Repo-wide or multi-skill requests require a ranked plan and standalone refinement-plan output before any implementation begins20. Stop hooks must include a `stop_hook_active` guard — recursive hook loops are implementation bugs
**Canonical terms** (use these exactly throughout):
- Modes: "Develop (new)", "Develop (existing)", "Audit", "Audit All", "Dashboard", "Package", "Gallery"- Steps (Development): "Understand", "Plan", "Scaffold", "Build", "Validate", "Iterate"- Grade scale: "A" (90-100), "B" (75-89), "C" (60-74), "D" (40-59), "F" (<40)- Patterns: "dispatch-table", "reference-file-index", "critical-rules", "canonical-vocabulary", "scope-boundaries", "classification-gating", "scaling-strategy", "state-management", "scripts", "templates", "hooks", "progressive-disclosure", "body-substitutions", "stop-hooks"- Audit dimensions: "frontmatter", "description", "dispatch-table", "body-structure", "pattern-coverage", "reference-quality", "critical-rules", "script-quality", "portability", "conciseness", "canonical-vocabulary", "evaluation-coverage", "validation-contract"