# Harness Learn > Ejecuta un ciclo de aprendizaje GEPA con metaharness learn: optimiza el genoma de un harness contra un manifiesto de tareas tipo SWE-bench. Dry-run gratis por defecto; --run gasta de verdad. Fuente: https://skillsagentes.com/skills/ruvnet/ruflo/harness-learn Markdown: https://skillsagentes.com/skills/ruvnet/ruflo/harness-learn.md Repositorio: https://github.com/ruvnet/ruflo Autor: ruvnet Licencia: MIT Actualizado: el mes pasado Coste de contexto: 103 tok instalada, 807 tok al activarse, 807 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 harness-learn --agent claude-code # Cursor npx -y skills add ruvnet/ruflo --skill harness-learn --agent cursor # Codex npx -y skills add ruvnet/ruflo --skill harness-learn --agent codex # Gemini CLI npx -y skills add ruvnet/ruflo --skill harness-learn --agent gemini # Windsurf npx -y skills add ruvnet/ruflo --skill harness-learn --agent windsurf # Cline npx -y skills add ruvnet/ruflo --skill harness-learn --agent cline ``` ## Qué hace - Ejecuta metaharness learn para optimizar el genoma de política de un harness contra un corpus de tareas puntuadas. - Por defecto hace dry-run a coste cero; solo gasta con --run. - Sin un checkout local de metaharness, informa checkout-required con instrucciones de clonado. ## Cuándo usarla - El prompt de política de un harness rinde mal en una familia de tareas y quieres una mejora medida, no iteración manual. - Quieres calcular el coste de una ejecución de aprendizaje antes de gastar. ## Qué la activa - "Calcula el coste de un ciclo de aprendizaje sin gastar" - "Ejecuta metaharness learn sobre este slice con --run" ## Antes de instalar - Necesita un checkout local del repo metaharness (--repo o $METAHARNESS_REPO); sin él reporta checkout-required. - Necesita en el PATH: git, node - runs shell commands - makes network requests ## 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. Surfaces `metaharness learn` — the upstream GEPA learning harness that evolves harness policy genomes against a scored task corpus instead of hand-editing prompts. Candidates are scored on held-out slices and only measured winners promote (the shipped cand-6 genome is the first such promotion: holdout gold 2/12 → 3/12, zero regressions). ## When to use - A harness's policy prompt underperforms on a task family and you want a measured improvement loop rather than manual prompt iteration. - Pricing a learning run before committing spend — the default dry-run resolves the slice manifest and reports cost without any model calls. - After a learn run promotes a genome: pair with `harness-gepa --op render` to inspect what the promoted policy actually says. ## Preconditions (upstream design) The learning harness (GEPA + SWE-bench + Docker) is too heavy for the npm package, so `learn` needs a local clone: ```bash git clone https://github.com/ruvnet/metaharness.git node scripts/learn.mjs --repo ./metaharness --host claude-code --model haiku --slice slices/lite.json ``` Without a checkout the script emits `{status: "checkout-required"}` and exits 0 — a precondition report, not an error (distinct from `degraded: true`, which means the npm package itself is absent). The managed-service path (gateway-side learn jobs, no checkout) is upstream's ADR-235 follow-up and not available yet. ## Algorithm Implementation: [`scripts/learn.mjs`](../../scripts/learn.mjs). 1. Validate `--repo` exists when given; export it as `$METAHARNESS_REPO`. 2. Invoke the pinned `metaharness` binary (`metaharness@~0.3.0`, local install or one-time versioned cache — never `@latest`): `metaharness learn --host --model --slice [--run]` via `_harness.mjs` (graceful degradation, hard timeout). 3. Default timeouts: 120s dry-run, 600s with `--run` — real runs on larger slices need an explicit `--timeout-ms` matched to slice size × model cost. 4. Detect the checkout-required message → structured payload, exit 0. 5. Parse the trailing JSON report when upstream emits one; otherwise return the raw report text under `rawReport`. ## Cost note `--run` is the ONLY path that spends. Everything else — dry-run, checkout probe, degraded path — is $0. The MCP tool (`metaharness_learn`) has a 120s subprocess budget; run real learning cycles from a terminal via `ruflo metaharness learn ... --run --timeout-ms `. ## Exit codes - `0` — report produced (or dry-run, checkout-required, degraded) - `1` — `--alert-on-fail` and the learn run reported failure - `2` — config error (bad `--repo` path) ## Dónde encaja - Categoría: [Herramientas para desarrolladores](https://skillsagentes.com/categorias/herramientas-desarrollo.md) — Skills que cambian cómo tu agente escribe, revisa y despliega código. - 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)