name: claude-skills
Turn scattered domain material into a Skill that is reusable, maintainable, and reliably activatable:
SKILL.md as the entrypoint (triggers, constraints, patterns, examples)references/ for long-form evidence and navigationscripts/ and assets/ for scaffolding and templatesTrigger this meta-skill when you need to:
references/This meta-skill is NOT:
Your output MUST include:
skills/<skill-name>/)SKILL.md with decidable triggers, boundaries, and reproducible examplesreferences/ with a references/index.mdskill-name/
|-- SKILL.md # Required: entrypoint with YAML frontmatter
|-- references/ # Optional: long-form docs/evidence/index
| `-- index.md # Recommended: navigation index
|-- scripts/ # Optional: helpers/automation
`-- assets/ # Optional: templates/configs/static assets
The truly minimal version is just SKILL.md (you can add references/ later).
---
name: skill-name
description: "What it does + when to use (activation triggers)."
---
Frontmatter rules:
name MUST match ^[a-z][a-z0-9-]*$ and SHOULD match the directory namedescription MUST be decidable (not "helps with X") and include concrete trigger keywordsSKILL.md Skeleton (Copy/Paste)---
name: my-skill
description: "[Domain] capability: includes [capability 1], [capability 2]. Use when [decidable triggers]."
---
# my-skill Skill
One sentence that states the boundary and the deliverable.
## When to Use This Skill
Trigger when any of these applies:
- [Trigger 1: concrete task/keyword]
- [Trigger 2]
- [Trigger 3]
## Not For / Boundaries
- What this skill will not do (prevents misfires and over-promising)
- Required inputs; ask 1-3 questions if missing
## Quick Reference
### Common Patterns
**Pattern 1:** one-line explanation
text [command/snippet you can paste and run]
## Examples
### Example 1
- Input:
- Steps:
- Expected output / acceptance:
### Example 2
### Example 3
## References
- `references/index.md`: navigation
- `references/...`: long-form docs split by topic
## Maintenance
- Sources: docs/repos/specs (do not invent)
- Last updated: YYYY-MM-DD
- Known limits: what is explicitly out of scope
references/.description should say "what + when" with concrete keywords.Do not skip steps:
references/ + write references/index.mdMinimum checks (see references/quality-checklist.md for the full version):
name matches ^[a-z][a-z0-9-]*$ and matches the directory namedescription states "what + when" with concrete trigger keywordsreferences/ and references/index.md is navigableValidate locally:
# From repo root (basic validation)
./skills/claude-skills/scripts/validate-skill.sh skills/<skill-name>
# From repo root (strict validation)
./skills/claude-skills/scripts/validate-skill.sh skills/<skill-name> --strict
# From skills/claude-skills/ (basic validation)
./scripts/validate-skill.sh ../<skill-name>
# From skills/claude-skills/ (strict validation)
./scripts/validate-skill.sh ../<skill-name> --strict
Generate a new Skill skeleton:
# From repo root (generate into ./skills/)
./skills/claude-skills/scripts/create-skill.sh my-skill --full --output skills
# From skills/claude-skills/ (generate into ../ i.e. ./skills/)
./scripts/create-skill.sh my-skill --full --output ..
# Minimal skeleton
./skills/claude-skills/scripts/create-skill.sh my-skill --minimal --output skills
Templates:
assets/template-minimal.mdassets/template-complete.mdcreate-skill.sh to scaffold skills/<skill-name>/description as "what + when"references/ and wire references/index.mdvalidate-skill.sh --strict and iterateSKILL.md with long pasted documentationreferences/ (split by topic)skills/<skill-name>/validate-skill.sh (non-strict) to get warningsvalidate-skill.sh --strict to enforce the specreferences/quality-checklist.md before shippingLocal docs:
references/index.mdreferences/skill-spec.mdreferences/quality-checklist.mdreferences/anti-patterns.mdreferences/README.md (upstream official reference)External (official):
skills/claude-skills/references/ + upstream official docs in references/README.mdvalidate-skill.sh is heuristic; strict mode assumes the recommended section headings