As agent ecosystems expand, the naive approach of installing every available skill is hitting a hard wall. Vikram Rayβs latest analysis on DEV.to argues that more skills do not equal better performance; instead, they degrade the agent by consuming critical context windows on every turn. The proposed solution, 'Skill-in-Skill,' offers a structural workaround for teams that cannot simply curate their way out of the problem.
The Context Tax on Every Turn
Agent Skills rely on progressive disclosure, where the model sees skill names and descriptions upfront but loads full instructions only when needed. While this seems efficient, Ray points out that the initial list is injected into the system prompt on every single turn. A user reported in Hermes Agent issue #22620 that 243 skills added 10β15K tokens per call, while 130 skills added about 4K tokens. PostHog data supports this, noting that agent effectiveness declines as descriptions fill the context window.
Curation Versus Nesting
For teams controlling their own skills, the primary fix is curation: keeping fewer, stronger skills and moving detail into references/ files that are read only on demand. However, this fails when skills come from external repos or marketplaces where rewriting is impractical. Rayβs alternative is the skill-in-skill pattern, which nests original skills inside a router skill. This ensures the agent only sees the high-level router description, drastically reducing the initial token load.
Implementing the Router Strategy
The technical implementation is simple but requires discipline. Developers must rename SKILL.md to NESTED-SKILL.md inside a references/ folder to prevent the harness from listing it as a top-level skill. The parent routerβs SKILL.md then contains a concise index. Ray emphasizes that the router description must act as a trigger, listing specific keywords and explaining why the agent cannot skip itβsuch as containing unique team conventions the model doesn't already know.
Key Takeaways
- Context bloat is a real performance killer; 300+ skill descriptions can severely degrade agent reasoning.
- Curation is the first line of defense, but nesting is necessary for third-party or legacy skills.
- Renaming files to
NESTED-SKILL.mdhides them from the agent's initial view, forcing a one-hop lookup via the router. - Keep each router under 30β40 entries to avoid replacing one long list with another.
- Cross-cutting skills like
git-workflowshould remain at the top level for immediate access.
The Bottom Line
Stop treating your skill library like a node_modules folder. If you aren't curating, you're just paying for noise. Nest your dependencies or accept a dumb agent.