← ClaudeAtlas

releaselisted

Cut a release safely — assemble the changelog from what actually merged, bump the version, gate on green CI at the tag, run an SRE pre-flight (rollback + migration safety), then tag and (opt-in) publish.
saman-mb/shipmates · ★ 3 · AI & Automation · score 75
Install: claude install-skill saman-mb/shipmates
# /release — changelog → CI-green tag → (opt-in) publish Turn "what's merged since the last release" into a clean, reversible release. The `technical-writer` builds the changelog from the real merge history (every user-visible change covered), the version is bumped consistently, and it's gated on **green CI at the exact commit being tagged** plus an SRE pre-flight for rollback and migration safety. Publishing is opt-in. Input (**$ARGUMENTS**): an explicit version (`v1.4.0`) or a bump keyword (`patch`/`minor`/`major`) to derive it from the last tag via semver. If empty, infer the bump from the change set (breaking → major, features → minor, fixes only → patch) and propose it. --- ## Config - `PUBLISH_MODE` = `manual` (default: prepare the release — changelog, bump, tag candidate — and stop for a human to publish) or `auto` (create the tag/GitHub release once every gate passes). Opt into `auto` only where unattended releases are acceptable. - `VERSION_FILES` = wherever the repo records its version (`package.json`, `pyproject.toml`, `Cargo.toml`, `VERSION`, etc.) — discover them; keep them consistent. - **Versioning & changelog conventions** = the repo's own (SemVer + Keep a Changelog unless it says otherwise; honour an existing CHANGELOG format and any release checklist in CONTRIBUTING). - Orchestrator owns all git/gh; reuse session commit trailers. ## Stage 0 — Determine scope Find the last release tag (`git describe --tags --abbrev=0` / `gh release list`) and c