Cost Report
Generate a comprehensive cost report showing token usage, USD costs, and budget utilization for the specified period.
When to use
When you need to understand current spending -- how much each agent costs, which models consume the most budget, and whether you're on track to stay within budget.
Steps
- Retrieve usage -- call
mcp__plugin_ruflo-core_ruflo__memory_search (or _list / _retrieve) on the cost-tracking namespace for the specified period (default: today). The memory_* tools route by namespace string; the agentdb_hierarchical-* tools do not (they route by tier working|episodic|semantic), so don't use them here. See ruflo-agentdb ADR-0001 §"Namespace convention" for the routing contract.
1a. Read measured booster data -- if docs/benchmarks/runs/latest.json exists, load it via Bash-shelled node -e 'console.log(JSON.stringify(JSON.parse(require("fs").readFileSync("docs/benchmarks/runs/latest.json")).summary))'. This provides Tier 1 measured values — booster cost/edit ($0), avg latency, win rate, plus any LLM baseline that was run (Gemini, Sonnet 4.6, Opus 4.7 latencies and per-edit costs). Use these in step 4 for the measured Tier breakdown rather than estimated.
- Compute costs -- for each record, calculate cost using model pricing:
- Haiku: $0.25/M input, $1.25/M output
- Sonnet: $3.00/M input, $15.00/M output
- Opus: $15.00/M input, $75.00/M output
- Include cache write/read costs where applicable
- Aggregate by model -- sum costs per model, compute percentage share
- Aggregate by tier -- classify each record as Tier 1 / Tier 2 / Tier 3 using three signals (in priority order): (a) bench data from step 1a — for any record that maps to a measured booster intent, use $0 / measured-latency directly; (b) the
[AGENT_BOOSTER_AVAILABLE] flag stored by the cost-booster-route skill in cost-tracking; (c) the model name as fallback (haiku → Tier 2; sonnet/opus → Tier 3). Sum costs per tier, compute share, and count Tier 1 bypasses. The tier breakdown is the most actionable single line — it tells the user what fraction of Sonnet/Opus spend was Tier 1-eligible.
- Aggregate by agent -- sum costs per agent, include the model each agent used
- Check budget -- recall budget configuration via
memory_retrieve and compute utilization percentage, check alert thresholds (50%/75%/90%/100%)
- Report -- display: total cost, budget remaining, tier breakdown (Tier 1 / Tier 2 / Tier 3), model breakdown, agent breakdown, active alerts. See REFERENCE.md §"Cost report shape" for the canonical layout.
CLI alternative
npx @claude-flow/cli@latest memory search --query "cost report for today" --namespace cost-tracking
npx @claude-flow/cli@latest memory list --namespace cost-tracking
Source: ruvnet/ruflo → plugins/ruflo-cost-tracker/skills/cost-report/SKILL.md
1---2name: cost-report3description: Generate a cost report showing token usage and USD costs by agent and model4---5
6
7# Cost Report
8
9Generate a comprehensive cost report showing token usage, USD costs, and budget utilization for the specified period.
10
11## When to use
12
13When you need to understand current spending -- how much each agent costs, which models consume the most budget, and whether you're on track to stay within budget.
14
15## Steps
16
171. **Retrieve usage** -- call `mcp__plugin_ruflo-core_ruflo__memory_search` (or `_list` / `_retrieve`) on the `cost-tracking` namespace for the specified period (default: today). The `memory_*` tools route by namespace string; the `agentdb_hierarchical-*` tools do **not** (they route by tier `working|episodic|semantic`), so don't use them here. See [ruflo-agentdb ADR-0001 §"Namespace convention"](../../../ruflo-agentdb/docs/adrs/0001-agentdb-optimization.md) for the routing contract.
181a. **Read measured booster data** -- if `docs/benchmarks/runs/latest.json` exists, load it via `Bash`-shelled `node -e 'console.log(JSON.stringify(JSON.parse(require("fs").readFileSync("docs/benchmarks/runs/latest.json")).summary))'`. This provides Tier 1 measured values — booster cost/edit ($0), avg latency, win rate, plus any LLM baseline that was run (Gemini, Sonnet 4.6, Opus 4.7 latencies and per-edit costs). Use these in step 4 for the **measured** Tier breakdown rather than estimated.
192. **Compute costs** -- for each record, calculate cost using model pricing:
20 - Haiku: $0.25/M input, $1.25/M output
21 - Sonnet: $3.00/M input, $15.00/M output
22 - Opus: $15.00/M input, $75.00/M output
23 - Include cache write/read costs where applicable
243. **Aggregate by model** -- sum costs per model, compute percentage share
254. **Aggregate by tier** -- classify each record as Tier 1 / Tier 2 / Tier 3 using **three** signals (in priority order): (a) bench data from step 1a — for any record that maps to a measured booster intent, use $0 / measured-latency directly; (b) the `[AGENT_BOOSTER_AVAILABLE]` flag stored by the `cost-booster-route` skill in `cost-tracking`; (c) the model name as fallback (`haiku` → Tier 2; `sonnet`/`opus` → Tier 3). Sum costs per tier, compute share, and count Tier 1 bypasses. The tier breakdown is the most actionable single line — it tells the user what fraction of Sonnet/Opus spend was Tier 1-eligible.
265. **Aggregate by agent** -- sum costs per agent, include the model each agent used
276. **Check budget** -- recall budget configuration via `memory_retrieve` and compute utilization percentage, check alert thresholds (50%/75%/90%/100%)
287. **Report** -- display: total cost, budget remaining, **tier breakdown** (Tier 1 / Tier 2 / Tier 3), model breakdown, agent breakdown, active alerts. See REFERENCE.md §"Cost report shape" for the canonical layout.
29
30## CLI alternative
31
32```bash
33npx @claude-flow/cli@latest memory search --query "cost report for today" --namespace cost-tracking
34npx @claude-flow/cli@latest memory list --namespace cost-tracking
35```
36
37---
38
39**Source:** [`ruvnet/ruflo`](https://github.com/ruvnet/ruflo) → `plugins/ruflo-cost-tracker/skills/cost-report/SKILL.md`