meta-harness — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited meta-harness (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
*Meta-Harness optimizes the harness, not the model. The harness is the code around a fixed base model that decides what to store, retrieve, compress, and show while the model works. You hold the model frozen and search over that scaffolding: propose candidate variants, score each on a cheap deterministic eval, keep a Pareto frontier* (quality up, cost down), and iterate. The proposer is an LLM agent writing code; the inner loop is a cheap scorer.
The Stanford repo (stanford-iris-lab/meta-harness) ships a Python driver — claude_wrapper.py (~720 lines) + meta_harness.py (~540 lines) — that reimplements an agent runtime to drive a headless Claude: spawn a session, parse stream-json, track tool calls, log everything, loop. You already are that runtime. So you run the same loop with native tools (Agent, Workflow, /loop) and keep only the irreducible domain logic — a $0 scorer. The orchestration was never the hard part; your harness provides it.
This skill is the method, reusable for any harness-optimization task. A fully worked example (optimizing proteus's campaign-memory summarizer) lives at ~/mh-proteus/ and is walked through in references/proteus-example.md.
Strong fit when several of these hold (full criteria in references/method.md):
prompting / tool scaffolding. (This is the whole premise — if the gain must come from the model weights, this is the wrong tool: do RL/fine-tuning instead.)
Poor fit: no stable eval loop, or purely subjective quality with no measurable criterion.
seed frontier with the incumbent harness (the thing to beat)
repeat until budget/convergence:
PROPOSE k candidate harness variants (proposer agents write code)
VALIDATE each imports / type-checks (cheap reject of broken candidates)
SCORE each on the held-out-protected eval set ($0 deterministic scorer)
FRONTIER Pareto-merge (quality up, cost down), floor-respecting
FINAL: score the frontier once on the untouched TEST splitThe proposer is the mutation+crossover operator. The frontier is the persistent search memory. The held-out test split is touched exactly once, at the end — never during the search.
The orchestration is native; the domain is yours. Build these five — templates in assets/, how-to in references/building-blocks.md:
drop-in implementation. If your harness logic is tangled into one big function, extract the boundary first. → assets/candidate_base-template.py
(see the frozen-replay trap below) and run with no LLM / no network so you can call it hundreds of times for free. → assets/scorer-template.py
so the test set shares no leaky structure with the search set.
mechanism-level changes (not constant-tuning) and enforces anti-leakage. → assets/proposer-prior-template.md
workflow variables). → scripts/pareto.py computes the frontier deterministically.
These are where naive harness searches silently fail. Full treatment in references/method.md.
run, a frozen trace), then a scaffolding candidate cannot change the recorded result — only the cost axis moves. A naive Pareto search then "wins" by emptying the context while the frozen quality score never drops, producing a confident, meaningless frontier. Fix: grade a quantity that genuinely varies with the candidate (retrieval relevance, compression fidelity, decision counterfactuals), and/or run quality as a one-sided do-no-harm floor rather than a maximize axis.
never the test split. Score test once, at the end.
a soft metric. Put a hard floor on quality (and fix any known reward bugs) so it cannot win by degrading the thing you actually care about.
must generalize to unseen tasks.
| Mode | Use when | How |
|---|---|---|
| Workflow (default) | a real search; want parallel proposers, journaled + resumable | assets/workflow-template.js via the Workflow tool |
| skill + `/loop` | leanest; you act as the proposer yourself, serially | a mini-skill body looped with /loop |
| Team | rarely — durable, long-lived proposer/scorer/curator roles | TeamCreate + tasks + messaging |
Default to Workflow — it is the closest 1:1 to the Python harness and the best for an actual search. The mapping from each Meta-Harness piece to its native equivalent, and full mode details, are in references/native-execution.md.
two Pareto axes (quality, cost), and the budget. Confirm fit against references/method.md. If you cannot name a cheap eval that varies with the candidate, stop and build one first.
assets/ templates (or reuse an existing scaffold like~/mh-proteus/). Validate the scorer runs at $0 on the incumbent before going further.
assets/workflow-template.js, set the workingdir, candidate count k, rounds/budget, and the floor.
round. Watch the frontier move (quality held at/above floor, cost dropping).
product.
once on the untouched test split, and (if the search used a proxy eval) validate the proxy ranking against the real metric. Never let an unvalidated candidate become the new incumbent.
references/method.md — theory, full fit criteria, the frozen-replay defect, all guardrails,how to choose the objective. Read when framing a new search or unsure about fit.
references/native-execution.md — the Meta-Harness→native mapping table and all threeexecution modes in depth (Workflow / loop / Team), including how scoring runs inside a Workflow.
references/building-blocks.md — how to build each of the five blocks, with worked patterns.references/proteus-example.md — the end-to-end worked example at ~/mh-proteus/.assets/workflow-template.js — the native search loop (the default mode). Parameterized.assets/scorer-template.py, assets/candidate_base-template.py,assets/proposer-prior-template.md — templates for the domain blocks you supply.
scripts/pareto.py — deterministic Pareto-frontier computation over a results JSONL.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.