harness-learn

Runs GEPA learning cycles to evolve harness policy genomes against SWE-bench slice manifests.

70.1k|8.4k|Updated Jun 2, 2025
One-click install
npx skills add https://github.com/ruvnet/claude-flow --skill harness-learn
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: harness-learn
Source: https://github.com/ruvnet/claude-flow/tree/main/plugins/ruflo-metaharness/skills/harness-learn
Command: npx skills add https://github.com/ruvnet/claude-flow --skill harness-learn

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Manually iterating on harness policy prompts is slow and unmeasured. This Skill runs a GEPA learning cycle via metaharness learn that evolves harness genomes against a scored SWE-bench-style task corpus, promoting only candidates that measurably improve on held-out slices.

Core Features & Use Cases

  • Measured genome evolution: Candidates are scored on held-out slices and only winners promote, replacing hand-edited prompt iteration.
  • $0 dry-run by default: Resolves the slice manifest and reports cost without any model calls; --run is the explicit spend opt-in.
  • Graceful degradation: Without a metaharness checkout it reports checkout-required with clone instructions; without the npm package it reports a degraded state rather than failing.
  • Use Case: A harness policy underperforms on a task family, so you run a dry-run to price the learning cycle, then execute metaharness learn --run from a terminal with an appropriate timeout to promote an improved genome.

Quick Start

Ask the assistant to run a harness-learn dry-run against your slice manifest with your chosen host and model to see the estimated cost before committing any spend.

Frequently Asked Questions about harness-learn

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a GEPA learning cycle with metaharness?

Clone the metaharness repository, then invoke the learn script with --repo pointing to the checkout plus --host, --model, and --slice arguments. The default run is a $0 dry-run; add --run to execute the actual learning cycle.

How do I estimate the cost of a learning run before spending?

Run the skill without the --run flag. The default dry-run resolves the slice manifest and reports the projected cost without making any model calls, so pricing a run costs nothing.

Does harness-learn work without a metaharness checkout?

No, the learning harness requires a local clone of the metaharness repository passed via --repo or the METAHARNESS_REPO environment variable. Without one it exits 0 with a checkout-required status and clone instructions rather than an error.

Why does my learning run time out?

Default timeouts are 120 seconds for dry-runs and 600 seconds with --run, which is too short for large slices. Pass an explicit --timeout-ms matched to your slice size and model cost, and run real cycles from a terminal rather than the MCP tool.

What do the harness-learn exit codes mean?

Exit 0 means a report was produced, including dry-run, checkout-required, or degraded states. Exit 1 occurs only with --alert-on-fail when the learn run reports failure, and exit 2 indicates a configuration error such as a bad --repo path.