← All posts

· Tokenize Team

How to manage AI agent skills without wasting tokens

Every skill, rule, and MCP server you add costs context on every turn. How to keep your agent setup lean, and what to cut first.

We opened a Claude Code session on one of our own laptops to work on this website. Before anyone typed a word, it had 39 skills available.

16 of them came from a single design tool's plugin. Nobody in that session was going to touch a design file.

Those 16 skill descriptions come to about 6,600 characters, or roughly 1,650 tokens. They ride along on every turn of every session on that machine. Behind them sit about 50,000 tokens of instructions and another 350,000 of reference files, which only load if a skill is used.

That second number is why skills work at all. The first is the part most teams never look at.

Everything you add to an agent's setup costs something on every turn, so the setup needs the same pruning as any other budget.

"Tokens are cheap, and caching makes them cheaper"

Fair. A few thousand tokens of setup won't show up on anyone's invoice, and prompt caching (reusing the unchanged start of a conversation at a discount) takes most of the sting out of repeats.

The dollars are the small part. Setup also takes room in the context window, and it competes for the model's attention with the work you asked for. Anthropic's own guidance for Claude Code says longer instruction files "consume more context and reduce adherence."

A vague description also loads the wrong skill. Then its full instructions sit in the session from that point on, on every turn.

What loads, and when

An agent reads its setup in layers. Knowing which layer something sits in tells you what it costs.

LayerWhen it loadsWhat it costs
CLAUDE.md and project rulesStart of every sessionEvery line, every turn
Skill names and descriptionsStart of every sessionA few sentences per skill, every turn
MCP serversStart of every sessionTool definitions, connection attempts, and retries when they fail
A skill's instructionsWhen the skill is usedThe whole file, for the rest of the session
A skill's reference filesWhen the instructions point to themOnly the files read
A skill's scriptsWhen runOnly the output

Based on Claude Code's documented behavior. Other agents differ in the details, but most follow the same pattern.

The higher a line sits in this table, the harder it should have to work to stay there.

Make each skill cheap to carry

Write descriptions that say what and when

The description is the only part of a skill the agent sees until it decides to use it. It has to answer 2 questions: what does this do, and when should you reach for it.

"Helps with documents" fails both. "Fills in our quarterly board deck template from the finance export. Use when someone asks for the board deck or Q-end slides" passes, and it's barely longer.

Cut the rest. Marketing language, version history, and lists of every edge case belong in the body, if anywhere.

A good description is short enough to cost little and specific enough that the agent never loads the skill by mistake.

Keep the instructions short and point to the rest

Once a skill loads, its instructions stay in context for the rest of the session. Anthropic suggests keeping the main file under 500 lines.

Anything longer goes into separate files that the instructions point to by name: "For the full field list, see reference/fields.md." The agent reads them only when the task calls for it.

The 16 design skills in our session show how much this matters. Loaded all at once, their files would take up about twice a 200,000-token context window. Split into layers, they cost 1,650 tokens until someone needs them.

Put repeatable steps in scripts

If a step always runs the same way (validate a file, convert a format, check a date), write it as a script the skill runs. The agent sees only what the script prints, so a 300-line validator costs the length of its output.

Scripts also do the same thing every time, which a paragraph of instructions can't promise.

Hide skills you only run by hand

Some skills only make sense when a person asks for them by name, like a release checklist or an incident write-up. In Claude Code, setting disable-model-invocation: true takes the description out of context entirely. The skill still runs when someone types its name.

Prune by what gets used

A common rule of thumb says to delete any skill you don't use in some share of your sessions. That cuts the wrong things.

A release skill that runs once a month costs a few sentences per turn and saves an hour each time. Keep it. A plugin that installed 16 skills, of which you use 2, costs about 8 times what it needs to. Remove it, or keep just the 2.

The question for each skill is whether anyone has used it lately. If not in 90 days, it goes. If it's used, the next question is whether its description could be shorter.

The same goes for MCP servers. Some agents now hold tool definitions back until they're needed, which helps. But a server nobody calls still connects every session, and a server that fails still retries.

Keep CLAUDE.md for rules that apply every time

CLAUDE.md (or AGENTS.md) loads in full at the start of every session. Anthropic recommends keeping each file under 200 lines.

Treat it like routing instructions: how to build and test, where things live, the few rules that apply to all work in the repo. Everything else belongs somewhere cheaper:

  • A workflow you run once a week becomes a skill.
  • Rules for one part of the codebase go in a path-scoped rule file, which loads only when the agent touches those files.
  • Long background docs get linked, not pasted.

Splitting CLAUDE.md into imported files makes it easier to read but costs the same. Imported files load at the start too.

Do it for the whole team

Trimming your own setup takes an afternoon. Across a company, nobody has the full list. Every person installs their own plugins, skills, and servers, and the bloat is spread over hundreds of laptops.

Tokenize shows the whole picture. The Skills page lists every skill your organization uses, with cost and sessions, and marks the ones that are set up but not used. The Plugins page shows which plugins load and which bring in MCP servers. MCP servers lists every server on every device, which ones get called, and which ones fail.

When you've decided what a good skill looks like, you can send one trimmed version to Claude Code and Codex on every device on a team, instead of asking everyone to clean up their own.

The Opportunities board also flags sessions that rebuild context every turn, and skills and connectors nobody uses.

A smaller setup works better

A lean setup costs less, but the bigger change is how the agent behaves. With fewer instructions competing for its attention, it follows the ones that matter and picks the right skill the first time.

If you'd like to see what your team's agents are carrying into every session, book a demo and we'll show you on your own data.

Token counts are estimates at about 4 characters per token, measured from the skill files on one of our laptops in October 2026. Sources: Anthropic, Claude Code docs: How Claude remembers your project and Extend Claude with skills.