release
/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 onmainHEAD and no WIP/fixup commits — then hands a green report to/publish, 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.
Defense-in-depth:
/publishnow performs the same pre-release CI-green check itself (so a direct/publishcall is still gated) and adds a post-release watch of the released commit'sgo/CIworkflows. Running/releasefirst stays the recommended path;evolve release(the raw binary) isgh-free and only prints a "CI not verified" advisory.
Procedure
Run in order. Any FAIL → print the reason and stop (do not delegate to /publish).