Skill v1.0.0
currentAutomated scan100/100version: "1.0.0"
Skill: my-savings
Show the opt-in ClaudeRunway savings tracker: an estimate of context tokens avoided by local compression this session, plus this project's history. This includes both the local-compress MCP server's tools (compress_file, compress_command_output, fetch_url) and the compress_bash_output.py hook's own compressions of Bash/Grep/Glob/WebFetch/WebSearch output — both contribute to the same session total.
Optional argument: detail (e.g. /my-savings detail), trend (e.g. /my-savings trend, /my-savings trend day). Omit it for the simple view.
Important — this is an estimate, not a benchmark. This tracker computes a live, online estimate of a counterfactual ("what would this have cost without compression"), not a controlled A/B measurement. EVALUATION.md's tracks measure that rigorously by running a task twice; this skill reports what a heuristic estimator observed in real time. Don't present the two as equivalent.
When to use
Run this any time you want to check how much local compression has saved this session, or how this project trends over time. Requires CLAUDE_RUNWAY_TRACK_SAVINGS (accepted values: 1, true, or yes, case-insensitive) to be set in both .mcp.json's local-compress env block and exported in the shell environment that launches claude (hook entries in .claude/settings.json have no env field of their own, so they only ever see what the shell already has) — if it's off, the tools will say so.
Steps
- Determine the view: if the argument is
detail, use the detail view; if the argument istrend(optionally followed bydayorweek), use the trend view; otherwise use the simple view.
- Simple view (no argument): call the
savings_summaryMCP tool (from thelocal-compressserver) with no arguments — it defaultsprojectto the current working directory's folder name. Print its return value to the user verbatim (it's pre-formatted text, not something to summarize or reformat).
- Detail view (
detailargument): call thesavings_detailMCP tool the same way. Print its return value verbatim.
- Trend view (
trendargument): call thesavings_trendMCP tool. If the user also supplieddayorweekaftertrend, pass that as thebucketparameter; otherwise the tool defaults to weekly buckets. Print its return value verbatim. Example:/my-savings trend daycallssavings_trend(bucket="day").
- If the tool reports tracking is off: relay that message plainly — don't try to work around it or guess a number. Tell the user both places
CLAUDE_RUNWAY_TRACK_SAVINGS=1needs to be set: their project's.mcp.jsonlocal-compressenv block, and exported in the shell environment that launchesclaude(not.claude/settings.json— hook entries there have noenvfield of their own).
- If the tool reports no session data yet: this is normal at the very start of a session, or in a project where nothing has been compressed yet. Don't treat it as an error — just relay what it says.
Notes
- This is read-only — it never writes, modifies, or deletes anything. (The perpetual SQLite rollup happens automatically at session end via a separate hook, not through this skill.)
- Only local-compression events are credited toward the headline number. Qdrant/
qdrant-findactivity is intentionally never counted here — its counterfactual (what Grep+Read would have cost) isn't observable, so crediting it would be a guess dressed up as a measurement. See the repo'sEVALUATION.md. fetch_urlcalls are logged but never credited — its honest counterfactual is WebFetch's own already-compressed summary, which isn't observed. The tool's output will show fetch_url call counts separately from the credited savings figure.