cost-optimize — Claude Code skill: what it does, how to install
Reads token spend for the last 7 days, flags model tiers that don't match the work and weak caching, then ranks fixes by dollar savings.
npx skills add ruvnet/ruflo --skill cost-optimize -a claude-codeWhat cost-optimize does
The skill works out where the tokens go. It pulls records from the cost-tracking namespace for the last 7 days, then checks which model each agent ended up on. Formatting or linting on Sonnet and Opus is a reason to drop to Haiku. Architecture and security work on Haiku is the other problem: a quality risk worth flagging. Cache hit rate gets measured too, and anything under 60% triggers a prompt-caching recommendation, since cache reads cost 90% less.
Everything runs through the ruflo MCP server and Bash: memory search and store, pattern lookup via agentdb_pattern-search and agentdb_pattern-store, semantic routing, plus hooks_model-outcome. Overlapping agents and spawns that could be batched land in the report with numbers attached — current cost, projected cost, dollars saved, percentage cut. A final step pushes task outcomes to the router with plugins/ruflo-cost-tracker/scripts/outcome.mjs; skip it and the booster bypass rate never moves.
One routing quirk matters. memory_* tools respect namespace, pattern-* tools ignore it, so a typed cost-optimization pattern goes through ReasoningBank and falls back to the reserved pattern namespace when the bridge is down. Before any of that, make sure spend is actually being written to cost-tracking. Nothing there means nothing to analyse.
What it helps with
- find agents burning tokens on tasks below their model tier
- price out a move from Opus to Haiku before making it
- check whether prompt caching is actually paying off
- catch overlapping agents doing the same job
- feed optimization outcomes back to the model router
Example prompts for the agent
- Analyze our token usage for the last 7 days and show where we're overspending
- Which agents run simple formatting on Opus? Estimate the savings from switching to Haiku
- Find the redundant agents and store the pattern under `cost-patterns`
How to install cost-optimize
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-optimize -a claude-code2Manually: put the files in place
~/.claude/skills/cost-optimize/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/cost-optimize/
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-optimize -a codex2Manually: put the files in place
.agents/skills/cost-optimize/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-optimize -a cursor2Manually: put the files in place
.cursor/skills/cost-optimize/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install ruvnet/ruflo cost-optimize2Manually: put the files in place
.github/skills/cost-optimize/SKILL.md1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-optimize -a gemini-cli2Platform CLI
gemini skills install https://github.com/ruvnet/ruflo --path plugins/ruflo-cost-tracker/skills/cost-optimizeManually: put the files in place
.devin/skills/cost-optimize/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-optimize -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set104
The whole set →Similar
Questions about cost-optimize
How do I install cost-optimize in Claude Code?
Run npx skills add ruvnet/ruflo --skill cost-optimize -a claude-code. The skill lands at ~/.claude/skills/cost-optimize/SKILL.md.
What does cost-optimize do?
It reads recent token usage, compares model tiers against task complexity, checks cache hit rates and agent redundancy, then ranks optimizations by estimated dollar savings.
What does the skill need in order to run?
The ruflo MCP server with memory_search, memory_store, agentdb_pattern-search, agentdb_pattern-store and hooks_model-outcome, plus Bash. The outcome script itself is launched through node.
Source text
SKILL.md · MIT
---
name: cost-optimize
description: Analyze token usage patterns and recommend cost optimizations with estimated savings
argument-hint: ""
allowed-tools: mcp__plugin_ruflo-core_ruflo__memory_search mcp__plugin_ruflo-core_ruflo__memory_list mcp__plugin_ruflo-core_ruflo__memory_store mcp__plugin_ruflo-core_ruflo__agentdb_pattern-search mcp__plugin_ruflo-core_ruflo__agentdb_pattern-store mcp__plugin_ruflo-core_ruflo__agentdb_semantic-route mcp__plugin_ruflo-core_ruflo__hooks_model-outcome Bash
---
# Cost Optimize
Analyze recent token usage across agents and models, identify waste, and recommend specific optimizations with estimated dollar savings.
## When to use
When costs are higher than expected or you want to proactively reduce spending. Analyzes model selection efficiency, cache utilization, agent redundancy, and prompt efficiency.
## Steps
1. **Load usage data** -- call `mcp__plugin_ruflo-core_ruflo__memory_search` on the `cost-tracking` namespace (last 7 days). The `memory_*` tools route by namespace; use them — not `agentdb_hierarchical-*` (which routes by tier).
2. **Analyze model fit** -- for each agent, assess whether the model tier matches task complexity:
- Agents doing simple tasks (formatting, linting) on Sonnet/Opus → suggest Haiku or Agent Booster
- Agents doing complex tasks (architecture, security) on Haiku → flag quality risk
3. **Check cache rates** -- compute cache hit rate per agent; if below 60%, recommend enabling or improving prompt caching (90% cost reduction on cache reads)
4. **Detect redundancy** -- look for multiple agents performing overlapping tasks, or agents being spawned for work that could be batched
5. **Estimate savings** -- for each recommendation, calculate: current cost, projected cost after optimization, dollar savings, percentage reduction
6. **Search prior optimization patterns** -- call `mcp__plugin_ruflo-core_ruflo__agentdb_pattern-search` (ReasoningBank-routed; **don't** pass a `namespace` argument — pattern-* tools ignore it).
7. **Store the optimization pattern** -- two paths:
- **Pattern store (typed, recommended)**: `mcp__plugin_ruflo-core_ruflo__agentdb_pattern-store` with `type: 'cost-optimization'`. Don't pass a `namespace` arg — ReasoningBank routes it; on bridge unavailability the fallback writes to the reserved `pattern` namespace with `controller: 'memory-store-fallback'` (see ruflo-agentdb ADR-0001).
- **Plain store (namespace-routable)**: `mcp__plugin_ruflo-core_ruflo__memory_store --namespace cost-patterns` — this DOES respect the `cost-patterns` namespace because `memory_*` is namespace-routed.
8. **Close the routing feedback loop — auto-emit `hooks_model-outcome`** -- for each downgrade recommendation, format the outcome-emit command as part of the recommendation table so it can be run directly:
```bash
# success path (downgrade worked)
node plugins/ruflo-cost-tracker/scripts/outcome.mjs "<task-description>" <model> success
# escalated path (had to upgrade after downgrade attempt)
node plugins/ruflo-cost-tracker/scripts/outcome.mjs "<task-description>" <model> escalated
```
The script wraps `npx @claude-flow/cli hooks model-outcome -t ... -m ... -o ...` with explicit-argv `spawnSync` so quoting is safe. Without this signal the router does not learn from cost-tracker's recommendations and the booster bypass rate (see `cost-booster-route` skill) does not improve over time. This is the typed equivalent of the legacy `routing-outcomes` namespace (see ruflo-intelligence ADR-0001 §"Neutral").
9. **Report** -- display: ranked recommendations with savings estimate, total potential savings, implementation priority (quick wins first), and any model-outcome events emitted in step 8
## CLI alternative
```bash
npx @claude-flow/cli@latest memory search --query "cost optimization strategies" --namespace cost-patterns
npx @claude-flow/cli@latest memory store --key "opt-2026-05-04" --value '{...}' --namespace cost-patterns
```
© ruvnet · MIT · ruvnet/ruflo