What problem does it solve? Cutting a release involves irreversible steps — a published version string can never be reused — yet teams often bump versions and push tags ad hoc without a consistent gate. This Skill enforces a disciplined, human-confirmed release procedure for the rcac-mcp project so no bad build ever becomes a permanent tag. ## Core Features & Use Cases - Two release modes: release for final versions on main and pre-release for alpha/beta/rc versions flagged with --prerelease on the GitHub release. - Non-negotiable quality gate: runs pytest, uv build --no-sources, twine check --strict, and an sdist-hygiene check that blocks internal directories from shipping in the tarball. - Isolated dry-run rehearsal: rehearses the version bump and full gate in a detached git worktree before any real ref moves, with an explicit human confirmation required before the first push. - Use Case: A maintainer runs /cm-release release 0.2.0 to bump pyproject.toml, update uv.lock, sign an annotated tag, and publish a GitHub release — all verified before anything irreversible happens. ## Quick Start Ask the assistant to cut release version 0.2.0 of the project, confirming before any push or publish step.