Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/ruvnet-diag-harness/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | -25% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 838% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 1131% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -34% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 3% | 0% |
> Codex skill: kernel-version skew check for a scaffolded harness — the ADR-027 diagnostic UX loop.
Single-question check: does my local @metaharness/kernel match what this harness was scaffolded against? That's the cross-machine compatibility question almost every "this harness doesn't work" support ticket turns out to be.
Reads .harness/manifest.json:
| Field | Source | Meaning | |---|---|---| | meta.surface | iter 56 | Which surface produced the harness (cli or web-ui) | | meta.kernel_version | iter 58 | The @metaharness/kernel version stamped at scaffold time |
Resolves the local @metaharness/kernel via createRequire rooted at the harness's own package.json (real Node resolution). Computes the skew verdict and prints a copy-pasteable next step.
| Verdict | Exit | Message | |---|---|---| | match | 0 | PASS kernel versions match exactly | | patch-diff | 0 | WARN patch-level skew (usually safe; may include bugfixes) | | minor-diff | 1 | WARN minor-level skew (new kernel features may be missing) + Run: npm install @metaharness/kernel@X.Y.Z | | major-diff | 1 | FAIL MAJOR skew — APIs may have changed; expect breakage + Run: npm install @metaharness/kernel@X.Y.Z | | no .harness/manifest.json at path | 2 | FAIL no .harness/manifest.json found at this path |
/diag-harness # cwd
/diag-harness path=./my-harnessbashharness diag # cwd harness diag ./my-harness # explicit path harness diag ./my-harness --json # machine-readable for CI harness diag ./my-harness --bundle # support-ticket JSON (iter 90)
The --bundle form (iter 90) emits a single JSON snapshot of the diag report + sanitised manifest + @metaharness/* deps + Node/platform info — everything a maintainer needs to triage a bug report. Object keys matching secret|token|key|password|api_key are redacted so the bundle is safe to paste into a public GitHub issue.
harness diag — checking /tmp/my-harness
surface: cli
manifest kernel: 0.1.0
installed kernel: 0.1.0
PASS kernel versions match exactly@metaharness/kernel in a harness's package.jsonharness doctor fails with cryptic shape errors (skew is the usual cause)scaffold (create-agent-harness)
↓
your code lives in the harness
↓
diag (this skill) <- before anything else, check compatibility
↓
doctor / validate / sign / publishmanifest.meta.surface addedmanifest.meta.kernel_version stamped at scaffold timeharness diag subcommandOther measured skills in the registry, with their headline benchmark lift.