Too many skills in Claude Code? That is a second bill, separate from tools.

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.

1,572,330 → 39 tokens

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.

Why skills cost context even when you do not use them

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.

How to tell that skills — not tools — are your problem

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.

What actually reduces it

ApproachEffectTrade-off
Uninstall skills you "never use"smallyou lose capability and reinstall later
Turn skills off per projectmanualyou must remember to turn them back on
One resident pointer + lookup on demand−99.99%one resolve step, handled for you

The fix: one resident pointer instead of the whole catalog

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

FAQ

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.