releaselisted
Install: claude install-skill mickeyyaya/evolve-loop
# /release
> Release **readiness-gate**, not a release executor. It composes the checks that already exist (`evolve release-preflight`, `evolve release-consistency`) and adds the two gaps they miss — **CI green on `main` HEAD** and **no WIP/fixup commits** — then hands a green report to [`/publish`](../publish/SKILL.md), which owns the actual bump → changelog → ship → propagate lifecycle.
## Why this exists
`evolve release-preflight` already gates: clean tree, attached branch, semver bump, recent audit PASS, gate-test suites. `evolve release-consistency` already verifies the 6 version markers (plugin.json, marketplace.json, README, CHANGELOG, SKILL headings). Neither checks whether **GitHub CI is actually green on the commit you're about to release from**, nor screens for accidental WIP commits. This skill closes exactly those gaps — nothing more.
## Procedure
Run in order. Any **FAIL** → print the reason and stop (do not delegate to `/publish`).
1. **Preflight (5 gates)** — read-only:
```bash
$CLAUDE_PROJECT_DIR/go/bin/evolve release-preflight <target> --dry-run
```
Non-zero exit → stop.
2. **Consistency (version markers)**:
```bash
$CLAUDE_PROJECT_DIR/go/bin/evolve release-consistency <target>
```
Non-zero exit → stop.
3. **Gap 1 — CI green on `main` HEAD** (requires `gh`; if absent, report "cannot verify CI" and stop):
```bash
gh run list --branch main --limit 1 --json headSha,status,conclusion,url
```
Confirm `headSha` matches `gi