Guides you through creating well-structured Claude Code skills with proper modularization, templates, and best practices. Use when creating new skills or improving existing ones.
npx skills add https://github.com/rshankras/claude-code-apple-skills --skill skill-creator
Helps you create well-structured, modularized Claude Code skills with best practices.
Use this skill when the user:
Ask the user:
Based on complexity:
Simple Skills (Self-contained):
.claude/skills/skill-name/
└── SKILL.md
Complex Skills (Modularized):
.claude/skills/skill-name/
├── SKILL.md # Main skill definition
├── reference-1.md # Supporting reference
├── reference-2.md # Additional reference
└── examples.md # Code examples/templates
The main SKILL.md should include:
---
name: skill-name
description: Brief description of what the skill does and when to use it
allowed-tools: [Read, Write, Edit]
last_verified: 2026-07-16
review_by: 2027-06-22
---
Front Matter Fields:
name: kebab-case skill name (e.g., code-reviewer, ui-audit)description: 1-2 sentences describing the skill and when to use itallowed-tools: Array of tools the skill can uselast_verified: date (YYYY-MM-DD) the content was last checked againstreality — set to today when creating; bump on every material edit
review_by: date (YYYY-MM-DD) of the scheduled re-verification — defaultto ~2 weeks after the next WWDC (the natural decay event). CI requires both
dates; a weekly workflow opens rollup issues when skills pass review_by
os_version (optional): the OS generation the content was verified against(e.g. iOS 27 / macOS 27) — add only if the skill cites OS/Swift versions
Common Tool Combinations:
[Read, Glob, Grep][Read, Write, Edit][Read, Write, Edit, Glob, Grep, Bash][Read, Glob, Grep, WebFetch]# Skill Name
Brief description of what this skill does.
## When This Skill Activates
Use this skill when the user:
- [Specific trigger 1]
- [Specific trigger 2]
- [Specific trigger 3]
## Process/Workflow
### 1. Step One
- Instructions for first step
- What to check or do
- Expected outputs
### 2. Step Two
- Instructions for second step
- References to supporting files if needed
### 3. Output Format
How to present results to the user.
## References
Links to relevant documentation, files, or resources.
For complex skills, create modular reference files:
When to Modularize:
Common Reference File Types:
checklist.md, review-checklist.mdpatterns.md, anti-patterns.mdexamples.md, templates.mdquick-ref.md, commands.mdguidelines.md, standards.mdReference File Structure:
# Reference Topic
Brief description of this reference.
## Section 1
### Subsection
- Checklist items
- Code examples
- Explanations
## Section 2
[Content organized logically]
## References
[External links if needed]
In the main SKILL.md, reference supporting files:
### 2. Load Reference Materials
Before starting, familiarize yourself with these references:
- **patterns.md** - Common patterns and anti-patterns
- **examples.md** - Code examples and templates
- **checklist.md** - Comprehensive review checklist
## When This Skill Activates
Use this skill when the user:
- Asks for code review or quality check
- Mentions "best practices" or "refactoring"
- Wants to improve code quality
- Requests architecture review
// ❌ Vague
- Check the code
// ✅ Specific
- Check for force unwrapping (!)
- Verify all optionals use safe unwrapping patterns
- Flag any instances for review with line numbers
Always provide:
### Pattern Example
#### ❌ Anti-pattern
// Bad code example
let value = optional!
#### ✅ Good pattern
// Good code example
guard let value = optional else { return }
#### Why?
Force unwrapping crashes if nil. Guard provides safe unwrapping.
Provide clear output templates:
## Output Format
Present findings in this structure:
### ✅ Strengths
- [List strengths]
### ⚠️ Issues Found
**[Category]**
**[Priority]: [File:Line]** - [Description]
// Current code
// Suggested fix
// Reason
### 📋 Recommendations
1. High priority items
2. Medium priority items
3. Low priority items
Choose appropriate tools:
| Task | Tools |
|------|-------|
| Reading code | Read, Glob, Grep |
| Modifying code | Read, Write, Edit |
| Running tests | Read, Bash |
| Web research | WebFetch |
| File operations | Read, Write, Glob |
Use checklists for systematic reviews:
### Review Checklist
#### Category 1
- [ ] Check item 1
- [ ] Check item 2
- [ ] Check item 3
#### Category 2
- [ ] Check item 4
- [ ] Check item 5
---
name: greeting-responder
description: Responds to user greetings with helpful information about the project
allowed-tools: [Read]
---
# Greeting Responder
Provides helpful project context when users greet Claude.
## When This Skill Activates
Use this skill when the user:
- Says "hello", "hi", or similar greetings
- Asks "what can you help with?"
## Process
1. Greet the user warmly
2. Provide brief overview of the project
3. List 3-5 common tasks you can help with
4. Invite them to ask questions
## Example Output
"Hello! I can help you with this Swift/iOS project. Here are some things I can do:
- Review code for best practices
- Help implement new features
- Debug issues
- Refactor code
- Write tests
What would you like to work on?"
See the existing coding-best-practices or ui-review skills as examples of well-modularized complex skills.
Refactor a skill when:
.claude/skills/skill-name/
├── SKILL.md # Main entry point
├── process.md # Detailed workflow
├── patterns/
│ ├── good-patterns.md
│ └── anti-patterns.md
├── references/
│ ├── checklist.md
│ └── examples.md
└── templates/
└── output-template.md
After creating a skill:
Name Format: kebab-case
Good Names:
code-reviewerui-audittest-generatorapi-analyzerBad Names:
CodeReviewer (PascalCase)code_reviewer (snake_case)reviewer (too vague)cr (too abbreviated)See the following reference files for templates:
.claude/skills/ for examplescoding-best-practices and ui-review skillsCreate new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take rshankras/skill-creator from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.