Creates, reviews, and iterates on Claude Code skills using Anthropic's best practices and latest API docs. Use for new skill creation, existing skill review, description writing, and architecture design.
npx claudepluginhub henkisdabro/wookstar-claude-pluginsThis skill is limited to using the following tools:
When creating a new skill based on user's request: $ARGUMENTS
Guides creation, refinement, and best practices for Claude Code Skills including SKILL.md structure, router patterns, workflows, references, XML formatting, and progressive disclosure.
Guides development of Claude Code SKILL.md files with best practices, structure, YAML frontmatter rules, categories, patterns, references, and testing.
Guides creation, writing, and refinement of Claude Code Skills with structure, best practices, naming, and frontmatter specs. Use for SKILL.md files or skill authoring.
Share bugs, ideas, or general feedback.
When creating a new skill based on user's request: $ARGUMENTS
Ask the user:
Ask the user:
Fetch the latest official skill documentation to verify current fields and constraints:
WebFetch: https://markdown.new/https://code.claude.com/docs/en/skills.md
Use AskUserQuestion:
~/.claude/skills/<skill-name>/ - available in all projects.claude/skills/<skill-name>/ - project-specificplugins/<plugin-name>/skills/Scaffold with init_skill.py or create manually:
python .claude/skills/create-ultimate-skill/scripts/init_skill.py <skill-name> --path <location>
Then write SKILL.md applying all rules below. Review with the checklist before presenting to user.
When complete, provide:
description MUST be a single-line plain string. NEVER use YAML multi-line indicators (>-, |, >, |-). Multi-line descriptions break frontmatter parsing.allowed-tools MUST be a single-line comma-separated string (e.g. allowed-tools: Read, Write, Edit). NEVER use YAML list syntax.| Field | Constraints |
|---|---|
name | Max 64 chars, [a-z0-9-] only, no "anthropic"/"claude" |
description | Max 1024 chars, non-empty, no XML tags |
| Field | Purpose | Example |
|---|---|---|
allowed-tools | Limit tool access | Read, Grep, Glob |
model | Override model | sonnet, opus |
context | Isolation | fork |
agent | Subagent type | Explore, Plan |
hooks | Lifecycle events | PreToolUse, PostToolUse, Stop |
user-invocable | Slash menu visibility | false to hide |
disable-model-invocation | Block Skill tool | true |
See references/api-reference.md for full field documentation.
| Archetype | Best For | Structure |
|---|---|---|
| CLI Reference | Tool documentation | Commands grouped by function, minimal prose |
| Methodology | Workflows, processes | Philosophy + THE EXACT PROMPT + examples |
| Safety Tool | Validation, security | Threat model + risk tiers + rules |
| Orchestration | Multi-agent coordination | Quick start + APIs + integrations |
See references/archetypes.md for templates.
Template:
description: [What it does]. Use when [triggers]. Do NOT use for [exclusions].
Examples:
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when user mentions PDFs, forms, or document extraction.
description: Process and transform CSV data files. Use when working with CSV imports, exports, or data cleaning. Do NOT use for Excel files (.xlsx) or database queries.
skill-name/
├── SKILL.md # Core guidance only
├── references/ # Detailed docs (on-demand)
├── examples/ # Working code samples
└── scripts/ # Executable utilities
| Anti-Pattern | Fix |
|---|---|
| Vague descriptions | Specific triggers + negative triggers |
| Deeply nested references | One level deep |
| README.md in skill folder | Delete it - SKILL.md IS the readme |
>- or ` | ` in description |
| YAML list for allowed-tools | Comma-separated string |
Define success criteria before building:
Debug technique: Ask Claude "When would you use the [skill name] skill?" - the response reveals how Claude interprets the description.
Test three areas:
Pro tip: Iterate on a single challenging task until Claude succeeds, then extract the winning approach into the skill. This grounds design in proven patterns rather than theory.
| Signal | Fix |
|---|---|
| Skill never activates | Add more trigger phrases to description |
| Wrong skill activates | Add "Do NOT use for..." negative triggers |
| Output is wrong | Refine SKILL.md instructions, add examples |
| Output is inconsistent | Reduce degrees of freedom, be more prescriptive |
python .claude/skills/create-ultimate-skill/scripts/init_skill.py <skill-name> --path <location>
Creates SKILL.md with template, plus scripts/, references/, assets/ directories.
python .claude/skills/create-ultimate-skill/scripts/package_skill.py <path/to/skill> [output-dir]
Validates and creates distributable zip. Checks frontmatter, naming, ensures no TODOs remain.
When reviewing an existing skill (triggered by --review or "review my skill"):
## Skill Review: [skill-name]
### Summary
[Assessment, word counts, structure]
### Description Analysis
**Current:** [description]
**Issues:** [with severity]
**Suggested:** "[improved version]"
### Issues by Severity
#### Critical ([count])
- [File]: [Issue] - [Fix]
#### Major ([count])
- [File]: [Issue] - [Fix]
#### Minor ([count])
- [File]: [Issue] - [Suggestion]
### Rating: [Pass / Needs Improvement / Needs Major Revision]
### Priority Fixes
1. [Highest impact]
2. [Second]
3. [Third]
Before finalising any skill's frontmatter, fetch the latest official documentation to check for new fields, changed constraints, or updated rules:
WebFetch: https://markdown.new/https://code.claude.com/docs/en/skills.md