Skip to main content
skill CX Codex

cost-federation — Claude Code skill: federated request spend tracking

Tracks federated request costs per peer in rolling windows (1h, 24h, 7d) and checks suspension thresholds. Use it when opening federation channels to new peers or monitoring consumption.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add ruvnet/ruflo --skill cost-federation -a claude-code
Open on GitHub

What cost-federation does

The skill connects to the federation_spend event bus from ADR-097 Phase 3 — each federated request generates an event with peer ID, tokens used, and USD spent. The script accumulates these into rolling windows, shows per-peer costs, and flags peers exceeding the suspension threshold.

Run: node plugins/ruflo-cost-tracker/scripts/federation.mjs. By default it outputs a markdown table with 1h / 24h / 7d windows and a threshold check block. Switch to JSON with FED_FORMAT=json, override the namespace (FED_NAMESPACE=federation-spend), or adjust the threshold (FED_SUSPEND_THRESHOLD_USD=5.0).

Until Phase 3 lands upstream, the skill works cleanly and reports "no events found". Events should contain: peerId, taskId, tokensUsed, usdSpent, ts — the script reads any record with prefix fed-spend- from storage and aggregates automatically.

What it helps with

  • collect per-peer federated spend statistics over the past 7 days
  • verify whether limits on a specific peer are exceeded
  • establish baseline spend before onboarding a new peer
  • trace why a peer was suspended via the event chain

Example prompts for the agent

  • Run cost-federation and show which peer spent the most in the last 24 hours
  • cost-federation over the past 7 days — output as JSON table
  • Check peers with spend above $3 per hour

How to install cost-federation

1Skills CLI (Vercel)

npx skills add ruvnet/ruflo --skill cost-federation -a claude-code

2Manually: put the files in place

~/.claude/skills/cost-federation/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/cost-federation/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about cost-federation

How do I install cost-federation in Claude Code?

Run npx skills add ruvnet/ruflo --skill cost-federation -a claude-code, then open ~/.claude/skills/cost-federation/SKILL.md.

What does cost-federation do?

It tracks costs for federated requests to other peers, groups them into 1h / 24h / 7d windows, and shows which peers exceed the configured threshold (default $5 per period).

What if ADR-097 Phase 3 hasn't landed yet?

The skill continues working and reports "no events found" — this is expected. Once upstream publishes events to the federation-spend namespace, they will be picked up automatically.

Source text

SKILL.md · MIT
---
name: cost-federation
description: Consumer-side wiring for ADR-097 Phase 3 federation_spend events — per-peer rolling windows + suspension-threshold check
argument-hint: ""
allowed-tools: Bash
---

# Cost Federation

ADR-097 Phase 3 specifies a `federation_spend` event bus that publishes one event per `federation_send` completion: `{peerId, taskId, tokensUsed, usdSpent, ts}`. Cost-tracker is the declared consumer — it aggregates per-peer rolling windows (1h / 24h / 7d) and the federation breaker queries that aggregate to suspend peers exceeding the configured threshold.

**Phase 3 isn't landed upstream yet.** This skill is the consumer-side wiring; it activates the moment upstream publishes events to the `federation-spend` namespace. Until then it reports cleanly with a "no events found" notice.

## When to use

- Before opening federation traffic to a new peer — establish baseline.
- Periodically (e.g. `/loop 5m`) to monitor per-peer spend across windows.
- After ADR-097 Phase 2/3 lands — to verify breaker suspension reasoning.

## Steps

1. **Run the script**:

   ```bash
   node plugins/ruflo-cost-tracker/scripts/federation.mjs
   ```

   Optional env:
   - `FED_FORMAT=json` — JSON instead of markdown
   - `FED_NAMESPACE=federation-spend` — override target namespace
   - `FED_SUSPEND_THRESHOLD_USD=5.0` — breaker threshold (ADR-097 default)

2. **Inspect** — per-peer 1h/24h/7d windows of count + USD spent, plus a "Suspension threshold check" block flagging peers over the breaker line.

## Storage contract (consumer side)

When Phase 3 lands, events should be persisted to namespace `federation-spend` with key prefix `fed-spend-` and JSON value matching:

```json
{
  "peerId": "<peer-uuid>",
  "taskId": "<task-uuid>",
  "tokensUsed": 12345,
  "usdSpent": 0.0287,
  "ts": "2026-05-05T..."
}
```

The script reads any record matching that prefix, regardless of how upstream produces them. Multiple events per peer accumulate cleanly into the rolling-window sums.

## Cross-references

- [ADR-097: Federation budget circuit breaker](../../../../v3/docs/adr/ADR-097-federation-budget-circuit-breaker.md) — the complete spec
- `cost-report` — same data, different lens (cost-report focuses on local agent spend; this skill on per-peer federated spend)
- `ruflo-federation` plugin — the producer side (when Phase 3 lands)

© ruvnet · MIT · ruvnet/ruflo

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set146

vector-setup Bootstraps [email protected], installs missing add-ons, and registers the MCP server. Useful when /vector subcommands fail on missing dependencies. CX Codex +1 683installs intelligence-transfer Copies learned patterns from another local project, or moves them through the IPFS pattern marketplace, so a new project can start from what an older one already knows. CX Codex +1 683installs cost-trend A skill that reads benchmark runs from docs/benchmarks/runs/*.json and surfaces how win rate, latency, escalation rate, and cost change over time. Catches regressions that smoke tests miss. CX Codex +1 683installs cost-summary Extracts a single-shot cost snapshot across models, tiers, and sessions in JSON or markdown. Useful for scripts, bots, and budget tracking. CX Codex +1 683installs cost-conversation Groups LLM spending by session, displaying start time, message count, top model, and total cost. Helps evaluate long or expensive conversations. CX Codex +1 682installs cost-export Exports cost telemetry into Prometheus textfile or webhook JSON formats for external dashboards like Grafana or Datadog. CX Codex +1 681installs cost-booster-edit Runs simple structural code edits through agent-booster's WASM engine with no LLM call and no token bill. Built for the same transform repeated across a project. CX Codex +1 679installs cost-benchmark Runs corpus benchmarks to evaluate booster performance and compare spend against Gemini or Claude baselines. Generates verifiable cost tables before releases. CX Codex +1 679installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor