---
name: ruvnet/score-harness
source: https://app.decimal.ai/s/ruvnet-score-harness@1/SKILL.md
source_sha256: 5b6045a9457c
---

# score-harness

> Codex skill: 5-dimension harness scorecard with README-ready badges
> (iter 111 → iter 114).

## What it does

Every generated harness gets a single 0-100 score and a 6-field badge
block. The user roadmap target: **A grade (>=85) without manual edits.**

| Dimension | Weight | Reads |
|---|---|---|
| Repo understanding | 25% | `.harness/manifest.json` (surface + kernel_version + host) |
| Agent usefulness | 25% | `src/agents/*.ts` + `.claude/skills/*` + `.claude/commands/*` counts |
| MCP safety | 20% | `.harness/mcp-policy.json` (default-deny + audit + perm gates) |
| Test coverage | 15% | `__tests__/` + `npm test` + `.github/workflows/` |
| Publish readiness | 15% | `witness.json` + `sbom.json` + `package.json#bin` |

Grade + exit code:

| Grade | Range | Exit |
|---|---|---|
| **A** | 85-100 | 0 — the user's target |
| **B** | 70-84 | 0 |
| **C** | 50-69 | 1 (needs work) |
| **F** | 0-49 | 2 (blocked) |

## Badge block (the 6-field shape)

```json
{
  "score": 87,
  "mcpRisk": "Low",
  "releaseReady": true,
  "testsDetected": true,
  "sbom": true,
  "witnessSigned": true
}
```

`mcpRisk` is one of `None` / `Low` / `Medium` / `High`. Drop this block
into the generated harness README as visible badges — see ADR-030 for the
propagation discipline.

## Usage from Codex

```
/score-harness path=./my-harness
/score-harness path=./my-harness bundle=true
```

## Equivalent CLI

```bash
harness score ./my-harness                # text + bars + dimension breakdown
harness score ./my-harness --json         # 6-field badges JSON
harness score ./my-harness --bundle       # ADR-031 schema-1 envelope
harness score ./my-harness --out badges.json
```

## Related skills

- `validate-harness` (iter 22) — release-readiness umbrella that the
  score subcommand inherits signals from
- `diag-harness` (iter 70) — kernel-version skew (one of the
  Repo-understanding signals)
- `threat-model` (iter 114) — focused MCP threat artifact

## See also

- [ADR-030](../../../docs/adrs/ADR-030-discovery-loop.md) · [ADR-031](../../../docs/adrs/ADR-031-bundle-json-pattern.md)