| name | skill-creator |
| description | Create and scaffold new agent skills with proper structure, validation, and spec compliance. Use when building new skills from scratch. |
| license | MIT |
Skill Creator
Create well-structured agent skills that comply with the Agent Skills Specification v1.0.
When to Use This Skill
Use skill-creator when you need to:
- Create a new skill from scratch
- Scaffold the directory structure for a skill
- Generate valid SKILL.md with proper YAML frontmatter
- Ensure spec compliance from the start
- Validate an existing skill's structure
Skill Creation Process
Phase 1: Planning
Gather Requirements
- Ask for the skill's purpose and scope
- Determine if scripts, templates, or assets are needed
- Identify dependencies (Python packages, npm modules)
- Clarify when the skill should be used
Key Questions
- What specific task does this skill address?
- What are the inputs and expected outputs?
- Does it need executable code (scripts)?
- Does it need templates or reference materials?
- What tools will it use?
Phase 2: Naming and Structure
Generate Skill Name
- Use hyphen-case format (lowercase, hyphens only)
- Maximum 64 characters
- Descriptive and specific
- Examples:
code-complexity-analyzer,api-doc-generator
Invalid Names
- ❌
Code_Analyzer(underscores) - ❌
codeAnalyzer(camelCase) - ❌
CODE-ANALYZER(uppercase) - ✓
code-analyzer(correct)
Determine Directory Structure
Minimal (instructions only):
skill-name/
└── SKILL.md
With scripts:
skill-name/
├── SKILL.md
└── scripts/
└── helper.py
Full structure:
skill-name/
├── SKILL.md
├── scripts/
│ └── helper.py
├── templates/
│ └── template.md
├── assets/
│ └── output/
└── references/
└── docs.md
Phase 3: Generate SKILL.md
Create YAML Frontmatter
Required fields:
---
name: skill-name
description: Clear explanation of what the skill does and when Claude should use it
---
With optional fields:
---
name: skill-name
description: Clear explanation of what the skill does and when Claude should use it
license: MIT
allowed-tools:
- Read
- Write
- Bash
metadata:
author: username
version: "1.0.0"
---
Description Guidelines
- ~200 characters (max 1024)
- Explain WHAT the skill does
- Explain WHEN to use it
- Be specific and actionable
- Example: "Analyze code complexity using cyclomatic complexity metrics. Use when assessing code maintainability or identifying refactoring candidates."
Write Skill Instructions
Use imperative language:
# Skill Name
Brief introduction to what this skill does.
## When to Use This Skill
List specific scenarios...
## Process
### Step 1: Action
Instructions in imperative form...
### Step 2: Action
More instructions...
## Examples
### Example 1: Concrete Scenario
Input: ...
Expected Output: ...
Best Practices
- Keep under 5,000 words
- Use concrete examples
- Reference bundled resources by relative path (e.g., templates/my-template.md)
- Focus on procedural knowledge
- Avoid redundancy
Phase 4: Create Supporting Files
Scripts
- Place in
scripts/directory - Include usage instructions in SKILL.md
- Remind users to run
script --helpfirst - Treat scripts as black boxes
Example reference in SKILL.md:
Run the validation script:
\`\`\`bash
python scripts/validate.py --help
python scripts/validate.py --input data.json
\`\`\`
Templates
- Place in
templates/directory - Reference from SKILL.md
- Provide clear descriptions of when to use each template
Assets
- Use for output files or resources
- Create subdirectories for organization
Phase 5: Validation
Run Validation Checks
Name validation
- Directory name matches YAML
namefield exactly - Hyphen-case format
- ≤64 characters
- Only lowercase Unicode alphanumeric and hyphens
- Directory name matches YAML
YAML validation
- Valid YAML syntax
- Required fields present:
name,description - Field constraints met
File reference validation
- All referenced files exist
- Paths are correct relative to skill root
Content validation
- Description explains what AND when
- Instructions are imperative
- Examples are concrete
- Word count reasonable (<5,000)
Use Validation Script
python scripts/validate_skill.py /path/to/skill-name
Phase 6: Documentation
In SKILL.md, Include
- Clear title and introduction
- "When to Use This Skill" section
- Step-by-step process
- At least 2 concrete examples
- Dependencies clearly stated
- References to bundled resources
Avoid
- Redundant explanations
- Vague instructions
- Implementation details (focus on what to do, not how)
- Hardcoded credentials or secrets
Templates
Use these templates as starting points:
Basic Skill Template
cat templates/basic-skill.md
Skill with Scripts Template
cat templates/skill-with-scripts.md
Validation Script
Validate a skill's structure:
python scripts/validate_skill.py /path/to/skill-directory
The script checks:
- YAML frontmatter validity
- Name format and matching
- Required fields present
- File references exist
- Common anti-patterns
Examples
Example 1: Simple Instruction-Only Skill
Input: "Create a skill for applying brand guidelines"
Steps:
- Name:
brand-guidelines - Structure: Minimal (SKILL.md only)
- SKILL.md:
---
name: brand-guidelines
description: Apply brand visual identity guidelines including colors, typography, and spacing. Use when creating branded materials or reviewing designs.
license: MIT
---
# Brand Guidelines
Apply consistent brand visual identity.
## Colors
- Primary: #1A1A1A
- Secondary: #4A90E2
## Typography
- Headings: Inter, 24px, 600 weight
- Body: Inter, 16px, 400 weight
## Spacing
- Base unit: 8px
- Margins: 16px, 24px, 32px
Example 2: Skill with Scripts
Input: "Create a skill for testing web applications with Playwright"
Steps:
- Name:
webapp-testing - Structure: With scripts
- Create helper script in scripts/ directory
- SKILL.md references the script with usage examples showing --help flag and actual invocation
Common Pitfalls
- Name mismatch: Directory name must match YAML
namefield exactly - Vague description: Must explain both WHAT and WHEN
- Missing examples: Always include concrete examples
- Too broad: One skill, one focused task
- Broken references: Validate all file paths
- Hardcoded secrets: Never include credentials
Validation Checklist
Before finalizing a skill:
- Directory name is hyphen-case, ≤64 chars
- Directory name matches YAML
namefield - YAML frontmatter is valid
- Description explains WHAT and WHEN (~200 chars)
- Instructions are imperative
- At least 2 concrete examples provided
- All file references exist
- No hardcoded credentials
- SKILL.md under 5,000 words
- Dependencies clearly stated
Resources
- Agent Skills Specification: https://github.com/anthropics/skills/blob/main/agent_skills_spec.md
- Validation script:
scripts/validate_skill.py - Templates:
templates/directory