harness-mint
Scaffold a custom AI agent harness via `metaharness new <name> --template <id> --host <id>`. Defaults to DRY-RUN (no writes) unless --confirm is passed. Refuses to write to the calling repo root or anywhere inside it. Honors ADR-150 architectural constraint + ruflo's "destructive-action confirmation" pattern.
npx skills add ruvnet/ruflo --skill harness-mint --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
The one write-capable skill in the plugin. Every other skill is pure-read. This one calls `metaharness new`, which writes a new directory tree. ## Safety (load-bearing) 1. **Dry-run by default.** Without `--confirm`, the script prints what it would do and exits 0 without touching disk. 2. **Refuses project root.** If `--target` resolves to the current working directory OR any path inside it, the script errors out with exit 2. Target must be an absolute path OUTSIDE the calling repo (default is a fresh `/tmp/ruflo-mint-<ts>-<name>/` dir). 3. **Refuses existing target.** Won't overwrite — must scaffold into a non-existent dir. 4. **Subprocess + 60s timeout.** No library import, no in-process execution. The mint stays sandboxed from ruflo's runtime. ## Algorithm Implementation: [`scripts/mint.mjs`](../../scripts/mint.mjs). 1. Validate `--name`, `--template`. Default `--host` to `claude-code`. 2. Resolve `--target` (default: temp dir). 3. Run safety checks (no project-root writes; target must not exist). 4. Without `--confirm`: emit dry-run plan, exit 0. 5. With `--confirm`: shell `npx metaharness new <name> --template <id> --host <id> --target <abs> --yes`. ## Templates `minimal`, `ve
- Safety (load-bearing)
- Algorithm
- Templates
- Hosts
- Example dry-run
- Why dry-run by default
What does the harness-mint skill do?
Scaffold a custom AI agent harness via `metaharness new <name> --template <id> --host <id>`. Defaults to DRY-RUN (no writes) unless --confirm is passed. Refuses to write to the calling repo root or anywhere inside it. Honors ADR-150 architectural constraint + ruflo's "destructive-action confirmation" pattern.
How do I install it?
Run `npx skills add ruvnet/ruflo --skill harness-mint --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From ruvnet/ruflo, a repository with 67,015 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.