Skip to content
Development
Skill

/token-optimization

Use the token-optimizer MCP tools to reduce context/token usage when reading, searching, or editing files, or when the context window is filling up. Trigger when reading large files, re-reading files already seen, searching a big/unknown tree, making edits to large files, or

From plugin
token-optimizer-mcp
4732 skills2 hooks1 MCP
Install
$ npx -y skills add ooples/token-optimizer-mcp --skill token-optimization --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/token-optimization

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use the token-optimizer MCP tools to reduce context/token usage when reading, searching, or editing files, or when the context window is filling up. Trigger when reading large files, re-reading files already seen, searching a big/unknown tree, making edits to large files, or

SKILL.md

token-optimization.SKILL.md
name: token-optimization
description: Use the token-optimizer MCP tools to reduce context/token usage when reading, searching, or editing files, or when the context window is filling up. Trigger when reading large files, re-reading files already seen, searching a big/unknown tree, making edits to large files, or when you need to store bulky output out-of-context.

Token optimization

This project ships a `token-optimizer` MCP server whose tools cut context usage 60–90% via caching, diffing, and compression. Prefer them over the built-in tools in the situations below. The native hook refuses expensive built-in calls and injects applicable graph findings; the active model still makes every MCP tool call itself.

When to use which tool

  • **`smart_read`** instead of `Read` when a file is **large** (roughly >400

lines / >25 KB) or you have **read it before this session**. It caches file content and, on re-reads, returns only a **diff** of what changed — often a handful of tokens instead of the whole file. Pass `path`; optionally `enableCache`, `diffMode`, `maxSize`, `includeMetadata`.

  • **`smart_glob`** instead of `Grep`/`Glob` for finding files in a **big or

unfamiliar tree**. It returns **paths only** (no content) with filtering, sorting, and pagination — a fraction of the tokens of listing with content. Pass `pattern` (e.g. `src/**/*.ts`) and optionally `cwd`, `extensions`, `limit`.

  • **`smart_edit`** instead of `Edit` for **large files**: it applies the edit

and returns a compact unified **diff** rather than echoing the whole file. (For very small files a plain `Edit` is fine — smart_edit's diff overhead is only worth it once the file is sizeable.)

  • **`optimize_session`** / **`get_session_stats`** when the **context window is

filling up** or after a burst of file operations. `optimize_session` batch-compresses prior file operations and stores them out-of-context; `get_session_stats` reports tokens saved so far.

  • **`get_optimization_report`** when the user asks **how much they've saved**

(or to show it proactively). Returns total tokens saved, overall savings %, approximate cost saved, and a full breakdown **by action, by hook phase, and by MCP server**, plus a pre-rendered `formatted` text summary you can display as-is. (The per-tool `get_hook_analytics` / `get_action_analytics` / `get_mcp_server_analytics` / `export_analytics` tools give the raw dimensions.)

  • **`count_tokens`** to measure how expensive a chunk of text is before you

decide how to handle it.

Live graph

  • Call **`wiki_write`** when you establish a durable, non-obvious conclusion:

a failed approach and why, a decision and its rejected alternative, or a command that finally worked. Anchor it to a real file or `path#symbol`, and include its concrete evidence, applicability, calibrated `confidenceLabel`, scope, and invalidators.

  • Perform this semantic harvest yourself while you still hold the reasoning.

Do not delegate it to another model, and do not invent a finding merely to populate the graph.

  • Applicable findings are injected automatically when their file or command is

touched. Use **`wiki_read`** for an explicit lookup.

Storing bulky content out of context

  • **`optimize_text`** — compress a large text blob under a `key` and keep it in

the external cache instead of your context; retrieve it later by key. Reports `tokensSaved`. Good for logs, large outputs, or reference material you don't need inline right now.

  • **`compress_text`** — Brotli+base64 compression. **Byte** reduction only:

the base64 output usually has **more** LLM tokens than the input, so use it for **at-rest storage/caching, not for putting back into context.** The tool returns `increasesTokens` + a warning when that's the case.

Rules of thumb

1. Reading a big file or one you've seen before → `smart_read`. 2. Searching a large/unknown tree → `smart_glob` (paths first, read only what you need). 3. Editing a large file → `smart_edit`. 4. Context getting tight → `optimize_session`, then continue. 5. Need to stash bulky output → `optimize_text` (by key), not `compress_text` into context. 6. Small files/one-off reads → the built-in tools are fine; don't add overhead.

Read more
Ships withtoken-optimizer-mcp

Intelligent token optimization for Claude Code - achieving 95%+ token reduction through caching, compression, and smart tool intelligence

Get the whole plugin
Stats
475
Stars
51
Forks
Active
Maintenance
JavaScript
Language
MIT
License
4h ago
Last commit
10mo ago
Created

Repo: ooples/token-optimizer-mcp