-
Create the skill directory:
mkdir -p skills/your-skill-name/references
-
Create
skills/your-skill-name/SKILL.mdwith YAML frontmatter:--- name: your-skill-name description: > When to trigger this skill. Include specific keywords and task descriptions so the assistant knows when to load it. --- # Your Skill Name Main instructions go here...
-
Add reference documents in
references/for detailed content that SKILL.md links to. -
Register the skill in
.claude-plugin/marketplace.json:"skills": [ "./skills/pymc-modeling", "./skills/marimo-notebook", "./skills/your-skill-name" ]
-
Add an entry to
skills.json. -
Validate:
./scripts/validate-skills.sh
- Skill directory names: lowercase, hyphen-separated (e.g.,
pymc-modeling) - The
namefield in SKILL.md frontmatter must match the directory name exactly - Reference files: lowercase, underscores OK (e.g.,
references/custom_models.md)
- Keep SKILL.md focused and actionable — it's what the assistant loads first
- Put detailed reference material in
references/and link from SKILL.md - Include code examples with correct, tested patterns
- Description should be under 1024 characters
- Include trigger phrases that help the assistant decide when to load the skill
# Full validation (skills, hooks, marketplace.json)
./scripts/validate-skills.sh
# Quick check with install script
./install.sh --validate
# Test hooks
echo '{"user_prompt": "your test prompt"}' | bash hooks/suggest-skill.sh-
./scripts/validate-skills.shpasses - Skill registered in
marketplace.jsonandskills.json - SKILL.md has valid frontmatter with
nameanddescription - Name field matches directory name
- Code examples are correct and tested