Cost Booster Edit
Direct wrapper around agent-booster.apply() (npm agent-booster v0.2.x, exposed via agentic-flow/agent-booster). Use when a transform is already classified as Tier 1 eligible — cost-booster-route recommends whether; this skill executes.
When to use
- Bulk transforms across many files (
var → const, add-types, remove-console, add-error-handling, async-await, add-logging).
- Any simple, structural edit where an LLM would otherwise be called and billed.
- Inside CI pipelines where determinism + zero-cost matter more than naturalness.
Do NOT use when the transform requires reasoning about intent, naming, or cross-file context — those are Tier 2/3 jobs.
Steps
Take inputs — intent (one of the 6 booster intents) and file path.
Read the source to a variable, derive the intended edit text from the intent (caller supplies).
Invoke — run from anywhere under v3/ so agent-booster resolves:
node --input-type=module -e '
import("agent-booster")
.then(async ({ AgentBooster }) => {
const booster = new AgentBooster();
const r = await booster.apply({
code: process.argv[1],
edit: process.argv[2],
language: process.argv[3] || "javascript",
});
console.log(JSON.stringify({
success: r.success, output: r.output, latency: r.latency,
confidence: r.confidence, strategy: r.strategy,
tokens: r.tokens,
}));
})
.catch(e => console.log(JSON.stringify({ success: false, error: String(e.message) })));
' -- "$CODE" "$EDIT" "$LANG"
Check confidence — default threshold is 0.5. Below that, fail closed: do NOT write the file; report and escalate to Tier 2/3.
Write back the output field if success && confidence >= 0.5.
Persist outcome — memory_store --namespace cost-tracking --key "booster-edit-..." --value '{"intent":..., "latency":..., "confidence":..., "strategy":..., "applied":true}'. Feed the routing learner via hooks_model-outcome (use the cost-optimize skill's step 8).
Measured benchmark (2026-05-04, this checkout)
5 representative intents run through AgentBooster.apply():
| intent |
latency (ms) |
wall (ms) |
confidence |
strategy |
success |
| var-to-const |
5 |
5 |
0.65 |
fuzzy_replace |
true |
| add-types |
1 |
1 |
0.64 |
fuzzy_replace |
true |
| remove-console |
0 |
0 |
0.70 |
fuzzy_replace |
true |
| add-error-handling |
0 |
0 |
0.85 |
exact_replace |
true |
| async-await |
0 |
0 |
0.85 |
exact_replace |
true |
Avg measured latency ≈ 1.2 ms. All 5 above the default 0.5 confidence threshold. See docs/benchmarks/0002-baseline.md for the LLM-baseline comparison.
What's verified locally
| Claim |
Status here |
| 100% win rate |
Verified — 12/12 on bench/booster-corpus.json (see runs/latest.json). Booster AND Gemini 2.0 Flash both score 12/12 — this is a structural-correctness corpus, not a hard adversarial one. |
| Sub-millisecond latency |
Verified — avg 0.67 ms, p50 0 ms, p99 6 ms, max 6 ms. |
| $0 per edit |
Verified structurally — no API call, no token billing. |
| Deterministic AST-based merge |
Verified — same inputs reproduce the same output and strategy. |
| Confidence ≥ 0.5 ⇒ correct |
Verified on this corpus — 12/12 above 0.5 (min 0.551), all correct. |
350× speedup vs. LLM |
Verified — exceeded against every tier: 1000.9× vs Gemini 2.0 Flash, 1838.7× vs Claude Sonnet 4.6, 2634.1× vs Claude Opus 4.7. Run BENCH_LLM_BASELINE=1 BENCH_ANTHROPIC=1 node scripts/bench.mjs to refresh. |
| Cost saved per edit |
Measured: $0.000020 vs Gemini, $0.000722 vs Sonnet 4.6, $0.004720 vs Opus 4.7 (the booster side is $0 in all cases). |
| Win parity with frontier LLMs |
Verified — Booster, Gemini 2.0 Flash, Sonnet 4.6, Opus 4.7 all scored 12/12 on this corpus. Booster matches LLM accuracy structurally for deterministic transforms. |
To extend: add cases to bench/booster-corpus.json, run ( cd v3 && node ../plugins/ruflo-cost-tracker/scripts/bench.mjs ) (or with BENCH_LLM_BASELINE=1), commit runs/latest.json. Smoke step 23 fails the build if win rate drops below 0.80.
Override the LLM model: BENCH_LLM_MODEL='claude-sonnet-4' (when wired against api.anthropic.com) or BENCH_LLM_MODEL='models/gemini-2.5-flash' for a reasoning-model comparison. Pricing flags: BENCH_LLM_PRICE_IN, BENCH_LLM_PRICE_OUT.
fuzzy_replace is best-effort; for production transforms prefer cases that route to exact_replace (≥0.85 confidence in our sample).
Cross-references
ADR-0002 §"Decision 1" (route classifier) and §"Riskiest assumption" (Bash-shelled invocation) · cost-booster-route (classifier-side companion) · agent-booster npm README (3-mode install, MCP / npm / HTTP).
Source: ruvnet/ruflo → plugins/ruflo-cost-tracker/skills/cost-booster-edit/SKILL.md
1---2name: cost-booster-edit3description: Apply a simple code transform via agent-booster's WASM engine — sub-millisecond, deterministic, $0 (no LLM call). Companion to cost-booster-route.4---567# Cost Booster Edit89Direct wrapper around `agent-booster.apply()` (npm `agent-booster` v0.2.x, exposed via `agentic-flow/agent-booster`). Use when a transform is **already classified** as Tier 1 eligible — `cost-booster-route` recommends *whether*; this skill *executes*.1011## When to use1213- Bulk transforms across many files (`var → const`, `add-types`, `remove-console`, `add-error-handling`, `async-await`, `add-logging`).14- Any simple, structural edit where an LLM would otherwise be called and billed.15- Inside CI pipelines where determinism + zero-cost matter more than naturalness.1617**Do NOT use when** the transform requires reasoning about intent, naming, or cross-file context — those are Tier 2/3 jobs.1819## Steps20211. **Take inputs** — `intent` (one of the 6 booster intents) and `file` path.222. **Read the source** to a variable, derive the intended `edit` text from the intent (caller supplies).233. **Invoke** — run from anywhere under `v3/` so `agent-booster` resolves:2425 ```bash26 node --input-type=module -e '27 import("agent-booster")28 .then(async ({ AgentBooster }) => {29 const booster = new AgentBooster();30 const r = await booster.apply({31 code: process.argv[1],32 edit: process.argv[2],33 language: process.argv[3] || "javascript",34 });35 console.log(JSON.stringify({36 success: r.success, output: r.output, latency: r.latency,37 confidence: r.confidence, strategy: r.strategy,38 tokens: r.tokens,39 }));40 })41 .catch(e => console.log(JSON.stringify({ success: false, error: String(e.message) })));42 ' -- "$CODE" "$EDIT" "$LANG"43 ```44454. **Check confidence** — default threshold is `0.5`. Below that, fail closed: do NOT write the file; report and escalate to Tier 2/3.465. **Write back** the `output` field if `success && confidence >= 0.5`.476. **Persist outcome** — `memory_store --namespace cost-tracking --key "booster-edit-..." --value '{"intent":..., "latency":..., "confidence":..., "strategy":..., "applied":true}'`. Feed the routing learner via `hooks_model-outcome` (use the `cost-optimize` skill's step 8).4849## Measured benchmark (2026-05-04, this checkout)50515 representative intents run through `AgentBooster.apply()`:5253| intent | latency (ms) | wall (ms) | confidence | strategy | success |54|--------------------|-------------:|----------:|-----------:|-----------------|---------|55| var-to-const | 5 | 5 | 0.65 | fuzzy_replace | true |56| add-types | 1 | 1 | 0.64 | fuzzy_replace | true |57| remove-console | 0 | 0 | 0.70 | fuzzy_replace | true |58| add-error-handling | 0 | 0 | 0.85 | exact_replace | true |59| async-await | 0 | 0 | 0.85 | exact_replace | true |6061Avg measured latency ≈ **1.2 ms**. All 5 above the default 0.5 confidence threshold. See `docs/benchmarks/0002-baseline.md` for the LLM-baseline comparison.6263## What's verified locally6465| Claim | Status here |66|------------------------------------|-------------------------------------------------------------------------|67| **100% win rate** | **Verified** — 12/12 on `bench/booster-corpus.json` (see `runs/latest.json`). Booster AND Gemini 2.0 Flash both score 12/12 — this is a structural-correctness corpus, not a hard adversarial one. |68| **Sub-millisecond latency** | **Verified** — avg 0.67 ms, p50 0 ms, p99 6 ms, max 6 ms. |69| **$0 per edit** | **Verified structurally** — no API call, no token billing. |70| **Deterministic AST-based merge** | **Verified** — same inputs reproduce the same `output` and `strategy`. |71| **Confidence ≥ 0.5 ⇒ correct** | **Verified on this corpus** — 12/12 above 0.5 (min 0.551), all correct. |72| **`350×` speedup vs. LLM** | **Verified — exceeded against every tier:** 1000.9× vs Gemini 2.0 Flash, **1838.7× vs Claude Sonnet 4.6**, **2634.1× vs Claude Opus 4.7**. Run `BENCH_LLM_BASELINE=1 BENCH_ANTHROPIC=1 node scripts/bench.mjs` to refresh. |73| **Cost saved per edit** | **Measured:** $0.000020 vs Gemini, **$0.000722 vs Sonnet 4.6**, **$0.004720 vs Opus 4.7** (the booster side is $0 in all cases). |74| **Win parity with frontier LLMs** | **Verified** — Booster, Gemini 2.0 Flash, Sonnet 4.6, Opus 4.7 all scored 12/12 on this corpus. Booster matches LLM accuracy structurally for deterministic transforms. |7576To extend: add cases to `bench/booster-corpus.json`, run `( cd v3 && node ../plugins/ruflo-cost-tracker/scripts/bench.mjs )` (or with `BENCH_LLM_BASELINE=1`), commit `runs/latest.json`. Smoke step 23 fails the build if win rate drops below 0.80.7778**Override the LLM model:** `BENCH_LLM_MODEL='claude-sonnet-4'` (when wired against `api.anthropic.com`) or `BENCH_LLM_MODEL='models/gemini-2.5-flash'` for a reasoning-model comparison. Pricing flags: `BENCH_LLM_PRICE_IN`, `BENCH_LLM_PRICE_OUT`.7980`fuzzy_replace` is best-effort; for production transforms prefer cases that route to `exact_replace` (≥0.85 confidence in our sample).8182## Cross-references8384ADR-0002 §"Decision 1" (route classifier) and §"Riskiest assumption" (Bash-shelled invocation) · `cost-booster-route` (classifier-side companion) · `agent-booster` npm README (3-mode install, MCP / npm / HTTP).8586---8788**Source:** [`ruvnet/ruflo`](https://github.com/ruvnet/ruflo) → `plugins/ruflo-cost-tracker/skills/cost-booster-edit/SKILL.md`