ilk-shiplisted
Install: claude install-skill inluck-net/ilk-skills
# ilk-ship — the five phases
A release is a sequence, not a single action. Each phase has a hard
entry/exit condition. Phase 0 is non-skippable — a batch whose own
sub-plans are unproven must not be released.
**`shipped` is commit-only and local.** It is not pushed, not
CI-verified, not deployed. A sub-plan marked `shipped` has a commit
for every step and a green local gate on this machine. Nothing more.
This is the misreading the whole `ilk-ship` batch exists to correct.
## When to use
- The user says `/ilk-ship`, "ship the batch", "release this batch",
or "deploy".
- After a batch's sub-plans are all `shipped` and the operator wants
to cut a release tag and install on declared hosts.
## Prerequisites
Read these before executing any phase:
- `skills/ilk-ship/scripts/gate_scope.py` — tier selection and
complement subtraction (Phase 1 engine).
- `skills/ilk-ship/scripts/baseline_diff.py` — node-id diff against
a named tag baseline (Phase 1 engine).
- `skills/ilk-loop/scripts/ship_audit.py` — step-commit presence +
gate-outcome predicate (Phase 0 engine).
## The five phases
| # | Phase | Engine | Blocking? | Loops to |
|---|---|---|---|---|
| 0 | **Audit** — every `shipped` sub-plan has a commit per step and a green final gate | `ship_audit.py` | **yes** — hard stop | — |
| 1 | **Verify** — select the tier, run it, apply both floors | `gate_scope.py`, `baseline_diff.py` | **yes** on attributed regressions | Phase 2 |
| 2 | **Fix** — resolve only what Phase 1