cost-benchmark — скилл для Claude Code: что делает и как установить
Запускает бенчмарки на локальном корпусе задач и сравнивает затраты с базовыми моделями Gemini и Claude. Пригодится для проверки точности и расходов перед релизом.
npx skills add ruvnet/ruflo --skill cost-benchmark -a claude-codeЧто делает cost-benchmark
Скилл запускает тестовый скрипт scripts/bench.mjs из каталога v3/ на наборе задач из bench/booster-corpus.json. Тесты проверяют работу бустера локально без затрат примерно за 85 мс, а при передаче флагов подключают сравнение с базовыми моделями Gemini 2.0 Flash, Claude Sonnet 4.6 и Claude Opus 4.7. Все результаты замеров сохраняются в docs/benchmarks/runs/latest.json и архивируются по временным меткам.
Главный критерий проверки — показатель winRate для задач первого уровня, который должен быть не ниже 0.80 в scripts/smoke.sh. Диагностические состязательные примеры отслеживаются отдельно через escalationRate. Для сетевых тестов с внешними LLM понадобятся ключи GOOGLE_AI_API_KEY и ANTHROPIC_API_KEY в Google Cloud Secrets или соответствующие переменные окружения BENCH_LLM_API_KEY и BENCH_ANTHROPIC_API_KEY.
Какие задачи решает
- проверить процент побед бустера перед выпуском релиза
- сравнить стоимость выполнения задач на Sonnet 4.6 и Opus 4.7
- зафиксировать результаты бенчмарка в каталоге docs/benchmarks/runs/
- подтвердить корректность маршрутизации новых кейсов из booster-corpus.json
Примеры запросов агенту
- Запусти cost-benchmark для проверки локального бустера
- Прогони бенчмарк с флагом --anthropic для сравнения Sonnet и Opus
- Выполни cost-benchmark с базовой моделью Gemini через BENCH_LLM_BASELINE=1
Как установить cost-benchmark
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-benchmark -a claude-code2Вручную: положить файлы
~/.claude/skills/cost-benchmark/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/cost-benchmark/
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-benchmark -a codex2Вручную: положить файлы
.agents/skills/cost-benchmark/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-benchmark -a cursor2Вручную: положить файлы
.cursor/skills/cost-benchmark/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install ruvnet/ruflo cost-benchmark2Вручную: положить файлы
.github/skills/cost-benchmark/SKILL.md1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-benchmark -a gemini-cli2Командой платформы
gemini skills install https://github.com/ruvnet/ruflo --path plugins/ruflo-cost-tracker/skills/cost-benchmarkВручную: положить файлы
.devin/skills/cost-benchmark/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-benchmark -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора104
Весь набор →Похожие
Вопросы о cost-benchmark
Как установить cost-benchmark в Claude Code?
Выполните команду npx skills add ruvnet/ruflo --skill cost-benchmark -a claude-code.
Что делает скилл cost-benchmark?
Он запускает прогон тестового корпуса через scripts/bench.mjs, оценивает процент успешных решений и сохраняет сводку в docs/benchmarks/runs/latest.json.
Какие ключи API нужны для запуска полных тестов?
Локальный прогон работает бесплатно без ключей. Для сравнения с Gemini или Claude скрипт запрашивает GOOGLE_AI_API_KEY и ANTHROPIC_API_KEY через gcloud secrets либо читает переменные BENCH_LLM_API_KEY и BENCH_ANTHROPIC_API_KEY.
Исходный текст
SKILL.md · MIT
---
name: cost-benchmark
description: Run the corpus benchmark — booster locally, optional Gemini/Sonnet/Opus baselines — and persist a verifiable measured-vs-claimed table
argument-hint: "[--llm] [--anthropic]"
allowed-tools: Bash
---
# Cost Benchmark
Runs `scripts/bench.mjs` against the structural+adversarial corpus and writes per-case + summary results to `docs/benchmarks/runs/`. This is the verification gate that backs every measurable claim in `cost-booster-edit` / `cost-booster-route`.
## When to use
- Before publishing a release — verify booster win rate didn't regress.
- After expanding `bench/booster-corpus.json` — confirm new cases route correctly.
- When auditing a "claimed upstream" tag — flip it to "verified" once the bench supports it.
- On a cost question ("is Sonnet 4.6 cheaper than Opus 4.7 for these tasks?") — re-run with `BENCH_ANTHROPIC=1`.
## Steps
1. **Run the bench from `v3/`** (where `agent-booster` resolves):
```bash
( cd v3 && node ../plugins/ruflo-cost-tracker/scripts/bench.mjs ) # booster only — free, ~85 ms
( cd v3 && BENCH_LLM_BASELINE=1 node ../plugins/ruflo-cost-tracker/scripts/bench.mjs ) # + Gemini 2.0 Flash (cheap)
( cd v3 && BENCH_LLM_BASELINE=1 BENCH_ANTHROPIC=1 \
node ../plugins/ruflo-cost-tracker/scripts/bench.mjs ) # + Sonnet 4.6 + Opus 4.7
```
2. **Inspect the markdown summary** printed to stdout. The gate metric is `winRate` (Tier 1 cases). Adversarial cases are tracked separately as `escalationRate`.
3. **Persisted output** lands at:
- `docs/benchmarks/runs/latest.json` — pointer to the most recent run
- `docs/benchmarks/runs/<ISO-timestamp>.json` — historical record
4. **Read it back** in subsequent skills (e.g. `cost-report` step 2 reads `latest.json` for live tier-spend numbers).
## Smoke gates
- `winRate ≥ 0.80` on Tier 1 cases (smoke step 23). Lower the threshold by editing `scripts/smoke.sh`.
- `escalationRate` is reported but ungated — adversarial cases are diagnostic.
## Env overrides
| Env var | Default | Purpose |
|---|---|---|
| `BENCH_LLM_BASELINE` | unset | `=1` runs the OpenAI-compat baseline |
| `BENCH_LLM_MODEL` | `models/gemini-2.0-flash` | Override the OpenAI-compat model |
| `BENCH_LLM_BASE_URL` | Gemini OpenAI shim | Override endpoint |
| `BENCH_ANTHROPIC` | unset | `=1` runs Anthropic baseline (Sonnet 4.6 + Opus 4.7) |
| `BENCH_ANTHROPIC_MODELS` | `claude-sonnet-4-6,claude-opus-4-7` | Comma-separated Claude IDs |
| `BENCH_OUT` | timestamped file | Override output path |
| `BENCH_QUIET=1` | unset | Suppress markdown summary |
API keys auto-pulled from `gcloud secrets` (`GOOGLE_AI_API_KEY`, `ANTHROPIC_API_KEY`); override with `BENCH_LLM_API_KEY` / `BENCH_ANTHROPIC_API_KEY`.
## Cross-references
ADR-0002 §"Decision 1" / §"Riskiest assumption" · `cost-booster-edit/SKILL.md` (verification table consumes this skill's output) · `cost-report/SKILL.md` step 2 (reads `runs/latest.json`).
© ruvnet · MIT · ruvnet/ruflo