/harness-bench
Create (`bench create {repo}`) or verify (`bench verify {suite.json}`) a @metaharness/darwin bench suite, the fixed corpus `harness-evolve --bench` scores variants against. Use when preparing an evolution benchmark. Degrades gracefully without darwin.
Claude Code
$ npx -y skills add ruvnet/ruflo --skill harness-bench --agent claude-code
Codex
$ npx skills add ruvnet/ruflo --skill harness-bench -a codex -y
Cursor
$ npx skills add ruvnet/ruflo --skill harness-bench -a cursor -y
Gemini CLI
$ npx skills add ruvnet/ruflo --skill harness-bench -a gemini-cli -y
GitHub Copilot
$ npx skills add ruvnet/ruflo --skill harness-bench -a github-copilot -y
OpenCode
$ npx skills add ruvnet/ruflo --skill harness-bench -a opencode -y
Windsurf
$ npx skills add ruvnet/ruflo --skill harness-bench -a windsurf -y
SKILL.md
harness-bench.SKILL.mdname: harness-bench
description: Create (`bench create {repo}`) or verify (`bench verify {suite.json}`) a @metaharness/darwin bench suite, the fixed corpus `harness-evolve --bench` scores variants against. Use when preparing an evolution benchmark. Degrades gracefully without darwin.
argument-hint: "--op create --repo <path> [--out <path>] | --op verify --suite <path>"
allowed-tools: Bash
disable-model-invocation: trueSurfaces `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`](../../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
| Code | Meaning | |---|---| | 0 | OK (or degraded — Darwin absent) | | 1 | `--op verify` and suite malformed | | 2 | Config 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.
Read more
name: harness-bench
description: Create (`bench create {repo}`) or verify (`bench verify {suite.json}`) a @metaharness/darwin bench suite, the fixed corpus `harness-evolve --bench` scores variants against. Use when preparing an evolution benchmark. Degrades gracefully without darwin.
argument-hint: "--op create --repo <path> [--out <path>] | --op verify --suite <path>"
allowed-tools: Bash
disable-model-invocation: trueSurfaces `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`](../../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
| Code | Meaning | |---|---| | 0 | OK (or degraded — Darwin absent) | | 1 | `--op verify` and suite malformed | | 2 | Config 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.
📖 RuFlo Explained — Build an AI Team That Plans, Remembers, Tests, and Improves A 14-chapter guide: from the basic idea to a first useful task, then memory, agent teams, plugins, cost and verification. Agent = Model + Harness.
Other skills on ruflo.
More skills from other plugins.
agentmail
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
bmad
Answers BMad questions and recommends the next skill from what is installed. Use when the user asks bmad for help, what to do…
Questions about harness-bench.
- Which coding agents can use harness-bench?
- harness-bench installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

