reduce-tokens

Installation
SKILL.md

reduce-tokens

Every Claude Code request ships the same fixed prelude on every turn: all tool schemas, all proactively-loaded skill descriptions, the system prompt, and any connected MCP servers. On a Sonnet session with a full toolset this is ~40k tokens of tools alone before the model reaches the user's problem. This skill measures that prelude, finds what the user never uses, and removes it via settings.json — so the tokens stop being sent.

Mental model: you are trimming the payload, not disabling capability. A tool removed by a bare-name deny rule is gone from the schema Claude sees, but disableBundledSkills and user-invocable-only leave slash commands still typable. Cut proactive weight; keep on-demand access.

Run the five steps in order. Steps 1–2 are mechanical (bulk log reads, tallies) — delegate them to a Sonnet worker per the plan-big/execute-small rule; keep the judgment (steps 3–5) in the main loop.

Step 1 — Measure the baseline

Get the current payload breakdown two ways; use whichever is available:

  • /context (ask the user to run it and paste, or read from the conversation if already shown). Gives category totals: System tools, Skills, System prompt, Memory. This is the fast before/after number.
  • The bundled proxy (proxy.mjs in this skill dir) for a per-tool byte ranking — the exact cut list. Copy it somewhere writable, then: ANTHROPIC_BASE_URL=http://localhost:8787 claude in another shell, fire one message, and read the newest logs/*.md — its <audit> block ranks every tool by bytes. Only needed when the user wants precise per-tool numbers; /context categories are usually enough to decide.

Record the starting numbers so you can report the delta at the end.

Step 2 — Scan actual usage (delegate to a Sonnet worker)

Installs
3
First Seen
Jul 8, 2026