cost-track
Auto-capture per-session token usage from the Claude Code session jsonl and persist to the cost-tracking namespace
How do I install this agent skill?
npx skills add https://github.com/ruvnet/ruflo --skill cost-trackIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill tracks token usage and costs by analyzing local session logs from the Claude Code environment. It executes a local tracking script to parse the logs and persists the data to a memory store. The primary security consideration is the ingestion of session logs, which constitutes a surface for indirect prompt injection.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Cost Track
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.
When to use
- After a meaningful chunk of work, to capture spend for the report.
- At session-end to persist the final tally.
- Periodically during long sessions (cron-friendly — see
/loop 30m).
Steps
-
Run the tracker from the project root:
node plugins/ruflo-cost-tracker/scripts/track.mjsThe 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. -
Inspect the markdown summary — total cost, per-model and per-tier breakdowns, and the persisted memory key.
-
Verify persistence —
mcp__plugin_ruflo-core_ruflo__memory_search --query "session-" --namespace cost-trackingshould list the new record.cost-reportstep 1 reads from this namespace.
Record shape (in cost-tracking namespace)
Key: session-<sessionId>. Value (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..."
}
Pricing source of truth
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 overrides
| 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 |
Cross-references
cost-report(consumer) — reads records produced by this skill- REFERENCE.md "Cost attribution formula" — the math the script implements
cost-budget-check(consumer; landing in P2) — reads totals to evaluate alerts
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/ruvnet/ruflo/cost-track">View cost-track on skillZs</a>