Tools and skills fail the same way but for different reasons. Every tool schema competes for context; every skill contributes its name and description to the catalog the agent reads. Install a few hundred and the catalog alone is larger than the work you asked for.
489 installed skills. On the left, every SKILL.md loaded into context. On the
right, one resident pointer plus a per-lookup line (~791 tokens) when a skill is actually resolved.
Measured with tiktoken cl100k_base. That is −99.99%, with every skill still
installed and still findable.
A skill is a folder containing a SKILL.md with YAML frontmatter. The description in that
frontmatter is what the agent reads to decide whether the skill applies — so it has to be visible before
any decision is made. That is the whole design, and it is a sensible one. The consequence is that the
sum of every installed skill's description is a standing cost you pay on every turn.
With ten skills this is noise. With several hundred it is the difference between a workable window and one that fills up before you have explained anything.
Run mcptoon skills doctor: it prints how many skill directories exist and, on the same
line, the token cost of the catalog you currently expose — so the two calibers stop being confusable.
| Approach | Effect | Trade-off |
|---|---|---|
| Uninstall skills you "never use" | small | you lose capability and reinstall later |
| Turn skills off per project | manual | you must remember to turn them back on |
| One resident pointer + lookup on demand | −99.99% | one resolve step, handled for you |
mcptoon installs a single compact pointer into the agent's skill folder. The pointer explains how to ask for a skill by name; the catalog itself stays on disk. When the agent resolves one, it reads that one. You keep every skill; the model stops reading all of them up front.
pip install mcptoon mcptoon skills install-self # one pointer, not 489 files mcptoon skills resolve "<task>" # pick the right skill mcptoon skills doctor # counts, with calibers named
The same index also covers MCP tools, so tools and skills stop being two separate context bills. Nothing leaves your machine and there is no daemon.
Get mcptoon on GitHub Calculate your token cost
Is there a limit to how many skills Claude Code can have?
No hard limit is documented — the practical ceiling is your context window, because every installed skill contributes its description to what the agent reads. The cost is per turn, not per use.
Do I have to delete skills to reduce the cost?
No. Keeping them and exposing one pointer is the point: you keep the capability and only pay for the skill you actually resolve.
Does this also fix "too many MCP tools"?
Yes, it is the same mechanism applied to a different directory. Tools are covered in the tools guide.