# Vet

> Deep-vet one project idea through the four gates (CREATES/HONEST/SERVES/ENDURES) with a deliberately blind vetter agent, deliberate the result with the user, deliver a PLANT/RESHAPE/REFUSE verdict, and breed the honest twin when refusing. Use when the user asks whether an idea is good/pure/ethical/worth building, says "vet this", or picks a seedling from the garden to test.

- Skill: `nagisanzenin/vet` (Agent Skill)
- Install (CLI): `npx skillmds@latest add nagisanzenin/vet`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nagisanzenin/vet/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: nagisanzenin (https://skillmd.com/u/nagisanzenin)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/nagisanzenin/vet

---


# /vet — the Seed Test

Goal: one idea in, one honest verdict out — `PLANT`, `RESHAPE`, or `REFUSE` — with a
receipt, and an honest twin bred if the verdict isn't PLANT.

Resolve `$ROOT` and `$GARDEN_DIR` as in `skills/seed/SKILL.md`. Read
`$ROOT/doctrine/DOCTRINE.md` (the gates and vocabularies) and
`$ROOT/doctrine/EXEMPLARS.md` (calibration corpus).

## Step 1 — Neutralize (strip the pitch)

Restate the idea as a **mechanism spec** with zero adjectives:

- **parties**: everyone the system touches — users, providers, platforms, bystanders,
  the commons
- **flows**: value, money, data, attention — who gives what to whom
- **consent**: for each party bearing a cost — informed? at this scale/purpose?
- **builder keeps**: what the builder gets out of it

If material facts are missing, ask the user now — a vet on a vague spec is worthless.
Show the user the neutral spec in one compact block before proceeding; they must
recognize their idea in it.

## Step 2 — Blind vet

The invariant: **the vetter sees only the neutral mechanism spec.** No authorship,
no enthusiasm, no "the user loves this", no garden history. The blindness is the
point: it is the guard against vetting-by-flattery. The mechanism enforcing it
varies by platform; the invariant never does:

- **Claude Code**: spawn the `seed-vetter` agent (auto-delegated; fresh context).
- **Codex**: invoke it explicitly — `$seed-vetter, vet this mechanism spec: <spec>`
  (TOML port in `codex/agents/`; explicit invocation is Codex's model).
- **Other platforms**: spawn an isolated subtask/fresh context containing only
  `$ROOT/agents/seed-vetter.md`'s instructions plus the spec. If the platform has no
  isolated context at all, degrade honestly: run the gates yourself in a strictly
  spec-only frame and record `"vetter_blindness": "degraded-inline"` in the receipt.

The vetter returns strict JSON (schema in `agents/seed-vetter.md`).

## Step 3 — Map gates → verdict (mechanical, done by you, not the agent)

- `creates=TRANSFERRED` load-bearing → REFUSE; removable → RESHAPE
- `honest=DECEPTIVE` → REFUSE; `SHADED` → RESHAPE
- `serves=HOLLOW` → REFUSE (nothing worth a life's hours); `NICE_TO_HAVE` → user's call, say so plainly
- `endures=UNGUARDED` → never blocks PLANT alone, but the charter (tend) MUST add guards
- PLANT requires: `CREATED|EXCHANGED` + `TRANSPARENT` + `SERVES`

## Step 4 — Deliberate with the user

Walk the gates with the agent's evidence. The user may contest a gate with facts the
spec missed — if so, amend the spec and re-run the blind vet (facts changed, so the
judgment must). Never soften an enum to be kind; kindness here is accuracy. If it is
a 9router, say "this is a 9router" and point at the corpus entry that matches.

## Step 5 — Breed the honest twin (mandatory on RESHAPE/REFUSE)

Name the load-bearing impurity in one sentence. Keep the *need*, replace the
*mechanism*: propose 1–3 honest twins, rough-vet each on the spot (enums only).
A REFUSE that rescues the need into a PLANT-able twin is this skill's best outcome.

## Step 6 — Receipt and garden

Write `$GARDEN_DIR/receipts/<slug>-<YYYY-MM-DD>.json`:

```json
{"slug": "...", "date": "...", "spec": {...}, "gates": {...}, "verdict": "PLANT|RESHAPE|REFUSE",
 "load_bearing_impurity": "... or null", "honest_twins": [...], "deliberation_notes": "..."}
```

Update the garden entry (status `VETTED:PLANT` / `VETTED:RESHAPE` / `REFUSED`, gates,
verdict, receipt path). Twins the user wants to keep get planted as new SEEDLINGs.
Close: PLANT → offer `skills/tend/SKILL.md`.

