skill-creator
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.
Best use case
skill-creator is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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.
Teams using skill-creator should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/skill-creator/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How skill-creator Compares
| Feature / Agent | skill-creator | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Skill Creator
Helps you create well-structured, modularized Claude Code skills with best practices.
## When This Skill Activates
Use this skill when the user:
- Wants to create a new skill
- Asks about skill structure or organization
- Wants to improve or refactor existing skills
- Needs help with skill modularization
- Asks about skill best practices
## Skill Creation Process
### 1. Understand Requirements
Ask the user:
- **Purpose**: What should this skill do?
- **Activation**: When should it activate?
- **Tools**: What tools will it need? (Read, Write, Edit, Glob, Grep, Bash, WebFetch, etc.)
- **Scope**: Is it project-specific or general-purpose?
- **Complexity**: Will it need reference files or can it be self-contained?
### 2. Plan the Skill Structure
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
```
### 3. Create the Main SKILL.md
The main SKILL.md should include:
#### Front Matter (Required)
```yaml
---
name: skill-name
description: Brief description of what the skill does and when to use it
allowed-tools: [Read, Write, Edit]
---
```
**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 it
- `allowed-tools`: Array of tools the skill can use
**Common Tool Combinations:**
- **Read-only analysis**: `[Read, Glob, Grep]`
- **Code modification**: `[Read, Write, Edit]`
- **Full access**: `[Read, Write, Edit, Glob, Grep, Bash]`
- **Web research**: `[Read, Glob, Grep, WebFetch]`
#### Main Content Structure
```markdown
# 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.
```
### 4. Create Supporting Reference Files
For complex skills, create modular reference files:
**When to Modularize:**
- Main SKILL.md exceeds 300-400 lines
- Contains extensive checklists or examples
- Has multiple distinct topics/categories
- Would benefit from focused reference materials
**Common Reference File Types:**
- **Checklists**: `checklist.md`, `review-checklist.md`
- **Patterns**: `patterns.md`, `anti-patterns.md`
- **Examples**: `examples.md`, `templates.md`
- **Quick References**: `quick-ref.md`, `commands.md`
- **Guidelines**: `guidelines.md`, `standards.md`
**Reference File Structure:**
```markdown
# 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]
```
### 5. Link References in Main SKILL.md
In the main SKILL.md, reference supporting files:
```markdown
### 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
```
## Skill Writing Best Practices
### Clear Activation Triggers
```markdown
## 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
```
### Actionable Instructions
```markdown
// ❌ Vague
- Check the code
// ✅ Specific
- Check for force unwrapping (!)
- Verify all optionals use safe unwrapping patterns
- Flag any instances for review with line numbers
```
### Examples and Templates
Always provide:
- ✅ Good examples (what to do)
- ❌ Bad examples (what to avoid)
- Explanations (why it matters)
```markdown
### 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.
```
### Structured Output Formats
Provide clear output templates:
```markdown
## 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
```
### Tool Selection
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` |
### Checklists
Use checklists for systematic reviews:
```markdown
### Review Checklist
#### Category 1
- [ ] Check item 1
- [ ] Check item 2
- [ ] Check item 3
#### Category 2
- [ ] Check item 4
- [ ] Check item 5
```
## Example Skills
### Simple Skill Example
```yaml
---
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?"
```
### Complex Skill Example
See the existing `coding-best-practices` or `ui-review` skills as examples of well-modularized complex skills.
## Skill Maintenance
### When to Refactor
Refactor a skill when:
- Main SKILL.md exceeds 400-500 lines
- Adding new content becomes difficult
- Multiple distinct topics exist
- Reference material is repeated
- Finding information takes too long
### How to Refactor
1. **Identify logical sections** in the main SKILL.md
2. **Extract sections** into focused reference files
3. **Update main SKILL.md** to reference new files
4. **Test the skill** to ensure references work
5. **Update descriptions** if scope changed
### File Organization
```
.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
```
## Testing Your Skill
After creating a skill:
1. **Verify metadata**: Check front matter is valid YAML
2. **Test activation**: Ensure description triggers appropriately
3. **Check references**: Verify all referenced files exist
4. **Run through workflow**: Follow the process end-to-end
5. **Validate output**: Ensure output format is clear and useful
## Common Pitfalls
### ❌ Avoid
- Vague activation criteria
- Missing tool permissions
- Overly complex single-file skills
- No examples or templates
- Unclear output formats
- Broken reference links
### ✅ Do
- Clear, specific activation triggers
- Appropriate tool selection
- Modularize complex skills
- Provide examples for everything
- Define structured output formats
- Keep references organized
## Skill Naming Conventions
**Name Format**: `kebab-case`
**Good Names:**
- `code-reviewer`
- `ui-audit`
- `test-generator`
- `api-analyzer`
**Bad Names:**
- `CodeReviewer` (PascalCase)
- `code_reviewer` (snake_case)
- `reviewer` (too vague)
- `cr` (too abbreviated)
## Templates
See the following reference files for templates:
- **skill-template.md** - Basic skill template
- **complex-skill-template.md** - Modularized skill template
## References
- [Claude Code Skills Documentation](https://docs.claude.com/claude-code/skills)
- Existing skills in `.claude/skills/` for examples
- This project's `coding-best-practices` and `ui-review` skills
## Notes
- Keep skills focused on a single purpose
- Use modularization for maintainability
- Provide clear examples and templates
- Test skills after creation
- Update skills as needs evolveRelated Skills
watchOS
watchOS development guidance including SwiftUI for Watch, Watch Connectivity, complications, and watch-specific UI patterns. Use for watchOS code review, best practices, or Watch app development.
visionos-widgets
visionOS widget patterns including mounting styles, glass/paper textures, proximity-aware layouts, and spatial widget families. Use when creating or adapting widgets for visionOS.
test-data-factory
Generate test fixture factories for your models. Builder pattern and static factories for zero-boilerplate test data. Use when tests need sample data setup.
test-contract
Generate protocol/interface test suites that any implementation must pass. Define the contract once, test every implementation. Use when designing protocols or swapping implementations.
tdd-refactor-guard
Pre-refactor safety checklist. Verifies test coverage exists before AI modifies existing code. Use before asking AI to refactor anything.
tdd-feature
Red-green-refactor scaffold for building new features with TDD. Write failing tests first, then implement to pass. Use when building new features test-first.
tdd-bug-fix
Fix bugs using red-green-refactor — reproduce the bug as a failing test first, then fix it. Use when fixing bugs to ensure they never regress.
snapshot-test-setup
Set up SwiftUI visual regression testing with swift-snapshot-testing. Generates snapshot test boilerplate and CI configuration. Use for UI regression prevention.
integration-test-scaffold
Generate cross-module test harness with mock servers, in-memory stores, and test configuration. Use when testing networking + persistence + business logic together.
characterization-test-generator
Generates tests that capture current behavior of existing code before refactoring. Use when you need a safety net before AI-assisted refactoring or modifying legacy code.
testing
TDD and testing skills for iOS/macOS apps. Covers characterization tests, TDD workflows, test contracts, snapshot tests, and test infrastructure. Use for test-driven development, adding tests to existing code, or building test infrastructure.
webkit-integration
WebKit integration in SwiftUI using WebView and WebPage for embedding web content, navigation, JavaScript interop, and customization. Use when embedding web content in SwiftUI apps.