Skip to main content
ClaudeWave
Skill119 repo starsupdated today

score-harness

Score-harness evaluates generated agent harnesses across five dimensions (repository understanding, agent usefulness, MCP safety, test coverage, and publish readiness) to produce a single 0-100 score with letter grade and a six-field badge block for README documentation. Use this skill after harness generation to assess quality, gate publication decisions via exit codes (0 for A/B grades, 1 for C, 2 for F), and surface readiness signals including MCP risk level and presence of security artifacts like signed witnesses and software bills of materials.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/ruvnet/agent-harness-generator /tmp/score-harness && cp -r /tmp/score-harness/.claude-plugin/skills/score-harness ~/.claude/skills/score-harness
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# 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)
compare-harnessesSkill

Diff two scaffolded harnesses (ADR-031). Reports manifest meta drift + host list + per-file fingerprint changes (added/removed/changed). Exits 0 IDENTICAL, 1 DRIFT, 2 missing manifest. Use --bundle for the ADR-031 schema-1 JSON envelope.

create-harnessSkill

Scaffold your own focused AI agent harness — pick host (Claude Code, Codex, pi.dev, Hermes), template, agents, skills, and ship a npm-publishable harness with its own npx CLI. Use when a user asks to "create my own agent harness", "scaffold a harness", "make a custom Claude Code plugin like ruflo", or "build a vertical AI assistant for X".

diag-harnessSkill

Kernel-version skew check (ADR-027). Reports manifest surface + manifest kernel + installed kernel + verdict (match/patch-diff/minor-diff/major-diff). Exits 1 on minor/major skew with a copy-pasteable `npm install @metaharness/kernel@X.Y.Z` next step. Exits 2 if no .harness/manifest.json at path.

example-harnessSkill

Scaffold a ready-made AI agent harness in one command from the 19 published @metaharness/* example packages — 9 host integrations (Claude Code, Codex, Hermes, pi.dev, OpenClaw, RVM, Copilot, OpenCode, GitHub Actions) + 10 vertical pods (devops, research, trading, support, legal, coding, education, sales, gaming, repo-maintainer).

harness-secretsSkill

GCP Secret Manager integration: validate setup, fetch values, or confirm an NPM_TOKEN is non-revoked via `npm whoami`. Used for publish-time token rotation without long-lived keys in CI.

list-templatesSkill

List the available harness templates and what each one ships with. Use when the user asks "what templates are available", "what verticals does the harness generator support", or "show me what I can scaffold".

oia-manifestSkill

Emit .harness/oia-manifest.json declaring layer alignment with the OIA v0.1 9-layer reference architecture. Self-describes the harness's MCP wiring, witness signing, audit log, identity posture (always 'none' at v0.1). --check verifies an existing manifest, --dry-run prints without writing, --json emits to stdout.

publish-harnessSkill

Publish a generated harness to npm — runs the smoke test, signs the witness manifest, and dispatches `npm publish --provenance` from your tagged release.