skills/good-description-writing/exports/claude/SKILL.md
Write precise, specific descriptions for agent skills, tools, and functions so that AI agents can route to them accurately.
npx skillsauth add balandongiv/agent-skillbook good-description-writingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill guides you through writing descriptions that work as routing triggers for AI agents. The description is not documentation — it is a signal. It tells the agent: "activate me when this situation arises." Apply these principles when writing or editing any description, summary, or when_to_use field in a skill, tool, or agent definition.
When you write a README or a user guide, your audience is a human who reads carefully. You can afford to be broad, narrative, and exploratory.
When you write a description for an AI agent skill or tool, your audience is the routing mechanism of an AI system. It performs semantic matching — it compares the user's message to your description and asks: "does this description match what the user needs right now?"
This means:
A good description is precise, action-oriented, and specific enough to be distinguishable from other descriptions in the same system.
Use this template:
[Verb phrase describing the action] + [specific object or output] + [context: for whom / in what situation]
Examples:
| Weak | Strong | |---|---| | "Helps with code" | "Write Python functions with single responsibility and explicit parameters" | | "Handles descriptions" | "Write routing descriptions for AI agent skills so they trigger accurately" | | "Manages README files" | "Write structured README files for GitHub repositories aimed at beginners" |
The description should begin with an action verb that names what the skill produces or does:
Avoid starting with nouns or vague openers like "This skill…" or "A tool that…"
Be concrete about what is produced:
Add a clause that describes the situation that triggers this skill:
These words add no information and hurt routing accuracy:
Replace them with specific action verbs that describe what actually happens.
The routing system reads quickly. A description longer than two sentences becomes hard to match precisely. Put additional detail in when_to_use and when_not_to_use, not in the description.
If you have two skills and their descriptions could be confused, one of them needs to be more specific. Test: could you tell from the description alone which skill to use for a given request?
Bad: "Handles database operations." Problem: What operations? Read? Write? Which database? This matches everything.
Good: "Execute a read-only SQL SELECT query and return the results as a list of dictionaries." Why: Specific operation (SELECT), specific output type (list of dicts), explicit constraint (read-only).
Bad: "Helps with writing." Problem: Every writing task matches this. The skill will trigger constantly for unrelated tasks.
Good: "Write precise routing descriptions for AI agent skills and tools so they trigger on the correct user requests." Why: Specific domain (routing descriptions), specific audience (AI agent skills), specific purpose (trigger on correct requests).
Bad: "Assists with Python development tasks." Problem: Too broad. Any Python task would match.
Good: "Write small, readable, testable Python functions with clear names and explicit inputs and outputs." Why: Names the output (Python functions), names the qualities (small, readable, testable, clear names, explicit I/O), nothing extraneous.
TESTS.md. Do they trigger the skill?If you change the description in skill.yaml, regenerate all exports immediately:
python -m agent_skillbook.cli render
tools
One-sentence description of what this skill does and when to use it.
tools
One-sentence description of what this skill does and when to use it.
documentation
Review per-subject performance to identify likely outliers, distinguish bad data from difficult but valid cases, and document whether subject exclusion is justified before any filtered rerun.
documentation
Review per-subject performance to identify likely outliers, distinguish bad data from difficult but valid cases, and document whether subject exclusion is justified before any filtered rerun.