preflightlisted
Install: claude install-skill mik2win/foureyes
# Preflight: $ARGUMENTS
The last gate before code leaves the machine. `/close-epic` settles the *plans*; this settles
the *release*: everything between "the code is done" and "the code is out" that is checkable,
checked once, in one report. Propose-only — the deploy command is **suggested, never run**
(the kit's code-publish policy stands: the user ships).
`$ARGUMENTS` optionally names the release scope (a tag/ref like `v1.4.0..HEAD`, a branch, or
free text); empty = resolve in Phase 1.
---
## Phase 0 — Load profile
1. Read `.claude/PROJECT.md` — **Commands** (test, lint, typecheck), **Deploy mapping**,
**Integrations**, **Plans location**. If missing or `TEMPLATE`, fall back to the root `CLAUDE.md`
(always in context) when it carries those commands — note you're running without a kit profile;
**STOP**: run `/bootstrap` only if *neither* has them.
2. Read `.claude/rules/_generic/code.md` and any release/CI conventions in the profile.
3. If `CONTEXT.md` exists, read it — the changelog speaks the project's language.
## Phase 1 — Resolve the release scope
Determine what is shipping, in order of preference:
1. `$ARGUMENTS` as a ref/range → `git log --oneline <range>` + `git diff <range> --stat`.
2. Last release tag → `git describe --tags --abbrev=0` then `<tag>..HEAD`.
3. No tags → merge-base with the default branch, or ask via `AskUserQuestion`.
List the commits and changed files that constitute the release. **If the working tree is
dirty, flag it first** — shi