
skill-creator
Guide for creating effective skills. This skill should be used when users want to create a new skill
Skill Creator
A comprehensive guide and toolkit for creating effective skills that extend Claude's capabilities.
Overview
This skill provides everything needed to create, validate, and package new skills for Claude. It includes detailed guidance on skill design principles, creation workflows, and automated tools for skill development.
Features
- Skill Creation Guidance: Step-by-step process for designing effective skills
- Automated Initialization: Template generation for new skills
- Validation Tools: Automated checking of skill structure and content
- Packaging System: Creates distributable skill packages
Quick Start
Creating a New Skill
-
Initialize a new skill:
scripts/init_skill.py my-new-skill --path ./skills -
Customize the generated files:
- Edit
SKILL.mdwith your skill's specific instructions - Add scripts, references, or assets as needed
- Remove any template directories you don't need
- Edit
-
Validate your skill:
scripts/quick_validate.py ./skills/my-new-skill -
Package for distribution:
scripts/package_skill.py ./skills/my-new-skill
Skill Structure
Every skill follows this structure:
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter with name and description
│ └── Markdown instructions
├── scripts/ (optional)
│ └── Executable code (Python, Bash, etc.)
├── references/ (optional)
│ └── Documentation and guides
└── assets/ (optional)
└── Templates, images, fonts, etc.
Skill Creation Process
Step 1: Understand the Use Case
Start by understanding concrete examples of how the skill will be used:
- What functionality should the skill support?
- What would users say to trigger this skill?
- What are the common workflows or tasks?
Step 2: Plan Reusable Contents
Analyze each use case to identify reusable resources:
- Scripts: Code that gets rewritten repeatedly
- References: Documentation Claude should reference
- Assets: Files used in output (templates, images, etc.)
Step 3: Initialize the Skill
Use the initialization script to create the skill structure:
scripts/init_skill.py <skill-name> --path <output-directory>
This creates:
- Skill directory with proper naming
- Template SKILL.md with TODO placeholders
- Example resource directories
- Sample files demonstrating best practices
Step 4: Customize the Skill
Edit the generated files:
- SKILL.md: Write instructions in imperative form
- Scripts: Add executable code for automation
- References: Include documentation and guides
- Assets: Add templates and output resources
Step 5: Validate and Package
Use the validation and packaging tools:
# Validate the skill
scripts/quick_validate.py <skill-path>
# Package for distribution
scripts/package_skill.py <skill-path> [output-directory]
Best Practices
Writing Effective SKILL.md
- Use imperative/infinitive form (verb-first instructions)
- Be specific about when to use the skill
- Include concrete examples
- Reference bundled resources clearly
- Keep it focused and actionable
Skill Design Principles
-
Progressive Disclosure: Three-level loading system
- Metadata (always in context)
- SKILL.md body (when skill triggers)
- Bundled resources (as needed)
-
Modularity: Each skill should be self-contained
-
Reusability: Include resources that prevent repeated work
-
Clarity: Clear naming and descriptions
Resource Organization
- Scripts: For automation and deterministic tasks
- References: For documentation Claude should read
- Assets: For files used in output (not loaded into context)
Examples
Workflow-Based Skills
Structure for sequential processes:
## Overview
## Workflow Decision Tree
## Step 1: [Action]
## Step 2: [Action]
Task-Based Skills
Structure for tool collections:
## Overview
## Quick Start
## [Task Category 1]
## [Task Category 2]
Reference Skills
Structure for guidelines:
## Overview
## Guidelines
## Specifications
## Usage
Validation
The validation script checks:
- YAML frontmatter format
- Required fields (name, description)
- Skill naming conventions
- Directory structure
- Resource organization
Packaging
The packaging script:
- Validates the skill automatically
- Creates a zip file for distribution
- Maintains proper directory structure
- Names the package after the skill
Troubleshooting
Common Issues
- Validation fails: Check YAML frontmatter format
- Skill not triggering: Verify name and description specificity
- Resources not found: Ensure proper directory structure
Getting Help
Use the skill's built-in help:
# General help
python claude.py skill-creator --help
# Specific guidance
python claude.py skill-creator "How do I create a PDF editing skill?"
License
See LICENSE.txt for complete terms.