Create New Skills
Skill2 starsChanged 9 months agoMITView on GitHub
Creates new Agent Skills for Claude Code following best practices and documentation. Use when the user wants to create a new skill, extend Claude's capabilities, or package domain expertise into a reusable skill.
- Commits and pushes
We split this skill into the rules it gives an agent
42 rules. About 0 are common, 38 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈38
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Required Reading: - Read these files in order before creating a skill:
- Distinctive: line 32
Key Principle: Only relevant content enters the context window at any time.
- Distinctive: line 38
Ask the user these questions:
- Distinctive: line 40
When should Claude use this skill?
- Distinctive: line 44
Document the answers for reference.
- Very specific: line 48
Create skills in the project's .claude/skills/ directory for team sharing:
- Very specific: line 55
Use lowercase with hyphens (e.g., pdf-processing, data-analysis)
- Distinctive: line 63
Every skill must have:
- Distinctive: line 97
Use clear, actionable language
- Distinctive: line 99
Use bullet points for options/lists
- Distinctive: line 102
Keep focused on one capability
- Distinctive: line 152
If the skill needs additional context:
- Very specific: line 153
Create files alongside SKILL.md
- Distinctive: line 155
Use progressive disclosure - split by topic/scenario
- Distinctive: line 166
Add PEP 723 inline dependencies for Python scripts
- Distinctive: line 177
Check YAML frontmatter is valid:
- Distinctive: line 182
Test with relevant queries:
- Distinctive: line 183
Ask questions matching the skill's description
- Distinctive: line 184
Verify Claude loads and uses the skill
- Distinctive: line 185
Check that instructions are clear and actionable
- Distinctive: line 190
Add examples for common edge cases
- Distinctive: line 211
Keep main instructions focused (under 5k tokens ideal)
- Distinctive: line 213
Use progressive disclosure for optional/advanced content
- Distinctive: line 217
Don't combine unrelated tasks
- Very specific: line 221
Use relative paths: file.md not absolute paths
- Distinctive: line 255
Read the documentation files in docs/
- Distinctive: line 258
Should it check only or suggest fixes?
- Distinctive: line 260
Create the skill directory:
- Distinctive: line 272
Add Instructions section with:
- Distinctive: line 275
Read the Python file(s)
- Distinctive: line 284
Test with sample Python files
- Distinctive: line 308
Create Python scripts with inline dependencies:
- Distinctive: line 315
Write clear instructions for:
- Distinctive: line 316
When to run which script
- Distinctive: line 323
Test with sample CSV files
- Distinctive: line 358
Test with various documentation requests
- Distinctive: line 379
Write correction mappings in new file:
- Distinctive: line 387
Add step: "Apply spell corrections from spell_corrections.md"
- Distinctive: line 389
Update examples to show correction step
- Distinctive: line 390
Test with audio that has common errors
- Distinctive: line 398
Keep instructions focused: - Use supporting files for additional context
- Distinctive: line 399
Test thoroughly: - Verify Claude discovers and uses the skill correctly
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Create New Skills
Instructions
This skill helps you create new Agent Skills for Claude Code. Before starting, read the comprehensive documentation files in the docs/ directory for complete context.
Prerequisites
Required Reading - Read these files in order before creating a skill:
- docs/claude_code_agent_skills.md - Complete guide to creating and managing skills
- docs/claude_code_agent_skills_overview.md - Architecture and how skills work
- docs/blog_equipping_agents_with_skills.md - Design principles and best practices
Understanding Skills
What is a Skill?
- A directory containing a
SKILL.mdfile with YAML frontmatter - Instructions that Claude loads on-demand when relevant
- Optional supporting files (scripts, documentation, templates)
- Like an onboarding guide for a new team member
Progressive Disclosure (3 Levels):
- Metadata (always loaded):
nameanddescriptionin YAML frontmatter - Instructions (loaded when triggered): Main body of SKILL.md
- Resources (loaded as needed): Additional files, scripts, templates
Key Principle: Only relevant content enters the context window at any time.
Skill Creation Workflow
Step 1: Define the Skill's Purpose
Ask the user these questions:
- What task or domain should this skill cover?
- When should Claude use this skill? (triggers)
- What expertise or workflows need to be captured?
- Does it need scripts, templates, or other resources?
Document the answers for reference.
Step 2: Create the Skill Directory Structure
Create skills in the project's .claude/skills/ directory for team sharing:
mkdir -p .claude/skills/<skill-name>Naming conventions:
- Use lowercase with hyphens (e.g.,
pdf-processing,data-analysis) - Be descriptive but concise
- Avoid generic names
Note: Project skills (.claude/skills/) are automatically shared with your team via git. For personal skills only you use, create in ~/.claude/skills/ instead.
Step 3: Design the SKILL.md Structure
Every skill must have:
---
name: Your Skill Name
description: Brief description of what this Skill does and when to use it
---
# Your Skill Name
## Instructions
[Clear, step-by-step guidance for Claude]
## Examples
[Concrete examples of using this Skill]Frontmatter Requirements:
name: Required, max 64 charactersdescription: Required, max 1024 characters- Include BOTH what it does AND when to use it
- Mention key trigger words/phrases
- Be specific, not vague
Optional Frontmatter (Claude Code only):
allowed-tools: Restrict which tools Claude can use (e.g.,Read, Grep, Glob)
Step 4: Write the Instructions Section
Structure the instructions as:
- Prerequisites - Required dependencies, tools, environment setup
- Workflow - Step-by-step process (numbered steps)
- Supporting Details - Additional context, script usage, error handling
Best Practices:
- Use clear, actionable language
- Number sequential steps
- Use bullet points for options/lists
- Include code blocks with bash commands
- Reference supporting files with relative links:
[reference.md](reference.md) - Keep focused on one capability
Example workflow format:
### Workflow
1. **First step description**:
```bash
command to run- Additional context
- Options or variations
- Second step description:
- Detailed instructions
- What to look for
- Expected outcomes
- Third step...
#### Step 5: Write the Examples Section
Provide 2-4 concrete examples showing:
- Different use cases
- Various input formats
- Step-by-step execution
- Expected outcomes
**Example format:**
```markdown
### Example 1: Descriptive Title
User request:User's exact request text
You would:
1. First action
2. Second action with command:
```bash
actual command- Next steps...
- Final result
#### Step 6: Add Supporting Files (Optional)
If the skill needs additional context:
1. Create files alongside SKILL.md
2. Reference them from instructions: `[forms.md](forms.md)`
3. Use progressive disclosure - split by topic/scenario
**Common supporting file types:**
- Additional instructions (e.g., `advanced_usage.md`)
- Reference documentation (e.g., `api_reference.md`)
- Scripts in `scripts/` directory
- Templates in `templates/` directory
- Configuration examples
**Script guidelines:**
- Make executable: `chmod +x scripts/*.py`
- Add PEP 723 inline dependencies for Python scripts
- Include usage instructions in SKILL.md
- Return clear output for Claude to parse
#### Step 7: Test the Skill
1. Verify file structure:
```bash
ls -la .claude/skills/<skill-name>/- Check YAML frontmatter is valid:
head -10 .claude/skills/<skill-name>/SKILL.md - Test with relevant queries:
- Ask questions matching the skill's description
- Verify Claude loads and uses the skill
- Check that instructions are clear and actionable
- Iterate based on testing:
- Refine description if skill doesn't trigger
- Clarify instructions if Claude struggles
- Add examples for common edge cases
Step 8: Commit to Version Control
Since project skills are automatically shared with your team, commit them to git:
git add .claude/skills/<skill-name>
git commit -m "Add <skill-name> skill"
git pushNote: Team members will get the skill automatically when they pull the latest changes.
Best Practices Summary
Description writing:
- ✅ "Transcribes audio/video files to text using Fireworks API. Use when user asks to transcribe, convert speech to text, or needs transcripts."
- ❌ "Helps with audio"
Instruction organization:
- Keep main instructions focused (under 5k tokens ideal)
- Split complex content into linked files
- Use progressive disclosure for optional/advanced content
Skill scope:
- One skill = one capability or workflow
- Don't combine unrelated tasks
- Make focused, composable skills
File references:
- Use relative paths:
[file.md](file.md)not absolute paths - Reference scripts with full path from skill root
- Make it clear when Claude should read vs execute files
Common Patterns from Existing Skills
Pattern 1: Transcription skill
- Prerequisites section with environment setup
- Clear numbered workflow
- Multiple examples showing different formats
- Supporting file for corrections/mappings
Pattern 2: Morning debrief skill
- Two-step process (transcribe, extend)
- Reference to detailed prompt in separate file
- File organization step
- Clear output structure specification
Pattern 3: Meta-skill (this one)
- Extensive prereading documentation
- Step-by-step creation workflow
- Multiple examples with variations
- Best practices and common patterns
Examples
Example 1: Creating a Simple Code Review Skill
User request:
Create a skill that reviews Python code for best practicesYou would:
- Read the documentation files in docs/
- Ask clarifying questions:
- What specific best practices? (PEP 8, security, performance?)
- Should it check only or suggest fixes?
- Any specific frameworks or libraries?
- Create the skill directory:
mkdir -p .claude/skills/python-code-review - Write SKILL.md with:
--- name: Python Code Review description: Reviews Python code for PEP 8 compliance, security issues, and performance. Use when reviewing Python code, checking code quality, or analyzing Python files. allowed-tools: Read, Grep, Glob --- - Add Instructions section with:
- Prerequisites (none needed, uses built-in tools)
- Workflow:
- Read the Python file(s)
- Check PEP 8 compliance
- Identify security issues
- Suggest performance improvements
- Provide summary with specific line references
- Add 3 examples:
- Example 1: Single file review
- Example 2: Multi-file project review
- Example 3: Focused security review
- Test with sample Python files
Example 2: Creating a Data Analysis Skill with Scripts
User request:
Build a skill for analyzing CSV data with statistics and visualizationsYou would:
- Read documentation files
- Define scope with user:
- What statistics? (mean, median, correlations?)
- What visualizations? (charts, plots?)
- Output format? (markdown report, images?)
- Create structure:
mkdir -p .claude/skills/csv-analysis/scripts mkdir -p .claude/skills/csv-analysis/templates - Write SKILL.md referencing:
scripts/analyze.py- Statistical analysis scriptscripts/visualize.py- Chart generation scripttemplates/report_template.md- Output template
- Create Python scripts with inline dependencies:
# /// script # requires-python = ">=3.10" # dependencies = ["pandas", "matplotlib", "seaborn"] # /// - Write clear instructions for:
- When to run which script
- How to interpret output
- How to customize analysis
- Add examples showing:
- Basic statistics
- Visualization generation
- Custom report creation
- Test with sample CSV files
Example 3: Creating a Multi-File Documentation Skill
User request:
Create a skill for writing technical documentation with our company's style guideYou would:
- Read documentation files
- Gather requirements:
- Get company style guide document
- What types of docs? (API, user guides, architecture?)
- Any templates or examples?
- Create comprehensive structure:
mkdir -p .claude/skills/tech-docs/{templates,examples,guidelines} - Organize content:
SKILL.md- Overview and workflowguidelines/style_guide.md- Company style rulesguidelines/api_docs.md- API documentation specificsguidelines/user_guides.md- User guide standardstemplates/api_template.md- API doc templatetemplates/guide_template.md- User guide templateexamples/- Sample documentation
- Write SKILL.md that:
- References guidelines by doc type
- Uses progressive disclosure (only load needed guidelines)
- Provides workflow for each doc type
- Add examples for:
- API endpoint documentation
- User guide creation
- Architecture decision records
- Test with various documentation requests
Example 4: Extending an Existing Skill
User request:
Add spell correction to our transcribe skillYou would:
- Read current skill:
cat .claude/skills/transcribe/SKILL.md - Identify where to add the feature:
- After transcription step
- Before final output
- Create supporting file:
touch .claude/skills/transcribe/spell_corrections.md - Write correction mappings in new file:
# Spell Corrections - "cloud code" → "claude code" - "API" → "API" (ensure caps) ... - Update SKILL.md workflow:
- Add step: "Apply spell corrections from spell_corrections.md"
- Reference the corrections file
- Update examples to show correction step
- Test with audio that has common errors
Summary
Creating skills is about packaging expertise into discoverable, composable capabilities. Follow these principles:
- Read the docs first - Understand progressive disclosure and skill architecture
- Write clear descriptions - Include what AND when
- Keep instructions focused - Use supporting files for additional context
- Test thoroughly - Verify Claude discovers and uses the skill correctly
- Iterate with feedback - Refine based on actual usage
Skills transform general-purpose Claude into a specialist for your domain. Start small, test early, and expand as needed.
Other versions2 projects use a version of this.
Word for word · 2
- disler/claude-code-hooks-multi-agent-observability★ 1.5k100% same
- CodeWithBehnam/cc-docs★ 2100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository4 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- create-worktree-skillSkill
- Video ProcessorSkill
- worktree-manager-skillSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

