Skip to content
Back to skills

Score Harness

ASecurity

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.

  • 675 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added August 31, 2026
ai-agentsbashgit

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned August 31, 2026

npx -y skills add ruvnet/metaharness --skill score-harness --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Score Harness?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Score Harness
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ruvnet-score-harness/badge)](https://www.skillsdirectory.com/skills/ruvnet-score-harness)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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)

```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)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.