New to Claude Skills? Learn how to install them →

Hruvnet on GitHub

Harness Bench

Free

Manage and verify evolution bench suites for repositories.

by ruvnet67.6k stars on ruvnet/ruflo
2 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Harness Bench does

Harness Bench is a tool designed to facilitate the management of evaluation corpora for evolutionary testing in software repositories. By utilizing the @metaharness/darwin package, it allows developers to create and verify bench suites that serve as fixed evaluation standards. This decouples the process of evaluating evolutionary variants from the natural tests of the repository, enabling consistent scoring across different commits and forks.

The primary commands available are bench create <repo> and bench verify <suite.json>. The create command scaffolds a JSON suite based on the test corpus of a specified repository, while the verify command checks the well-formedness of an existing suite. This functionality is particularly useful when the standard npm test is unreliable or insufficient for evaluating evolutionary changes, as it provides a deterministic suite that can be used repeatedly.

Developers can benefit from using Harness Bench in various scenarios, such as setting up a new evolution pipeline for a repository with flaky tests, ensuring that the evaluation suite is verified on every pull request, or forking a harness to adapt it for a new domain without losing comparability to the original suite. The tool is designed to degrade gracefully when the @metaharness/darwin package is not available, ensuring that users can still operate with a clear indication of the absence of necessary components.

In summary, Harness Bench is an essential tool for developers looking to implement a robust and reliable evolution scoring system that enhances the testing and evaluation processes within their repositories.

When to use it

Use this tool when establishing a new evolution pipeline or when existing tests are unreliable or slow.

When not to use it

This skill is not suitable if you do not use `@metaharness/darwin` or if your repository's tests are already sufficient for your needs.

What you can build with it

Establishing a New Evolution Pipeline

When setting up a new evolution pipeline for a repo with unreliable tests, use Harness Bench to create a deterministic bench suite.

Continuous Integration Validation

Incorporate `bench verify` into your CI process to check the integrity of the bench suite on each pull request.

Forking a Harness

When adapting a harness for a new domain, copy and modify the existing suite to maintain comparability with the original evaluation.

How to install Harness Bench

View source

1. Install with the skills CLI

npx skills add ruvnet/ruflo/harness-bench --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by ruvnet

Surfaces metaharness-darwin bench <create|verify> — the supporting verb for harness-evolve --bench. Use when you want evolution scored against a fixed corpus (independent of npm test) so champion fitness is comparable across commits or across forks of the same harness.

When to use

  • Setting up a new evolution pipeline for a repo whose npm test is flaky, slow, or undersized — scaffold a deterministic bench suite once, then evolve against it repeatedly.
  • CI: bench verify the checked-in suite on every PR that touches it (cheap; ~5s).
  • Forking a harness to a new domain: copy and edit the suite to retarget the evaluation without losing comparability to the parent.

Algorithm

Implementation: scripts/bench.mjs.

--op create

  1. Resolve --repo path; reject if missing.
  2. Shell to metaharness-darwin bench create <repo> [--out <suite.json>].
  3. Default output path: <repo>/.metaharness/bench/suite.json (chosen by upstream).
  4. Suite shape (per upstream): array of { input, expectedOutput, weight } tasks derived from existing test cases.

--op verify

  1. Resolve --suite path; reject if missing.
  2. Shell to metaharness-darwin bench verify <suite.json>.
  3. Exit 1 if any task malformed (upstream's signal).

Output shape

{
  "success": true,
  "data": {
    "op": "verify",
    "taskCount": 42,
    "wellFormed": true,
    "durationMs": 870
  }
}

Exit codes

CodeMeaning
0OK (or degraded — Darwin absent)
1--op verify and suite malformed
2Config error or upstream invocation failure

Graceful degradation

When @metaharness/darwin is absent, emits the standard {degraded: true, reason: 'metaharness-darwin-not-available'} payload and exits 0.

Frequently asked questions about Harness Bench

Similar skills