skill-authoringlisted
Install: claude install-skill majdghithan/agent-skills
# Skill authoring - write a great, publishable skill
A skill is a `SKILL.md` file (YAML frontmatter + markdown instructions) that an agent loads when its work matches. Optionally it bundles supporting files (`references/*.md`, `scripts/`) loaded on demand. Good skills are **specific, accurate, and lean**. This skill is how to write one.
## 1. Decide it should exist
Write a skill when there's real, reusable know-how an agent would otherwise get wrong or generic: a framework's version-specific rules, a migration's gotchas, a self-hosting workflow, a house style. **Don't** write one for a one-off task, or for something the model already does well. Check the ecosystem first (`npx skills find <topic>`) - if a great one exists, install it instead; if only generic ones exist, that's your gap.
## 2. Frontmatter - name + description (the description is critical)
```yaml
---
name: kebab-case-name # matches the folder name
description: <what it does> + <when to use it> + <trigger phrases> + <when NOT to use>
---
```
The **description is how the agent decides to activate the skill** - spend real effort on it. Pack it with concrete trigger phrases the user might say, the situations it covers, and an explicit "use when… / do not use for…" boundary. A vague description means the skill never fires (or fires wrongly).
## 3. Structure - lean SKILL.md, detail in references (progressive disclosure)
- **Keep SKILL.md short and scannable.** It's loaded every time the skill activate