Create new Claude skills following Anthropic best practices. Use when building specialized agent capabilities, packaging procedural knowledge, or extending Claude's domain expertise.
Installs into .claude/skills of the current project.
Are you the author of Collection?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/mattnigh-collection-e0f29aa0)
---
name: Create Claude Skill
description: Create new Claude skills following Anthropic best practices. Use when building specialized agent capabilities, packaging procedural knowledge, or extending Claude's domain expertise.
---
# Create Claude Skill
You are an expert at creating Claude Agent Skills - organized folders of instructions, scripts, and resources that agents can discover and load dynamically.
**Your task:** Help users create well-structured skills that follow Anthropic's best practices for progressive disclosure, composability, and maintainability.
## What Are Skills?
Skills extend Claude's capabilities by packaging expertise into composable resources. Think of building a skill like creating an onboarding guide for a new hire - it captures procedural knowledge and organizational context that makes Claude effective at specific tasks.
## Core Principle: Progressive Disclosure
Skills use **progressive disclosure** to load information only as needed:
```
Level 1: name + description (loaded at startup for all skills)
↓
Level 2: SKILL.md body (loaded when skill is triggered)
↓
Level 3+: Referenced files (loaded only when needed)
```
This design allows unbounded context to be bundled into a skill while keeping the active context lean.
## When to Create a Skill
Create a skill when:
- Claude struggles with specific tasks that require procedural knowledge
- You have domain expertise to capture in reusable form
- A workflow involves multiple steps that benefit from guidance
- You want to share specialized capabilities with others
## Skill Anatomy
A skill is a directory containing a `SKILL.md` file:
```
.claude/skills/your-skill/
├── SKILL.md # Required: Main entry point with YAML frontmatter
├── reference.md # Optional: Deeper technical details
├── patterns.md # Optional: Common patterns and examples
├── examples/ # Optional: Example files
│ └── example1.md
├── templates/ # Optional: Starter templates
│ └── template.md
└── scripts/ # Optional: Executable code
└── helper.js
```
### SKILL.md Requirements
Every SKILL.md MUST start with YAML frontmatter:
```yaml
---
name: Your Skill Name
description: Brief description for Claude to decide when to trigger this skill. Be specific about trigger phrases and use cases.
---
```
## Creating a New Skill
### Step 1: Identify the Gap
Before creating a skill, identify:
1. **What task does Claude struggle with?** Run Claude on representative tasks and observe failures
2. **What knowledge would help?** Procedural steps, patterns, examples, or code
3. **When should this skill activate?** Define clear trigger conditions
### Step 2: Plan the Structure
Read the detailed anatomy guide:
```
Read: .claude/skills/create-claude-skill/anatomy.md
```
### Step 3: Write the SKILL.md
Start with the template:
```
Read: .claude/skills/create-claude-skill/templates/SKILL-template.md
```
Key principles:
- **Name**: Short, descriptive, hyphenated lowercase
- **Description**: Specific trigger phrases and use cases (Claude uses this to decide relevance)
- **Body**: Core instructions that apply to ALL uses of this skill
- **References**: Link to additional files for specific scenarios
### Step 4: Add Supporting Files (If Needed)
Split content into separate files when:
- SKILL.md becomes unwieldy (>200 lines)
- Contexts are mutually exclusive or rarely used together
- Code should be executable vs. read as documentation
### Step 5: Register the Skill
Add to `.claude/settings.local.json`:
```json
{
"permissions": {
"allow": [
"Skill(your-skill-name)"
]
}
}
```
### Step 6: Test and Iterate
```bash
# Test the skill
/skill your-skill-name
# Or invoke naturally
"Use the your-skill-name skill to help me..."
```
## Best Practices
For detailed development and evaluation practices:
```
Read: .claude/skills/create-claude-skill/best-practices.md
```
Key guidelines:
1. **Start with evaluation** - Build skills to address observed gaps
2. **Structure for scale** - Use progressive disclosure
3. **Think from Claude's perspective** - Monitor how Claude uses the skill
4. **Iterate with Claude** - Ask Claude to capture successful approaches
## Examples
See example skill structures:
```
Read: .claude/skills/create-claude-skill/examples/
```
## Security Considerations
Skills provide Claude with new capabilities through instructions and code. This means malicious skills could introduce vulnerabilities.
**Recommendations:**
- Install skills only from trusted sources
- Audit skills thoroughly before use
- Review code dependencies and bundled resources
- Be cautious of instructions to connect to external network sources
## Quick Reference
| Element | Purpose |
|---------|---------|
| `SKILL.md` | Required entry point with name/description |
| YAML frontmatter | Metadata loaded at startup |
| Body content | Instructions loaded when triggered |
| Referenced files | Deeper context loaded on demand |
| `scripts/` | Executable code for Claude to run |
| `templates/` | Starter files for users |
| `examples/` | Reference implementations |
## BEGIN
When a user asks to create a skill:
1. **Understand the need**: What capability gap are they addressing?
2. **Plan the structure**: What files and references are needed?
3. **Create the skill folder**: `mkdir .claude/skills/skill-name`
4. **Write SKILL.md**: Start with the template, customize for their needs
5. **Add supporting files**: Only as needed for progressive disclosure
6. **Register and test**: Add to settings, verify it works
Use the Read tool to access templates and examples as needed.