# Cost Benchmark > Corre el benchmark del corpus — booster local, con baselines opcionales de Gemini/Sonnet/Opus — y guarda una tabla verificable de medido vs. reclamado. Fuente: https://skillsagentes.com/skills/ruvnet/ruflo/cost-benchmark Markdown: https://skillsagentes.com/skills/ruvnet/ruflo/cost-benchmark.md Repositorio: https://github.com/ruvnet/ruflo Autor: ruvnet Licencia: MIT Actualizado: hace 3 meses Coste de contexto: 35 tok instalada, 752 tok al activarse, 752 tok con todos los archivos del bundle Bundle: 1 archivo, 3 KB Permisos que pide: bash ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add ruvnet/ruflo --skill cost-benchmark --agent claude-code # Cursor npx -y skills add ruvnet/ruflo --skill cost-benchmark --agent cursor # Codex npx -y skills add ruvnet/ruflo --skill cost-benchmark --agent codex # Gemini CLI npx -y skills add ruvnet/ruflo --skill cost-benchmark --agent gemini # Windsurf npx -y skills add ruvnet/ruflo --skill cost-benchmark --agent windsurf # Cline npx -y skills add ruvnet/ruflo --skill cost-benchmark --agent cline ``` ## Qué hace - Corre el benchmark del corpus estructural+adversarial contra `agent-booster` local, con baselines opcionales de Gemini/Sonnet/Opus. - Guarda resultados por caso y un resumen en `docs/benchmarks/runs/`, incluyendo el `winRate` de la Tier 1. - Es el gate de verificación que respalda cada afirmación medible de `cost-booster-edit` y `cost-booster-route`. ## Cuándo usarla - Antes de publicar un release, para verificar que el win rate del booster no haya bajado. - Después de ampliar el corpus de casos, para confirmar que las nuevas pruebas enrutan correctamente. - Al auditar una etiqueta 'claimed upstream' para pasarla a 'verified' una vez respaldada por el benchmark. ## Qué la activa - "Corre el benchmark de costos antes de publicar el release" - "Verifica si el win rate del booster bajó" - "Compara el costo de Sonnet 4.6 contra Opus 4.7 en estas tareas" ## Antes de instalar - Requiere ejecutarse desde `v3/` para que `agent-booster` resuelva; las claves API se toman de `gcloud secrets` o variables de entorno. - Necesita en el PATH: node - runs shell commands ## Archivos - SKILL.md — 3 KB ## SKILL.md Reproducido tal cual desde ruvnet/ruflo bajo MIT. Esta sección es el documento original y está en inglés. # 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/.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`). ## Dónde encaja - Categoría: [Testing y QA](https://skillsagentes.com/categorias/testing-qa.md) — Flujos de testing unitario, de integración y end-to-end. - Creador: [ruvnet](https://skillsagentes.com/creators/ruvnet.md) — 275 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Harness Gepa](https://skillsagentes.com/skills/ruvnet/ruflo/harness-gepa.md): Inspecciona y audita genomas GEPA: carga y valida un genoma, renderiza el system prompt que compila, o clasifica los modos de fallo de una transcripción de ejecución. - [Deepseek Reason](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-reason.md): Completion en modo razonamiento contra deepseek-reasoner (R1) de DeepSeek. Devuelve el chain-of-thought por separado de la respuesta final. Lee DEEPSEEK_API_KEY y degrada si falta o la API no responde. - [Deepseek Chat](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-chat.md): Completion de un solo turno contra el modelo deepseek-chat de DeepSeek vía /v1/chat/completions. Lee DEEPSEEK_API_KEY y degrada con status:degraded si falta o la API no responde. Para tareas sin razonamiento. - [Adr Index](https://skillsagentes.com/skills/ruvnet/ruflo/adr-index.md): Construye o reconstruye el índice de ADRs y su grafo de dependencias ejecutando scripts/import.mjs, en vez de cientos de llamadas MCP. - [Agntcy Status](https://skillsagentes.com/skills/ruvnet/ruflo/agntcy-status.md): Muestra el estado de la integración AGNTCY/SLIM/CASA: si los paquetes están instalados, qué transporte está activo y si el enforcement de CASA está habilitado. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)