Agent skill

Diag Harness

by ruvnet in ruvnet/metaharness

Kernel-version skew check (ADR-027). An agent skill from ruvnet/metaharness.

MITAuto-check passedDevelopment

Install Diag Harness

skills CLI
$ npx skills add ruvnet/metaharness --skill diag-harness -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ruvnet/metaharness diag-harness --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ruvnet/metaharness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude-plugin/skills/diag-harness .claude/skills/diag-harness && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
diag-harness
GitHub stars
696
Token cost
~835 tokens
SKILL.md length
282 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

Kernel-version skew check (ADR-027). An agent skill from ruvnet/metaharness.

  • Tasks that involve Architecture decision records
  • SKILL.md covers What it does, Usage from Codex, Equivalent CLI and Sample output, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Tasks that involve Project scaffolding

What it does

Diag Harness is an agent skill from ruvnet/metaharness. 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.

Its SKILL.md is about 840 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Architecture decision records and Project scaffolding. It works with npm and Model Context Protocol. The repository describes itself as: 🛠️ The meta-harness for AI agents — scaffold your own focused, branded agent harness with its own npx CLI, MCP server, memory, learning loop, and witness-signed releases. Works… The licence is MIT.

When your agent uses it

  • Tasks that involve Architecture decision records
  • Tasks that involve Project scaffolding

Example prompts

  • “/diag-harness”

Requirements

  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit e0dfd44. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Diag Harness loads about 835 tokens when it runs. Until then it costs about 78 tokens; SKILL.md has 282 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~78
When it runs · the whole SKILL.md, loaded when a task matches
~835

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ruvnet/metaharness at commit e0dfd44, republished under its MIT licence (© ruvnet). 282 words, ~835 tokens.

