snipCompact head + tail truncation.
Large files come back as head + tail with an elision marker for the middle — the parts Claude actually scans. Typical 60 KB source file arrives as ~9 KB. A single call saves ~51 KB.
Open-source token ledger for Claude Code. 19 MCP tools. Mean −74.0% savings on files ≥ 2 KB, measured to the byte. MIT-licensed. Zero telemetry.
$ claude mcp add ashlr -- npx -y ashlr-plugin$ curl -fsSL https://raw.githubusercontent.com/ashlrai/ashlr-plugin/main/ports/cursor/mcp.json \
> ~/.cursor/mcp.json$ curl -fsSL https://raw.githubusercontent.com/ashlrai/ashlr-plugin/main/ports/goose/recipe.yaml \
> ~/.config/goose/recipes/ashlr.yamlashlr doesn't compress with magic. It wraps the tools Claude Code already uses, applies three concrete techniques at call time, and writes every saving to a local ledger you can audit.
Large files come back as head + tail with an elision marker for the middle — the parts Claude actually scans. Typical 60 KB source file arrives as ~9 KB. A single call saves ~51 KB.
When a .ashlrcode/genome/ is present, ashlr__grep returns pre-summarized sections instead of raw ripgrep output. Claude gets the understanding it needs, not the noise.
Every tool call appends to a local ledger under ~/.ashlr/stats.json. The status line ticks up within ~550 ms of each call. Sessions are keyed by CLAUDE_SESSION_ID so concurrent terminals never collide.
Drop-in replacements for Claude Code’s built-ins. snipCompact trims large results head+tail; genome RAG retrieves only what’s relevant.
Directory tree with depth and ignore controls — returns a compact structure map, not a file flood.
Tail and search structured log files with time-window filters and line budget.
Propose and consolidate repo knowledge entries — the scribe loop that keeps RAG retrieval sharp.
Entry-point overview of an unfamiliar repo: top files, recent commits, and genome summary in one call.
Create and read issues and PRs with body truncation — no 200-line diff blobs poisoning context.
Pattern-match file paths across the repo with depth limits and gitignore awareness.
Fetch a URL and return only the readable text — strips boilerplate, headers, and nav chrome.
Atomic batched edits across N files in a single call — one round-trip instead of N sequential patches.
Pose a targeted question to a sub-agent with a minimal context slice — haiku-priced delegation.
Semantic diff that groups changes by intent (rename, extract, refactor) rather than raw line delta.
Type /ashlr- in Claude Code to access dashboards, demos, and diagnostics.
Auto-approve every ashlr tool at session start
Per-tool call counts and token breakdown for this session
Deduplicated MCP server error log with root-cause hints
30-second scripted showcase of savings on your actual repo
Generate and embed an SVG savings badge in your README
Plain-text guide to every element in the ashlr status line
Rich per-tool bar charts and 7d/30d savings history
Proactive nudges based on your session patterns
Context-pack for the next session to resume cold
Reproducible against your own codebase: bun run bench. Numbers below from the ashlr-plugin source repo.
The free tier is the product. Pro adds hosted infrastructure — it does not remove or degrade anything in Free.
The full plugin — every tool, every skill, no strings.
Cloud infra for one developer who wants sync and speed.
Shared genome and org-level visibility for engineering teams.