← ClaudeAtlas

releaselisted

Cut a new VibeTags release — bump the version everywhere, update the CHANGELOG, open the release PR, and create the GitHub release that triggers Maven Central publishing. Use when the user says "release", "/release", "cut a release", "publish a new version", or asks to bump VibeTags to a new version.
PIsberg/vibetags · ★ 4 · AI & Automation · score 70
Install: claude install-skill PIsberg/vibetags
# Release VibeTags Drives the release process documented in `docs/RELEASING.md`. That document is the source of truth; this skill is the executable path through it. If the two ever disagree, `docs/RELEASING.md` wins — and say so rather than silently improvising. ## Step 1 — Establish the current version and ask for the next one The single source of truth for "what version are we on" is the `<vibetags.version>` property in `vibetags-bom/pom.xml`: ```bash sed -n 's:.*<vibetags\.version>\(.*\)</vibetags\.version>.*:\1:p' vibetags-bom/pom.xml | head -n1 git tag --sort=-v:refname | head -5 ``` Then **ask the user which version to release** with `AskUserQuestion`. Compute the candidates from whatever the current version turns out to be — do not hardcode them: - If the current version is a release candidate (`X.Y.Z-RCn`), offer promoting it to final (`X.Y.Z`) and cutting the next candidate (`X.Y.Z-RC<n+1>`). - If the current version is final, offer the patch, minor, and major bumps, and a first release candidate for the next minor if that fits what is in `[Unreleased]`. Always include the semantic-versioning meaning in each option's description. The user can also type any version via "Other". Never guess and proceed — the version is always the user's call. Sanity-check the answer before continuing: it must be a release version (no `-SNAPSHOT` — Maven Central rejects those), and `git tag -l "v<version>"` must come back empty. ## Step 2 — Preflight Refuse to continue and