Audit every skill and agent description against the router's truncation cliff — the router selects on the description alone, listings truncate long descriptions (~1,500 chars in some harnesses), and routing-critical clauses written last silently vanish. Use for "the wrong agent keeps getting picked", "my skill never triggers", "NOT-for clauses aren't working", "right-size my descriptions", or as part of /opus-pocus. Reports per-description length, what the router actually sees, and a reordere...
Scanned 9/6/2026
Install to Claude Code
npx -y skills add Totes-MickGOATs/opus-pocus --skill descriptio-reducio --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Descriptio Reducio?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/totes-mickgoats-descriptio-reducio)More formats (shields.io, HTML) on the badges page.
---
name: descriptio-reducio
description: Audit every skill and agent description against the router's truncation cliff — the router selects on the description alone, listings truncate long descriptions (~1,500 chars in some harnesses), and routing-critical clauses written last silently vanish. Use for "the wrong agent keeps getting picked", "my skill never triggers", "NOT-for clauses aren't working", "right-size my descriptions", or as part of /opus-pocus. Reports per-description length, what the router actually sees, and a reordered/trimmed rewrite. NOT for skill/agent BODY content — the description field only.
---
# ✨ Descriptio Reducio
> *"The router stops reading at 1,535 characters. Your masterpiece dies at 1,536."*
Two facts about routing, both easy to forget: the router reads **only the `description:`
frontmatter**, never the body — and listings **truncate**. In harnesses with a listing cap
(around 1,500 characters in one measured setting; measure yours, the number is not a constant),
everything past the cliff is invisible. Authors
write descriptions front-loaded with capabilities and append the disambiguation ("NOT for: X →
other-agent") last — exactly the part that falls off.
## What to scan
Every `description:` in `.claude/skills/*/SKILL.md`, `.claude/agents/*.md`, plugin skills and
agents, and any harness config that sets a listing cap.
## Anti-patterns to find
1. **Past the cliff.** Description length exceeds the listing cap.
**Measure the cap from inside a session, not from this file.** The listing is injected into the
model's system prompt and never displayed, so "render the listing" is not something a user can
do — but the agent running this pass can read its own listing. Procedure:
a. Find the longest description in the repo:
`for f in .claude/skills/*/SKILL.md .claude/agents/*.md; do awk '/^description:/{print length($0)-13, FILENAME}' "$f"; done | sort -rn | head`
b. Ask the running agent to quote that description back **verbatim from its own listing**, and
diff it against the file. Where the quote stops is the cap.
c. If nothing in the repo is long enough to truncate, the cap is **unmeasurable here**: this
class has no instances, and the pass grades `?` (could not verify), not `O`. Do not
substitute a number measured on another harness.
2. **NOT-for clauses last.** Disambiguation after the cliff — the router sees only the
capabilities, so near-miss tasks route wrong. This is the highest-impact class: a truncated
NOT-for is a routing defect, not a style issue.
3. **Body-only disambiguation.** The routing rule lives in the agent's body ("do not use this
for X") where no router ever reads it.
4. **Keyword stuffing.** Fifty comma-separated trigger phrases; the description becomes noise
and matches everything weakly.
5. **Twin descriptions.** Two skills/agents whose descriptions overlap enough that routing
between them is a coin flip — the distinction exists only in the bodies.
6. **Description restating the body.** Procedure detail in the description (steps, flags,
internal paths) that costs length without aiding routing.
## Fix prescriptions
| Finding class | Fix |
|---|---|
| Past the cliff | Trim to fit with margin (~90% of cap). Cut procedure detail first, then example lists |
| NOT-for last | Reorder: one-line capability → WHEN-to-use triggers → NOT-for clauses — all inside the first ~800 chars. Detail after |
| Body-only disambiguation | Move the routing-relevant sentence into the description; leave the body copy |
| Keyword stuffing | Keep the 5–8 phrases users actually say; delete the tail |
| Twins | Put the distinguishing clause in BOTH descriptions, each pointing at the other by name |
| Body restated | Delete from the description; the body is loaded after routing succeeds |
## Ordering template
```
<What it does, one line>. Use for <top trigger phrases>. <Key constraint/behavior>.
NOT for: <adjacent-task> (→ <other-skill>), <adjacent-task> (→ <other-skill>).
```
## Bounds
- **If `legilimens-anthropica` ran this session, prefer its measured numbers over the ones in this file.** This file is a snapshot; that pass is the current reading.
- Scope: the `description:` frontmatter of skills and agents, plus any harness config that sets a listing cap. Not skill bodies, except to note where a routing clause is stranded in one.
- Cap: measure every description (that is cheap and complete); cap the *rewrites* proposed at 15, highest routing impact first.
- Done when every description has been measured once against the cliff — or when the cap has been established as unmeasurable here, which is a `?`, not a pass.
- Quote once, at read time; mark anything you cannot re-confirm `UNVERIFIED` rather than re-reading to check yourself.
- See `skills/opus-pocus/references/casting-safety.md` for the full rules.
## Report format
Table: name · length · over-cliff? (by how much) · what falls off · rewrite proposed?
Then each rewrite in full. Lead with the count of routing defects (class 1–3) vs style issues
(4–6). `SCANNED NOTHING` if no skills or agents exist, grading `N/A`.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!