content-description-routing¶
Skill and agent descriptions should guide routing; command descriptions should clearly explain their purpose
| Severity | warning (auto) |
| Autofix | - |
| Since | v0.18.0 |
| Repo Types | agentskills, apm, codex-marketplace, codex-plugin, dot-claude, marketplace, single-plugin |
| Category | Content Intelligence |
Checks that skill and agent descriptions work as routing signals, while command descriptions clearly explain their picker-visible purpose.
What it checks¶
- Descriptions are present, non-empty strings. This basic check stays on when the routing heuristics are disabled.
- Skill and agent descriptions say when the model should use them. Commands are excluded because users select them directly.
- Descriptions do more than restate the building block name or category, such as a
deploy-stagingskill described only as "Deploy staging" or a command described only as "A command."
Skills with disable-model-invocation: true are user-only: the model cannot route
to them, so this rule skips them by default. Set check-user-only-skills: true
to check their descriptions normally. Only the YAML boolean true opts a skill
out; an absent field, false, strings, and numbers remain checked.
Natural selection clauses count as trigger phrasing, including "Use this skill for ...", "Invoke this skill whenever ...", "This skill should be used before ...", and "Use only when ...".
The routing heuristics and user-only-skill behavior can be configured independently:
rules:
description-routing:
require-trigger-phrasing: true
flag-name-restatement: true
check-user-only-skills: false
Why this matters¶
Descriptions are the text a model uses to decide which skill or agent should handle a request. A description that gives no usage trigger or repeats only its name provides little evidence for that decision.
How to fix¶
State what the building block does. For a skill or agent, also name the situations or user phrases that should route to it. Commands need a clear purpose but no routing phrase because users select them directly. For example: "Deploys the current build to staging. Use when the user asks to test a change in the staging environment."
This rule reports warnings and does not autofix prose.
Configuration¶
| Parameter | Description | Default |
|---|---|---|
require-trigger-phrasing |
Require skill and agent descriptions to say when they should be used | true |
flag-name-restatement |
Flag descriptions that only restate the name or generic category | true |
check-user-only-skills |
Check skills whose frontmatter sets disable-model-invocation to true | false |
Run skillsaw explain content-description-routing to see this documentation and the rule's effective configuration in your terminal.