Skill Builder
Build structurally correct Claude Code skills by enforcing Anthropic's official skill guide patterns, rules, and validation checklist.
Important
- Take your time with each phase. Quality is more important than speed.
- Do not skip validation steps — every check matters.
- Read the referenced files in
references/before making decisions that depend on them. They contain the authoritative rules. - Explain the why behind structural decisions so the user builds intuition, not just files.
Instructions
This skill runs a 4-phase workflow with exactly 2 pauses (Phase 1 and Phase 4). Phases 2 and 3 execute automatically.
Phase 1: Extract Intent (1 pause)
Determine which entry path applies:
Path A — From Conversation Context
If the user said "turn this into a skill" or similar, referring to work already done in the conversation:
- Review the conversation history for: tools used, step sequence, corrections made, input/output formats, domain knowledge applied.
- Synthesize a summary: "Here's what I extracted from our conversation: [summary]."
- Pause for confirmation: "Does this capture it, or should I adjust?"
Path B — From Intent Argument
If the user provided $ARGUMENTS or described what they want:
- Ask the 4 intent questions (one message, one pause):
- What does the user want to accomplish with this skill?
- What multi-step workflows does this require?
- Which tools are needed (built-in like Read/Write/Bash/Grep/Glob, or MCP servers)?
- What domain knowledge or best practices should be embedded?
- Pause once for answers.
Path C — Idea Development
If the user wants to explore or develop a skill concept before committing to building it (e.g., "help me develop this idea", "I need a skill that can...", "what would this look like"):
- Engage in structured collaboration:
- Clarify the core problem the skill solves
- Identify what makes it hard (domain knowledge, multi-step coordination, tool selection, etc.)
- Propose the output format and key decisions
- Surface design tensions and tradeoffs
- Do NOT ask the 4 intent questions mechanically. Have a real conversation about the concept.
- Pause as many times as needed — this path is collaborative, not a form.
- Exit condition: When the user says "build it", "go ahead", "go for it", or equivalent approval, transition to Auto-Decisions below and proceed through Phases 2-4 automatically.
Auto-Decisions (after the pause)
After receiving confirmation (Path A) or answers (Path B):
- Read reference files first. Before making any decisions, read
references/patterns.md,references/frontmatter-rules.md, andreferences/description-craft.md. These inform the decisions below. - Make these decisions automatically. State each one clearly:
Use Case Category — Classify as one of:
- Document & Asset Creation: Skill produces files, reports, documentation, or structured output
- Workflow Automation: Skill orchestrates a multi-step process (build, deploy, test, etc.)
- MCP Enhancement: Skill teaches optimal workflows for connected MCP servers
State: "Category: [X] because [reason]."
Framing — Choose one:
- Problem-first: User describes a goal, skill orchestrates tools to achieve it. ("I need to set up a workspace")
- Tool-first: User has specific tools/MCPs, skill teaches optimal usage patterns. ("I have Notion MCP connected")
State: "Framing: [X] because [reason]."
Pattern — Choose from the 5 patterns (already read in step 1 above):
- Sequential Workflow
- Multi-MCP Coordination
- Iterative Refinement
- Context-Aware Tool Selection
- Domain-Specific Intelligence
State: "Pattern: [X] because [reason]."
Location — Determine where to save:
- If the skill is project-specific (only useful in this repo):
{project}/.claude/skills/{skill-name}/ - If the skill is general-purpose (useful across projects):
~/.claude/skills/{skill-name}/ - When in doubt, prefer global (
~/.claude/skills/) — skills can always be moved later
State: "Location: [path]"
Invocability — Default to user_invocable: true unless the skill is clearly meant to be auto-triggered only.
Proceed immediately to Phase 2.
Phase 2: Build (0 pauses)
Construct the entire skill. Do not pause during this phase.
Step 1: Create Folder
- Name in kebab-case (no spaces, underscores, or capitals)
- Create the folder and
references/subdirectory if needed
Step 2: Generate Frontmatter
Consult references/frontmatter-rules.md (already read in Phase 1) for the complete rule set.
Required fields:
name: kebab-case, must match folder name, no "claude" or "anthropic" in the namedescription: Craft using the formula fromreferences/description-craft.md:- Structure:
[What it does] + [When to use it] + [Key capabilities] - Under 1024 characters
- No XML tags (
<or>) - Include specific trigger phrases users would actually say
- Include negative triggers if scope could be confused with another skill
- Be "a little pushy" on triggers — Claude undertriggers by default, so lean inclusive
- Structure:
user_invocable: true by defaultargument: include if the skill accepts input
Optional fields — only include when genuinely needed:
compatibility: environment requirements (1-500 chars)metadata: author, version, mcp-serverlicense: MIT, Apache-2.0, etc.
Step 3: Write Instructions
Apply the pattern selected in Phase 1 to structure the instructions. Follow these rules:
Voice and form:
- Imperative form: "Run X", "Check Y" — not "You should run X"
- Every instruction is a concrete action, never vague
- GOOD:
Run \python scripts/validate.py --input {filename}` to check data format` - BAD:
Validate the data before proceeding
Structure:
- Start with
# Skill Name - Add
## Importantor## Criticalheader at top for must-follow rules - Use
## Instructionswith### Step N: [Action]subsections - Include
## Error Handlingsection with concrete numbered fixes - Include
## Examplessection with input/output format for common scenarios - Reference bundled resources: "Before doing X, consult
references/Y.mdfor the complete rule set"
Quality enforcement:
- Add performance notes: "Take your time", "Quality is more important than speed", "Do not skip validation steps"
- Explain the why behind non-obvious decisions — theory of mind beats heavy-handed MUSTs
- Critical instructions go at the top, not buried in the middle
Progressive disclosure:
- Core instructions in SKILL.md, detailed docs in
references/ - Keep SKILL.md under 500 lines
- If approaching the limit, add hierarchy and clear pointers to reference files
Step 4: Create References (if needed)
Only create references/ files for skills with:
- Domain knowledge that would bloat SKILL.md
- API patterns or templates
- Multiple variants or modes
For simple skills (~50 lines of instructions), skip references entirely.
When creating reference files:
- Include table of contents for files over 300 lines
- Organize by variant/domain if supporting multiple contexts
Step 5: No README.md
Never create a README.md inside the skill folder. SKILL.md is the only documentation file.
Phase 3: Validate (0 pauses)
Run every check from the validation checklist automatically. Read references/validation-checklist.md for the full list.
Validation checks to run:
- Folder named in kebab-case
- SKILL.md exists (exact spelling, case-sensitive)
- YAML frontmatter has
---delimiters namefield: kebab-case, no spaces, no capitalsnamematches folder namedescriptionincludes WHAT and WHEN componentsdescriptionunder 1024 characters- No XML tags (
<or>) in any frontmatter field - Instructions use imperative form (spot-check first 5 action sentences)
- Error handling section present
- Examples section present
- References clearly linked (if
references/exists) - No README.md in skill folder
- SKILL.md under 500 lines
Print the validation report:
Validation Report:
[PASS] Folder named in kebab-case
[PASS] SKILL.md exists (exact spelling)
[PASS] YAML frontmatter has --- delimiters
...
If any check fails: fix the issue immediately, re-validate, and show the corrected report. Do not present a report with failures unless the fix requires user input.
Phase 4: Deliver (1 pause)
Present the finished skill:
- Show the full frontmatter — the YAML block between
---delimiters - Show instruction structure — headers and step names (not the full content)
- State the pattern applied and why it was chosen
- Provide test prompts:
- 2-3 should-trigger prompts:
- One obvious task description
- One paraphrased/indirect request
- One edge case that should still trigger
- 2 should-NOT-trigger prompts:
- Near-misses that share keywords but need a different skill or no skill
- These are the most valuable tests for preventing overtriggering
- 2-3 should-trigger prompts:
- State location and how to invoke:
/skill-nameor natural language
Ask: "Anything to adjust, or ready to use? Run /skill-eval to benchmark how well this skill follows its own instructions."
Error Handling
Folder already exists
- Check contents. If it contains an existing skill, ask the user: overwrite or pick a new name?
- Never silently overwrite.
SKILL.md exceeds 500 lines
- Identify sections that can move to
references/ - Extract them, replace with pointers: "See
references/X.mdfor details" - Re-validate line count
Description exceeds 1024 characters
- Tighten language — remove redundant trigger phrases
- Keep the WHAT + WHEN + negative triggers structure
- Cut capabilities list if needed (triggers matter more)
Frontmatter validation fails
- Fix the specific field
- Re-run validation
- Show corrected report
Examples
Example 1: Simple workflow skill
User: /skill-builder a skill that runs my Python test suite with coverage
Result: A sequential-workflow skill with:
- Frontmatter with triggers like "run tests", "test coverage", "pytest"
- Steps: discover test files, run pytest with coverage flags, parse output, report results
- Error handling for missing dependencies, no tests found, failures
- Examples showing different invocation patterns
Example 2: From conversation
User (after debugging session): "turn this into a skill"
Result: Extracts the debugging workflow from conversation, builds a domain-specific intelligence skill with the diagnostic patterns embedded, triggers on relevant error types.
Example 3: MCP-enhanced skill
User: /skill-builder a skill for managing GitHub issues with labels and milestones
Result: A multi-MCP coordination skill (if GitHub MCP is available) or sequential workflow (if using gh CLI), with triggers for "create issue", "label issues", "milestone planning".