Skip to content
Back to skills

Harness Mint

ASecurity

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.

  • 73,733 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 2, 2026
ai-agentsgoshellbashnodegitdevops

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add ruvnet/ruflo --skill harness-mint --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Harness Mint?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Harness Mint
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ruvnet-harness-mint/badge)](https://www.skillsdirectory.com/skills/ruvnet-harness-mint)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: harness-mint
description: 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.
argument-hint: "--name <id> --template <vertical:coding|minimal|…> [--host claude-code|codex|…] [--target /abs/path] [--confirm] [--format table|json]"
allowed-tools: Bash
---

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`, `vertical:coding`, `vertical:devops`, `vertical:support`,
`vertical:legal`, `vertical:research`, `vertical:trading`, `vertical:health`,
`vertical:education`, `vertical:sales`, `vertical:business`,
`vertical:crm`, `vertical:marketing`, `vertical:advertising`,
`vertical:ai`, `vertical:agentics`, `vertical:ruview`, `vertical:gaming`,
`vertical:repo-maintainer`, `vertical:exotic`.

## Hosts

`claude-code`, `codex`, `pi-dev`, `hermes`, `openclaw`, `rvm`,
`copilot`, `opencode`, `github-actions`.

## Example dry-run

```
$ node scripts/mint.mjs --name my-harness --template vertical:coding --host claude-code
# harness-mint (dry-run)

- action: metaharness new
- name: my-harness
- template: vertical:coding
- host: claude-code
- target: /tmp/ruflo-mint-1718560000-my-harness
- confirm: false
- willWrite: false

Re-run with `--confirm` to actually scaffold.
```

## Why dry-run by default

Ruflo's behavioral rules say "executing actions with care" — destructive
or repo-touching actions need confirmation. The dry-run output makes the
WHAT visible before the WHEN. A human sees `target`, decides, then
adds `--confirm` if happy.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.