Skip to main content
ClaudeWave
Skill119 repo starsupdated today

create-harness

The create-harness skill scaffolds a branded AI agent harness with its own npx CLI, MCP server registration, memory backend, and npm-publishable package structure. Use this when users request custom agent harnesses for vertical domains like legal, trading, or support, or when they want to build Claude Code plugins, Codex skills, pi.dev extensions, or Hermes runtime configurations with their own agents and tools bundled together.

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

SKILL.md

# create-harness

This skill scaffolds an AI agent harness — your own focused, branded harness with its own `npx <name>` CLI, MCP server registration, memory namespace, learning loop, and marketplace identity.

## When to use this skill

Use this skill when the user wants any of:

- A custom MCP-server-backed AI assistant (legal, trading, support, ops, …)
- A Claude Code plugin that bundles their own agents/skills/prompts
- A Codex skill that wraps a kernel + tools
- A pi.dev extension or Hermes agent runtime config
- A standalone npm package they can `npm publish` under their own scope

## How to invoke

```
/create-harness
```

The skill asks for:

1. **Harness name** (kebab-case, e.g. `legal-redline`)
2. **Description** (one line)
3. **Host(s)** — Claude Code, Codex, pi.dev, Hermes (multi-select)
4. **Template** — `minimal` (default), `vertical:trading`, `vertical:support`, `vertical:devops`, `vertical:legal`, `vertical:research`, or `eject-from-ruflo`
5. **Memory backend** — AgentDB (default), SQLite-only, in-memory
6. **Routing strategy** — 3-tier (default) or single-tier
7. **Marketplace** — independent (no ruflo branding) or powered-by

## Under the hood

Calls `npx create-agent-harness <name>` with the user's choices, copies the chosen template into the current directory, runs the post-generation smoke test, and emits a `.harness/manifest.json` so future updates can `harness upgrade` cleanly (copier-style regenerate-diff-merge).

## Outputs

| File | Purpose |
|---|---|
| `package.json` | The harness's npm package, ready to `npm publish` |
| `bin/<name>.js` | The CLI binary your users invoke |
| `.claude/settings.json` (if Claude Code host) | MCP + hooks wiring |
| `.codex/config.toml` (if Codex host) | MCP table in TOML |
| `AGENTS.md` + `SYSTEM.md` (if pi.dev host) | Pi extension instructions |
| `cli-config.yaml` (if Hermes host) | Hermes runtime config |
| `.harness/manifest.json` | Generator state — drives drift detection (ADR-008) |
| `witness.json` | Ed25519-signed provenance manifest (ADR-011) |

## After scaffolding

The user can:

```bash
cd <name>
npm install
npm test
npm publish              # ship their harness to npm
# their users: npx <name> init
```

## Notes for the model

- This is a deterministic operation — defer to `create-agent-harness` for the actual file creation, do NOT generate harness file contents yourself
- The witness manifest is required — do not skip it
- If the user asks for "ruflo for X" or "my own ruflo", recommend `vertical:<X>` templates first and offer `minimal` as the fallback
- Multi-host is supported but increases the harness's surface area — recommend single-host for first-time users unless they explicitly need multi-host
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.

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.

repo-genomeSkill

7-section readiness scorecard for a LOCAL repo. Reports repo type + agent topology + MCP risk + test confidence + release readiness + recommended harness plan + scorecard. Exit 0 ready, 1 needs-work, 2 blocked. --json for the 6-field scorecard, --bundle for the ADR-031 schema-1 envelope.