← ClaudeAtlas

releaselisted

Release workflow. Analyzes commits to recommend a version, generates release notes for review, creates a draft GitHub release, dispatches the reusable workflow, and monitors progress. Falls back to draft + manual tag when no workflow is detected.
tsukumogami/shirabe · ★ 0 · Code & Development · score 67
Install: claude install-skill tsukumogami/shirabe
# Release Cut a release. Handles version selection, precondition checks, blocker identification, release notes, draft creation, workflow dispatch, and monitoring. ## Invocation ``` /release [version] [--dry-run] ``` - **`/release`** -- analyzes commits and recommends a version - **`/release 0.3.0`** -- uses the specified version (`v0.3.0` also accepted) - **`/release --dry-run`** -- previews without side effects ## Phases ### Phase 1: Version Analysis Analyze conventional commits since the last release tag: ```bash LAST_TAG=$(git describe --tags --abbrev=0 --match 'v*' 2>/dev/null || echo "") ``` If no tag exists, this is the first release -- ask for version. Count commits by prefix since `$LAST_TAG`: | Prefix | Bump signal | |--------|------------| | `feat!:`, `fix!:`, `BREAKING CHANGE` | major | | `feat:` | minor | | `fix:`, `docs:`, `chore:`, `ci:`, `refactor:`, `test:` | patch | Normalize version input: accept both `0.3.0` and `v0.3.0`. ### Phase 2: Precondition Checks All must pass before proceeding: 1. **Clean working tree**: `git status --porcelain` is empty 2. **CI green on HEAD**: Check CI status using this fallback chain: - First try commit status: `gh api repos/{owner}/{repo}/commits/{sha}/status` - If state is `pending` with 0 check runs (common for squash-merge commits where CI ran on the PR branch, not the merge result), fall back to checking the latest workflow runs on the branch: `gh run list --branch main --limit 3 --json conclu