releaselisted
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