Download SKILL.mdSave it as .claude/skills/diag-harness/SKILL.md (or your agent's skills folder).
name
diag-harness
description
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.

diag-harness

Codex skill: kernel-version skew check for a scaffolded harness — the ADR-027 diagnostic UX loop.

What it does

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:

FieldSourceMeaning
meta.surfaceiter 56Which surface produced the harness (cli or web-ui)
meta.kernel_versioniter 58The @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.

VerdictExitMessage
match0PASS kernel versions match exactly
patch-diff0WARN patch-level skew (usually safe; may include bugfixes)
minor-diff1WARN minor-level skew (new kernel features may be missing) + Run: npm install @metaharness/kernel@X.Y.Z
major-diff1FAIL MAJOR skew — APIs may have changed; expect breakage + Run: npm install @metaharness/kernel@X.Y.Z
no .harness/manifest.json at path2FAIL no .harness/manifest.json found at this path

Usage from Codex

/diag-harness                           # cwd
/diag-harness path=./my-harness

Equivalent CLI

bash
harness 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.

Sample output

harness diag — checking /tmp/my-harness

  surface:              cli
  manifest kernel:      0.1.0
  installed kernel:     0.1.0

  PASS kernel versions match exactly

When to run

  • After cloning someone else's harness — first thing
  • After bumping @metaharness/kernel in a harness's package.json
  • When harness doctor fails with cryptic shape errors (skew is the usual cause)
  • In CI before any other harness subcommand — fail fast

Lifecycle position

scaffold (create-agent-harness)
    ↓
 your code lives in the harness
    ↓
 diag (this skill)           <- before anything else, check compatibility
    ↓
 doctor / validate / sign / publish
  • ADR-027 — CLI ↔ Web-UI integration (the parity contract diag enforces)
  • iter 56 — manifest.meta.surface added
  • iter 58 — manifest.meta.kernel_version stamped at scaffold time
  • iter 66 — harness diag subcommand

© ruvnet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude-plugin/skills/diag-harness of ruvnet/metaharness.

Open the folder on GitHubat commit e0dfd44

Compare with similar skills

Diag Harness next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Diag Harness compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Diag Harness this skillruvnet/metaharness696—~835Automated safety check: PassMIT
Tsed CLItsedio/tsed3.1k—~2.7kAutomated safety check: PassMIT
MCP Server Trello Releasedelorenj/mcp-server-trello445—~3.5kAutomated safety check: PassMIT
Appbuilder Project Initadobe/skills197—~6.4kAutomated safety check: NotesApache-2.0
Cabloy Spec Generationcabloy/cabloy982—~3.2kAutomated safety check: NotesMIT
Init Tauri Appglebis/claude-skills391—~1.5kAutomated safety check: PassMIT

Similar skills

  • Tsed CLI

    tsedio/tsed

    Scaffolds Ts.ED v8 projects and generates files with the Ts.ED CLI v7, through its MCP server (tools set-workspace, init-project, list-templates, get-template, generate-file) or the tsed binary…

    3.1k GitHub stars~2.7k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • MCP Server Trello Release

    delorenj/mcp-server-trello

    Canonical build → release → tag → publish procedure for the @delorenj/mcp-server-trello repo.

    445 GitHub stars~3.5k tokensUpdated 17 days ago
    DevelopmentAuto-check passed
  • Initialize an Adobe App Builder project end-to-end and prepare the machine to build one.

    197 GitHub stars~6.4k tokensUpdated yesterday
    DevelopmentAuto-check: notes
  • A skill your agent uses to create or maintain Cabloy suite specifications under repo-specs, including PRD, SRS, PDP/WBS, acceptance planning, progress, and suite ADRs.

    982 GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check: notes
  • Init Tauri App

    glebis/claude-skills

    Scaffold a new Tauri v2 project with the cenno/cull house conventions — delegates boilerplate to npm create tauri-app, then layers an opinionated core plus opt-in modules (CLI+MCP, SQLite…

    391 GitHub stars~1.5k tokensUpdated 3 days ago
    MobileAuto-check passed
  • Octocode Code Research

    bgauryy/octocode

    Researches code with evidence: traces callers, imports and cross-repo links, diagnoses failures and reports findings with exact file and line references and a confidence label.

    949 GitHub stars~1.5k tokensUpdated 2 days ago
    DevelopmentAuto-check passed

More from ruvnet/metaharness

All 14 skills in this repo
  • Create Harness

    ruvnet/metaharness

    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.

    696 GitHub stars~777 tokensUpdated yesterday
    Auto-check passed
  • Compare Harnesses

    ruvnet/metaharness

    Diff two scaffolded harnesses (ADR-031). An agent skill from ruvnet/metaharness.

    696 GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Example Harness

    ruvnet/metaharness

    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…

    696 GitHub stars~735 tokensUpdated yesterday
    Auto-check passed
  • Oia Manifest

    ruvnet/metaharness

    Emit .harness/oia-manifest.json declaring layer alignment with the OIA v0.1 9-layer reference architecture.

    696 GitHub stars~910 tokensUpdated yesterday
    Auto-check passed
  • Repo Genome

    ruvnet/metaharness

    7-section readiness scorecard for a LOCAL repo. An agent skill from ruvnet/metaharness.

    696 GitHub stars~772 tokensUpdated yesterday
    Auto-check passed
  • Score Harness

    ruvnet/metaharness

    5-dimension scorecard (0-100, grade A/B/C/F) for a scaffolded harness.

    696 GitHub stars~613 tokensUpdated yesterday
    Auto-check passed

Questions about Diag Harness

What does Diag Harness do?

Kernel-version skew check (ADR-027). An agent skill from ruvnet/metaharness. Diag Harness is an agent skill from ruvnet/metaharness. Kernel-version skew check (ADR-027).

When should I use Diag Harness?

Diag Harness fits situations like: tasks that involve Architecture decision records; tasks that involve Project scaffolding.

How do I install Diag Harness in Claude Code?

Run `npx skills add ruvnet/metaharness --skill diag-harness -a claude-code`. Or copy the skill folder (.claude-plugin/skills/diag-harness in ruvnet/metaharness) into .claude/skills/diag-harness in your project. Claude Code loads it when a task matches its description.

How do I install Diag Harness in Codex?

Run `npx skills add ruvnet/metaharness --skill diag-harness -a codex`. Or copy the skill folder (.claude-plugin/skills/diag-harness in ruvnet/metaharness) into .agents/skills/diag-harness in your project. Codex loads it when a task matches its description.

Can I use Diag Harness in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ruvnet/metaharness --skill diag-harness -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/diag-harness, .gemini/skills/diag-harness, .github/skills/diag-harness and .opencode/skills/diag-harness in your project.

What does Diag Harness need to run?

SKILL.md names no scripts, command-line tools or credentials: Diag Harness is instructions for the agent only. Our summary lists: Node.js.

Does Diag Harness access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Diag Harness safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Diag Harness use?

Diag Harness is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Diag Harness use?

About 835 tokens (SKILL.md is roughly 3.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Diag Harness?

Skills that share tags, products or a category with Diag Harness: Tsed CLI (tsedio/tsed, 3.1k stars), MCP Server Trello Release (delorenj/mcp-server-trello, 445 stars), Appbuilder Project Init (adobe/skills, 197 stars) and Cabloy Spec Generation (cabloy/cabloy, 982 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Diag Harness?

ruvnet (a GitHub user) maintains it in ruvnet/metaharness, which has 696 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 10, 2026.

Source: ruvnet/metaharness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.