Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Auto-capture per-session token usage from the Claude Code session jsonl and persist to the cost-tracking namespace
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -58% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 82% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -4% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -30% | 0% |
Reads the active Claude Code session jsonl (~/.claude/projects/<encoded-cwd>/<session>.jsonl), tallies assistant-message usage per model, computes USD cost using REFERENCE.md pricing, and writes a structured record to the cost-tracking AgentDB namespace. This is the producer that gives cost-report and cost-optimize real data to consume.
/loop 30m).bash node plugins/ruflo-cost-tracker/scripts/track.mjs
The script auto-discovers the session jsonl from the current working directory. To pin a specific session: TRACK_SESSION=/path/to/session.jsonl. To dry-run (no memory write): TRACK_DRY_RUN=1.
mcp__plugin_ruflo-core_ruflo__memory_search --query "session-" --namespace cost-tracking should list the new record. cost-report step 1 reads from this namespace.cost-tracking namespace)Key: session-<sessionId>. Value (JSON):
json{ "sessionId": "1dba3b8c-...", "cwd": "/Users/cohen/Projects/ruflo", "startedAt": "2026-05-04T...", "endedAt": "2026-05-05T...", "messageCount": 234, "byModel": { "claude-opus-4-7": { "tier": "opus", "input_tokens": 12345, "output_tokens": 6789, "cache_creation_input_tokens": 800000, "cache_read_input_tokens": 2000000, "messages": 50, "cost_usd": 1.23 } }, "byTier": { "haiku": 0.0, "sonnet": 0.45, "opus": 1.23, "unknown": 0 }, "total_cost_usd": 1.68, "capturedAt": "2026-05-05T..." }
The script's PRICING constant mirrors REFERENCE.md "Model pricing (USD per 1M tokens)". Update both together when prices change. Cache-write tokens are billed at cache_write rate; cache-read tokens at cache_read (per Anthropic billing docs).
| Env | Default | Purpose | |---|---|---| | TRACK_CWD | process.cwd() | Override which project's sessions to scan | | TRACK_SESSION | most-recent jsonl | Pin a specific session file | | TRACK_OUT | unset | Also write the JSON summary to this path | | TRACK_DRY_RUN=1 | unset | Skip the memory store call | | TRACK_QUIET=1 | unset | Suppress markdown output | | TRACK_NAMESPACE | cost-tracking | Override target namespace |
cost-report (consumer) — reads records produced by this skillcost-budget-check (consumer; landing in P2) — reads totals to evaluate alertsOther measured skills in the registry, with their headline benchmark lift.