mcpField
H
harness-score

harness-score

github.com/ruvnetAgent workflows80.0k238 installsUpdated today
Repository

About harness-score

harness-score is a ruflo skill that runs metaharness to assess a repository’s readiness for harness adoption. It provides structured scores and can fail CI when harness fit falls below a threshold.

Key features

  1. 01Repository harness-readiness scoring
  2. 02JSON or Markdown output
  3. 03Configurable fit threshold for CI
  4. 04Graceful handling when metaharness is unavailable

Use cases

  1. 01Check a repository before recommending harness setup
  2. 02Fail CI when harness fit is below a chosen threshold

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/ruvnet/ruflo --skill harness-score

After installing, type/harness-scorein Claude Code to confirm it loaded.

Details

From the project README

Surfaces the upstream metaharness score CLI as a ruflo skill. Use when Claude Code needs to assess whether a repo is ready for harness adoption before recommending the user run npx ruflo init or harness-mint.

Algorithm

Implementation: scripts/score.mjs.

  1. Shell out to npx metaharness score <path> --json (single subprocess, 60s hard timeout).
  2. Parse the JSON shape: { harnessFit, compileConfidence, taskCoverage, toolSafety, memoryUsefulness, estCostPerRunUsd, recommendedMode, archetype, template, scaffoldReady, hardConstraints }.
  3. If --alert-on-fit-below N: exit 1 when harnessFit < N.
  4. Output JSON (default) or markdown table.

Phase-0 baseline (ruflo's own scorecard, measured 2026-06-16)

DimensionValue
harnessFit82/100
compileConfidence100
taskCoverage79
toolSafety100
memoryUsefulness40
estCostPerRunUsd$0.048
recommendedModeCLI + MCP
archetypetypescript-sdk-harness
templatevertical:coding
scaffoldReadytrue

Ruflo passes its own readiness check. memoryUsefulness: 40 is the weakest dimension — track this as a leading indicator for future memory work in the AgentDB layer.

CI integration

node plugins/ruflo-metaharness/scripts/score.mjs --alert-on-fit-below 70 --format json

Exit 1 fails the build. Pair with harness-genome for the full 7-section view.

Graceful degradation (ADR-150 architectural constraint rule #3)

When metaharness is not installed and npx can't fetch it (offline, no network, registry unreachable), the script emits:

{
  "degraded": true,
  "reason": "metaharness-not-available",
  "hint": "Install with `npm i -D metaharness@~0.4.1` (pinned range — this plugin never fetches @latest) or verify network access for the one-time cache install."
}

and exits 0. Ruflo continues to function — this is the architectural constraint in action.

Comments

Markdown supported