cost-trend — скилл для Claude Code: отслеживание дрейфа метрик
Скилл читает журналы бенчмарков из docs/benchmarks/runs/*.json и показывает, как со временем меняются win rate, latency, escalation rate и стоимость. Ловит регрессии, которые smoke-тест пропускает.
npx skills add ruvnet/ruflo --skill cost-trend -a claude-codeЧто делает cost-trend
cost-trend анализирует сохранённые запуски бенчмарков и выводит дельту между первым и последним прогоном — win rate, среднюю и p99 latency, escalation rate, speedup относительно Gemini. Дополнительно показывает покидение по каждому прогону, помечая регрессии: падение win rate или рост latency в 1,5 раза от базовой.
Скрипт работает из корня проекта командой node plugins/ruflo-cost-tracker/scripts/trend.mjs. Поддерживает переменные окружения: TREND_FORMAT=json выводит JSON вместо markdown, TREND_LIMIT=10 ограничивает анализ последними N прогонами. Версия корпуса записывается в каждый прогон, так что тренды остаются интерпретируемы при обновлении тестовых наборов.
Пригодится перед релизом, чтобы убедиться, что speedup не съехал, или после расширения корпуса — проверить, что старые прогоны по-прежнему держат win rate. Базовые latency для Sonnet 4.6 и Opus 4.7 попадают в отчёт, если были включены во время прогона.
Какие задачи решает
- отследить деградацию метрик между бенчмарками
- поймать медленное падение win rate, которое smoke-тест упускает
- сравнить стоимость и скорость по истории прогонов
- проверить влияние апгрейда агента на latency
- выявить регрессии после расширения тестового корпуса
Примеры запросов агенту
- Запусти cost-trend перед релизом, чтобы проверить дрейф метрик
- Выведи тренды в JSON и импортируй в дашборд
- Проверь последние 10 прогонов после обновления agent-booster
Как установить cost-trend
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-trend -a claude-code2Вручную: положить файлы
~/.claude/skills/cost-trend/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/cost-trend/
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-trend -a codex2Вручную: положить файлы
.agents/skills/cost-trend/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-trend -a cursor2Вручную: положить файлы
.cursor/skills/cost-trend/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install ruvnet/ruflo cost-trend2Вручную: положить файлы
.github/skills/cost-trend/SKILL.md1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-trend -a gemini-cli2Командой платформы
gemini skills install https://github.com/ruvnet/ruflo --path plugins/ruflo-cost-tracker/skills/cost-trendВручную: положить файлы
.devin/skills/cost-trend/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-trend -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о cost-trend
Как установить cost-trend в Claude Code?
Выполни из корня проекта: npx skills add ruvnet/ruflo --skill cost-trend -a claude-code. После установки скилл будет доступен в ~/.claude/skills/cost-trend/SKILL.md.
Что делает cost-trend?
Анализирует архив бенчмарков и показывает изменение win rate, latency, escalation rate и стоимости со временем. Помечает регрессии: когда win rate падает или latency растёт в 1,5 раза от начального значения.
Какие переменные окружения поддерживает скилл?
TREND_FORMAT=json меняет вывод на JSON, TREND_LIMIT=10 ограничивает анализ последними N прогонами. По умолчанию вывод — markdown, анализируются все доступные прогоны.
Исходный текст
SKILL.md · MIT
--- name: cost-trend description: Read every docs/benchmarks/runs/*.json and surface drift in win rate, latency, escalation rate, and LLM-baseline cost over time argument-hint: "" allowed-tools: Bash --- # Cost Trend The smoke gate is binary (`winRate ≥ 0.80` → pass/fail). The corpus benchmarks captured over time form a curve — and curves catch regressions the gate misses (win rate slowly creeping from 100% to 85% is "still passing" by smoke but a real degradation). This skill reads every persisted run in `docs/benchmarks/runs/*.json` and reports first→last deltas plus a per-run series, flagging regressions in win rate or latency. ## When to use - Before a release — check that the speedup hasn't drifted. - After expanding the corpus — verify older runs still hit the same win rate on the new corpus *they* reflected. - After upgrading `agent-booster` — surface latency / strategy changes. ## Steps 1. **Run the trend script** from the project root: ```bash node plugins/ruflo-cost-tracker/scripts/trend.mjs ``` Optional env: - `TREND_FORMAT=json` — emit JSON instead of markdown - `TREND_LIMIT=10` — consider only the most recent N runs 2. **Inspect the drift summary** — first vs last on win rate, avg latency, p99, escalation rate, speedup vs Gemini. 3. **Inspect the per-run series** — one row per run, including Sonnet 4.6 + Opus 4.7 baseline latencies if those were enabled (`BENCH_ANTHROPIC=1` at run time). 4. **Regression flags** — the script emits `> ⚠ Regression` callouts when: - Win rate dropped between first and last run - Avg latency rose ≥ 1.5× from first run ## Cross-references - `cost-benchmark` — the producer of the run JSONs this skill consumes - `bench/booster-corpus.json` — the corpus version is recorded in each run, so trends across corpus versions remain interpretable - `docs/benchmarks/runs/latest.json` — the most-recent run; smoke step 23 gates on `winRate ≥ 0.80` from this file
© ruvnet · MIT · ruvnet/ruflo