← ClaudeAtlas

cut-releaselisted

Cut a release from the Unreleased changelog section: version bump, release branch, PR, squash merge, tag, GitHub release
svyatov/agent-toolkit · ★ 0 · AI & Automation · score 78
Install: claude install-skill svyatov/agent-toolkit
# Cut Release Branch and status: !`git status --short --branch` Last tags: !`git tag --sort=-v:refname | head -5` Release workflows: !`ls .github/workflows 2>/dev/null || true` A release bot in those workflows (release-please, changesets) owns the bump, the changelog, the tag, and the release. Its open PR is the release: list PRs with `gh pr list --json number,title,headRefName,url` and take the one whose head starts `release-please--` or `changeset-release/`. Run only Steps 5.2, 5.3, 6.3, and 7 on it. The invocation is the go-ahead to merge. With no open bot PR, nothing is releasable yet: say so and stop. Take everything under the Unreleased heading (`## Unreleased` or `## [Unreleased]`) in CHANGELOG.md to a tagged release. Version override: $ARGUMENTS. ## Step 1: Preconditions Stop and say which one fails: - The working tree is clean and you are on the default branch, up to date with its upstream (`git pull` first). - The Unreleased section in CHANGELOG.md has at least one entry. - The last tag matches the version the project's version file carries. A mismatch means someone released by hand; ask before continuing. ## Step 2: Pick the version Empty argument: derive it from the Unreleased entries with the `oss-changelog` skill's rules. A breaking change or a `Removed` entry on a public API means major; a new feature means minor; fixes only means patch. Pre-1.0 projects: breaking goes to minor, everything else to patch. State the bump and the reason in one line bef