| name | score-harness |
| description | 5-dimension scorecard (0-100, grade A/B/C/F) for a scaffolded harness. Dimensions: Repo understanding (25%), Agent usefulness (25%), MCP safety (20%), Test coverage (15%), Publish readiness (15%). Emits a 6-field badges block (score + mcpRisk + 4 booleans) ready for the harness README. Exit 0 A/B, 1 C, 2 F. |
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)
{
"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
harness score ./my-harness
harness score ./my-harness --json
harness score ./my-harness --bundle
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