// Use when the user wants to create a new Claude Code skill, build a custom skill, or needs help structuring skill instructions. Guides users through creating properly formatted skills with YAML frontmatter, clear descriptions, and comprehensive instructions.
| name | skill-builder |
| description | Use when the user wants to create a new Claude Code skill, build a custom skill, or needs help structuring skill instructions. Guides users through creating properly formatted skills with YAML frontmatter, clear descriptions, and comprehensive instructions. |
| allowed-tools | Read, Write, Edit, Grep, Glob |
| model | sonnet |
This skill helps users create professional, well-structured Claude Code skills that follow official best practices. It guides through:
This skill should be invoked when:
Ask the user:
Based on the purpose, suggest a name that is:
code-reviewer, api-builder, database-optimizerThis is the most critical part! The description determines when Claude invokes the skill.
Requirements:
Good Example:
Use when reviewing code for security vulnerabilities, performance issues, and best practices. Automatically checks for SQL injection, XSS, CSRF, and common bugs. Invoke for pull request reviews or code audits.
Bad Example:
Reviews code
Generate a complete SKILL.md file with:
---
name: skill-name
description: [Effective description with WHAT and WHEN]
allowed-tools: [Optional - only if restrictions needed]
model: [Optional - sonnet/opus/haiku, or omit for default]
---
# [Skill Name]
## Purpose
[Clear explanation of what this skill does and why it's useful]
## When to Use
This skill should be invoked when:
- [Specific trigger condition 1]
- [Specific trigger condition 2]
- [Specific trigger condition 3]
## Process
1. **Step 1**: [First action]
- [Detail or substep]
2. **Step 2**: [Second action]
- [Detail or substep]
3. **Step 3**: [Final action]
- [Detail or substep]
## Output Format
[Describe what format the output should take]
## Best Practices
- [Best practice 1]
- [Best practice 2]
- [Best practice 3]
## Examples
### Example 1: [Scenario name]
**Input**: [What the user provides]
**Process**: [How the skill handles it]
**Output**: [What the skill produces]
## Error Handling
- **[Error type]**: [How to handle]
- **[Error type]**: [How to handle]
## Notes
[Any additional context, warnings, or tips]
Personal skills (available across all projects):
~/.claude/skills/skill-name/SKILL.md
Project skills (team-shared, version controlled):
.claude/skills/skill-name/SKILL.md
If needed, create:
README.md - Installation and usage docsscripts/ - Executable scriptsmaterials/ - Reference materials, templates.gitignore - For project skillsCheck:
When creating a skill, provide:
Skill metadata:
skill-namepath/to/skill/Complete SKILL.md file content
README.md content (for documentation)
Installation instructions:
# Commands to create the skill
Testing guidance:
Include trigger keywords:
Be specific:
Only restrict tools when necessary:
# Read-only analysis skill
allowed-tools: Read, Grep, Glob
# Can modify files
allowed-tools: Read, Write, Edit, Grep, Glob
# Needs to run commands
allowed-tools: Read, Write, Edit, Bash
# Full access (omit field)
# Fast, efficient (simple tasks)
model: haiku
# Balanced (most tasks)
model: sonnet
# Most capable (complex reasoning)
model: opus
# Inherit from session (omit field)
Choose Personal when:
Choose Project when:
User Request: "Create a skill for reviewing pull requests"
Response:
I'll create a code-reviewer skill for comprehensive pull request reviews.
Skill Metadata:
code-reviewer.claude/skills/code-reviewer/Creating SKILL.md:
[Generate complete SKILL.md with frontmatter and all sections]
Installation:
mkdir -p .claude/skills/code-reviewer
# [Write SKILL.md content]
Testing: After restarting Claude Code, try:
Refinement: If not auto-invoked, add more trigger keywords to the description like "code review", "PR review", "security audit".
User Request: "I need a skill for generating database migrations"
Response:
I'll create a db-migration-generator skill that creates safe database migration files.
[Follow same pattern as Example 1]
User Request: "My skill isn't being invoked automatically"
Response:
Let me check your skill's description. The description is how Claude decides when to invoke the skill.
Current description: [Read from SKILL.md]
Issues:
Improved description:
description: Use when [specific trigger]. Handles [capabilities]. Invoke for [use cases].
Next steps:
allowed-tools/skills command to see loaded skillsallowed-tools: Read, Grep, Glob
Examples: code-reviewer, security-auditor, performance-analyzer
# Omit allowed-tools or include Write
Examples: api-builder, test-generator, migration-creator
# Include Bash for script execution
Examples: deployment-helper, build-optimizer
# Include materials/ directory with templates
Examples: brand-checker, style-guide-validator
Before finishing, verify:
Reference these templates from this skill's directory:
Access templates at: .claude/skills/skill-builder/templates/
../../docs/claude/skills/overview.md.claude/skills/skill-builder/build-skill.sh.claude/skills/skill-builder/utils/validate-skill.sh.claude/skills/skill-builder/QUICK_START.md