by ruvnet
🛠️ 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 with Claude Code, Codex, pi.dev, Hermes, OpenClaw, and RVM (hardware-isolated sandbox).
# Add to your Claude Code skills
git clone https://github.com/ruvnet/agent-harness-generatorGuides for using ai agents skills like agent-harness-generator.
Last scanned: 6/17/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@vitest/mocker: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "esbuild: esbuild enables any website to send any requests to the development server and read the response",
"severity": "high"
},
{
"type": "npm-audit",
"message": "vite: Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling",
"severity": "high"
},
{
"type": "npm-audit",
"message": "vite-node: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "vitest: Vulnerability found",
"severity": "critical"
}
],
"status": "FAILED",
"scannedAt": "2026-06-17T09:02:26.211Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}agent-harness-generator is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by ruvnet. 🛠️ 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 with Claude Code, Codex, pi.dev, Hermes, OpenClaw, and RVM (hardware-isolated sandbox). It has 131 GitHub stars.
agent-harness-generator failed SkillsLLM's automated security scan, which flagged one or more high-severity issues. Review the Security Report section carefully before using it.
Clone the repository with "git clone https://github.com/ruvnet/agent-harness-generator" and add it to your Claude Code skills directory (see the Installation section above).
agent-harness-generator is primarily written in TypeScript. It is open-source under ruvnet on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh agent-harness-generator against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
npx metaharness · open the Studio →
(Repo: ruvnet/agent-harness-generator · CLI: metaharness · Library: @ruvnet/agent-harness-generator)
Every serious repo deserves its own agent. A repo-aware CLI, a repo-aware coding agent, a local MCP server, memory scoped to the project, skills generated from the actual file layout, governance policy, release verification, witness-signed provenance.
metaharness mints those, on demand, from a GitHub URL or a blank slate. It is not another agent framework. It is a factory for agent frameworks.
The model is replaceable. The harness is the product.
In under 60 seconds, in your browser, with nothing leaving your machine:
Output is an npm-publishable .zip with your name on it, your branding, your npx <your-name> CLI.
npx metaharness score <repo> reads
the repo (never runs it) and prints a one-screen report card — how well a
harness fits, how likely it is to build, how safe the tools are, and the
rough cost per run — so you know what you'll get before scaffolding.@metaharness/router
routes each request to the right model from your own results — same quality,
far less spend. Works out of the box with zero native deps; train it on your
data for a sharper fit (npm i @metaharness/router). Add the optional
@ruvector/tiny-dancer
to train a fast native model instead — same training data, no API change.A generated harness is a starting point you own, not a fixed framework. Open it and make it yours:
harness doctor / harness validate keep it healthy as you trim.npm publish — now anyone on your team runs
npx @your-org/your-harness and gets the same repo-tuned agent. One
command, org-wide, versioned like any other dependency. (The 19
@metaharness/* examples are exactly this pattern,
published live.)Make older, cheaper models punch like frontier ones. The right harness isn't a pile of extra steps bolted onto an expensive model — it's putting the right model on each task and getting out of the way. Our DRACO benchmark proves it: a small, cheap model delivers frontier-quality research at roughly one-tenth the cost, and a smart router squeezes out the rest. Stop paying frontier prices for work a $0.10 model does just as well.
That router ships as @metaharness/router
— route(query) returns the cheapest model predicted to clear your quality bar,
learned from your own eval logs. npm i @metaharness/router.
# In the browser — zero install, nothing leaves the page
open https://ruvnet.github.io/agent-harness-generator/
# Or in the terminal — the same harness (behaviourally equivalent output)
npx metaharness my-bot --template vertical:coding --host claude-code
cd my-bot && npx . --help
Don't know what to pick? Run the wizard:
npx metaharness --wizard
Already have a repo you want a harness for?
harness analyze-repo . # local — deterministic analysis only
harness analyze-repo . --scaffold my-bot # materialise the recommended harness
No repository code is executed. Inferred build/test commands are emitted as trust: inferred · execution: disabled.
📖 Read the plain-language user guide →
The same harness output runs on nine agent hosts — eight interactive, plus GitHub Actions (CI/CD):
| Host | What ships | Notes |
|---|---|---|
| Claude Code | MCP server + hooks + 3-scope settings | Richest surface; Ruflo-native |
| OpenAI Codex | MCP via ~/.codex/config.toml |
TOML, no hooks |
| pi.dev | Pi extension via pi.registerTool() |
No MCP by design |
| Hermes | MCP runtime, <think> scrubbing |
Per Hermes issue #741 |
| OpenClaw | ~/.openclaw/openclaw.json + workspace skills |
Personal-AI gateway |
| RVM | Bare-metal microhypervisor + capability tokens | Hardware isolation for untrusted peers |
| GitHub Copilot | MCP via .vscode/mcp.json |
VSCode 1.99+ (ADR-032) |
| OpenCode | MCP via .opencode/opencode.json |
sst/opencode TUI (ADR-036) |
| GitHub Actions | .github/workflows/ + composite action.yml |
Non-interactive CI/CD; default-deny via permissions: (ADR-033) |
See ADR-004 — Host integration model and ADR-033 — GitHub Actions host.
MCP is included as a first-class adapter surface, not the identity. It is gated and default-deny (ADR-022):
off · local (stdio) · remote (HTTPS + auth)src/mcp/{server,tools,resources,prompts,policy,audit}.ts + a scannable .harness/mcp-policy.jsonharness mcp-scan <path> — "npm audit for agent tools": static-only scan flagging shell/network grants, missing audit/timeouts, wildcard permissions, unguarded secrets, unpinned deps. Exits 1 on any HIGH.npx metaharness --list
npx metaharness my-bot --template vertical:coding
| Category | Templates |
|---|---|
| Starter / Operations | minimal, vertical:devops |
| Engineering | vertical:coding, vertical:ai, vertical:repo-maintainer (iter 113) |
| Knowledge | vertical:research, vertical:ruview, vertical:education |
| Finance / Pro | vertical:trading, vertical:legal, vertical:health |
| Customer / Growth | vertical:support, vertical:crm, vertical:marketing, vertical:advertising, vertical:sales |
| Business / Frontier | vertical:business, vertical:agentics, vertical:gaming, vertical:exotic |
Each ships bespoke domain agents (with system prompts), skills, commands, and per-host settings — all default-deny.
Don't want to pick flags? Each host and vertical has a dedicated
@metaharness/* wrapper — published, one npx away, no template/host
flags to remember. A scaffold from a wrapper is byte-identical to the
equivalent metaharness invocation.
Host integrations
| Package | Scaffolds | npm |
|---|---|---|
npx @metaharness/claude-code my-bot |
Claude Code workspace + plugin | |
npx @metaharness/codex my-bot |
OpenAI Codex | |
npx @metaharness/hermes my-bot |
Hermes cli-config | |
npx @metaharness/pi-dev my-bot |
pi.dev AGENTS.md | |
npx @metaharness/openclaw my-bot |
OpenClaw .openclaw/ |
|
npx @metaharness/rvm my-bot |
RVM deployment partition | [![npm](https://img.shields.io/npm/v/@metaharness/ |