| name | skill-creator |
| description | Create new Agent Skills with proper structure, templates, and best practices. Use when building custom skills for Claude Code, GitHub Copilot, or other Agent Skills-compatible tools. |
| license | MIT |
| metadata | [object Object] |
Skill Creator
Create well-structured Agent Skills that work across Claude Code, GitHub Copilot, VS Code, and OpenAI Codex.
What is a Skill?
A skill is a directory containing:
SKILL.md- Instructions with YAML frontmatterassets/- Templates, data files (optional)references/- Additional documentation (optional)scripts/- Executable code (optional)
Skills extend AI agent capabilities with domain-specific knowledge and workflows.
Creation Workflow
Step 1: Gather Requirements
Ask the user:
- What should the skill do? (capability)
- When should it be used? (trigger conditions)
- What resources does it need? (templates, scripts, references)
- Where should it be installed? (project or personal)
Step 2: Choose Skill Location
# Project skill (shared with team via git)
.claude/skills/{skill-name}/SKILL.md
# Personal skill (only for you)
~/.claude/skills/{skill-name}/SKILL.md
# agent-kit content (for distribution)
content/skills/{skill-name}/SKILL.md
Step 3: Create Directory Structure
mkdir -p {location}/{skill-name}/{assets,references,scripts}
Step 4: Write SKILL.md
Use the template from assets/skill-template.md.
Key sections:
- Frontmatter - name, description, metadata
- Purpose - What the skill does
- When to Use - Trigger conditions
- Instructions - Step-by-step guidance
- Examples - Concrete usage examples
- Related Skills - Links to other skills
Step 5: Add Resources (if needed)
- assets/: Templates the skill uses
- references/: Additional docs for complex topics
- scripts/: Automation scripts
Step 6: Create Slash Command
Every skill should have a corresponding slash command for easy invocation.
Command location:
# Project command (matches skill location)
.claude/commands/{skill-name}.md
# agent-kit content (for distribution) - MUST use ak- prefix
content/commands/ak-{skill-name}.md
IMPORTANT: Naming Rules
agent-kit commands MUST use
ak-prefix: All commands incontent/commands/must be prefixed withak-to avoid conflicts with user-created commands.- ✅
content/commands/ak-create-plan.md→/ak-create-plan - ❌
content/commands/create-plan.md→ conflicts with user commands
- ✅
No command/skill name conflicts: Command names must not conflict with existing skill names in the same scope.
Command template:
---
description: {One-line description of what command does}
arguments:
- name: {arg-name}
description: {What the argument is for}
required: false
---
Use the {skill-name} skill to help the user {accomplish task}.
Follow the {skill-name} skill instructions in @skills/{skill-name}/SKILL.md exactly.
Key steps:
1. {Step from skill}
2. {Step from skill}
...
See assets/command-template.md for the full template.
Step 7: Validate with skill-validator
Before finalizing, run the skill-validator to ensure the skill meets all requirements:
User: Validate my new skill at {path}
Claude: [Runs skill-validator checks]
[Reports any errors, warnings, or suggestions]
The validator checks:
- Frontmatter requirements (name, description)
- SKILL.md structure and token limits
- All referenced files exist
- Corresponding slash command exists
- agent-kit commands use
ak-prefix (forcontent/commands/) - No command/skill name conflicts
Only proceed if validation passes with no errors.
Step 8: Test the Skill
- Ask Claude something that should trigger it
- Verify it activates correctly
- Check the output quality
- Iterate on instructions
Frontmatter Requirements
---
name: skill-name # Required: lowercase, hyphens, max 64 chars
description: What and when # Required: max 1024 chars, include trigger words
license: MIT # Optional: license type
metadata: # Optional: additional info
author: your-name
version: "1.0.0"
---
Name Rules
- Max 64 characters
- Lowercase letters, numbers, hyphens only
- No spaces or underscores
- Cannot contain "anthropic" or "claude"
Description Best Practices
The description is critical for discovery. Include:
- What the skill does
- When to use it (trigger words)
❌ Bad: Helps with documentation
✅ Good: Generate API documentation from code. Use when creating docs, OpenAPI specs, or README files for libraries.
Progressive Loading
Skills use 3-level loading to stay efficient:
| Level | Loads | When | Size Limit |
|---|---|---|---|
| 1 | Frontmatter | Startup | ~100 tokens |
| 2 | SKILL.md body | Triggered | < 5000 tokens |
| 3 | Bundled files | Referenced | Unlimited |
Keep SKILL.md under 5000 tokens. Move detailed content to references/.
Bundled Resources
assets/ - Templates and Data
# In SKILL.md
See [assets/template.md](assets/template.md) for the format.
Use for:
- Document templates
- Configuration examples
- Data schemas
references/ - Extended Documentation
# In SKILL.md
For advanced usage, see [references/advanced.md](references/advanced.md).
Use for:
- Detailed examples
- Troubleshooting guides
- API references
scripts/ - Executable Code
# In SKILL.md
Run the validation script:
\`\`\`bash
./scripts/validate.sh
\`\`\`
Use for:
- Validation utilities
- Code generation
- Data processing
Scripts execute without loading into context - only output is captured.
Common Patterns
Workflow Skill
For multi-step processes:
## Workflow
1. **Phase 1: Discovery**
- Scan project structure
- Identify relevant files
2. **Phase 2: Analysis**
- Parse content
- Extract patterns
3. **Phase 3: Generation**
- Apply template
- Write output
Reference Skill
For domain knowledge:
## Quick Reference
| Term | Definition |
|------|------------|
| ... | ... |
## Detailed Reference
See [references/full-guide.md](references/full-guide.md)
Tool Skill
For specific capabilities:
## Usage
\`\`\`bash
{command} [options]
\`\`\`
## Options
| Flag | Description |
|------|-------------|
| --flag | What it does |
Output
After creation, provide:
- Path to the new skill
- Path to the slash command
- Validation results
- How to test it
- How to iterate
Created:
Skill: .claude/skills/my-skill/SKILL.md
Command: .claude/commands/my-skill.md
Validation: ✅ PASSED (0 errors, 0 warnings)
To test:
1. Start a new conversation
2. Use the slash command: /my-skill
3. Or ask: "Help me with {trigger phrase}"
4. Verify the skill activates
To iterate:
- Edit SKILL.md and test again
- No restart needed - changes take effect immediately
Examples
Example: Create a code review skill
User: Create a skill for reviewing React components
Claude: [Asks clarifying questions]
- What aspects to review? (performance, accessibility, patterns)
- Any specific rules or style guide?
- Should it suggest fixes or just identify issues?
[Creates skill structure]
.claude/skills/react-review/
├── SKILL.md
├── assets/
│ └── checklist.md
└── references/
└── patterns.md
Example: Create a documentation skill
User: Create a skill for writing JSDoc comments
Claude: [Creates skill with template]
.claude/skills/jsdoc-writer/
├── SKILL.md
└── assets/
└── jsdoc-template.md
Template Reference
See assets/skill-template.md for the starter template.
Validation
Before finalizing, run skill-validator to verify:
- Frontmatter has required fields (name, description)
- Name follows rules (lowercase, hyphens, no reserved words)
- Description includes what AND when
- SKILL.md is under 5000 tokens
- All referenced files exist
- Examples are concrete and testable
- Corresponding slash command exists
- Command references the skill correctly
- agent-kit commands use
ak-prefix (forcontent/commands/) - No command/skill name conflicts
Related Skills
skill-validator- Validates skills after creation (invoked automatically)doc-contents- For documentation generationcreate-plan- For implementation planningbrainstorm- For exploring skill ideas before creating