Every skill system makes a selection decision before the model can do any work. In the progressive disclosure pattern, an agent at startup sees only each skill's name and description; when a request appears to match, it reads the full SKILL.md into context (skill description guidance). That design is efficient and it puts enormous weight on a short piece of metadata. An under-specified description means the skill never fires; an over-broad one means it fires when it should not.
The failure gets worse as the catalog grows. Installing a more specific skill can leave the old skill's own tests passing while the agent becomes less reliable, because the new skill did not corrupt the old one, it changed the decision boundary around it. A request like "checkout errors increased after this morning's deployment, find the probable cause" can defensibly match an incident-triage skill or a Kubernetes diagnostics skill, and the one with more lexical overlap may win even when it is the wrong frame (catalog reliability at scale).
Research on large skill registries shows where the guess goes wrong. On a benchmark of roughly 80,000 overlapping candidate skills, hiding the skill body from the routing pipeline dropped Hit@1 from 68.0 percent to 24.0 percent for the strongest retrieve-and-rerank baseline (SkillRouter paper). Treat that as that benchmark's measurement, not a universal law. The lesson transfers: routing quality is bounded by what the router can see, and a short description is a thin signal when many skills plausibly fit.



