hv-decidelisted
Install: claude install-skill l4ci/hv-skills
**Print the banner below verbatim before any other action — skip if dispatched as a subagent.** See `references/banner-preamble.md`.
```
════════════════════════════════════════════════════════════════════════
⚖️ hv-decide · capture hard-boundary decisions to DECISIONS.md
triggers: "decide on X", "lock in Y" · pairs: hv-learn (passive)
═════════���══════════════════════════════════════════════════════════════
```
# hv-decide — Capture Hard-Boundary Decisions
Distill an active commitment from the current session into `.hv/DECISIONS.md`, organized by topic, so future work consults it as a hard constraint. Decisions are *active* (committed boundaries with forbids/permits) — distinct from `/hv-learn` which captures *passive* knowledge (gotchas, conventions, constraints to remember).
## Step 1 — Preflight
```bash
.hv/bin/hv-preflight
```
See `docs/reference/preflight.md` for exit-code handling.
**Initialize task list.** Follow the canonical pattern in `references/task-list-init.md` — load `TaskCreate(…)` via `ToolSearch select:TaskCreate,TaskUpdate` if needed, then create one task per phase below.
Phases:
1. *Mode* — default vs `--from-learning` vs `--from-spike` resolved (Step 1.5)
2. *Identify candidate* — boundary articulated; three-gate check passes (Step 2)
3. *Compose four parts* — rule, *Why*, **Forbids**, **Permits** drafted (Step 3)
4. *Confirmation gate* — manual user approval (never auto-invoked, Step 5)
5. *Merge & index update* — append to `DECISION