← ClaudeAtlas

release-workflowlisted

End-to-end release process: semver level decisions from Conventional Commits, changelog generation, annotated git tags, GitHub Releases via gh CLI, version bump locations, hotfix branching, and CI automation shape. Use this skill whenever you are cutting a release, bumping a version, generating or updating a changelog, creating a git tag or GitHub Release, deciding which semver level to apply (major/minor/patch), handling a hotfix release, or working through a release checklist. If the user asks "what version should this be?", "how do I tag this?", "create a release", or "we need a hotfix" — load this skill first.
sardonyx0827/dotfiles · ★ 0 · AI & Automation · score 72
Install: claude install-skill sardonyx0827/dotfiles
# Release Workflow A repeatable, auditable release process built on Conventional Commits, annotated tags, and the `gh` CLI. Each section explains the command and why it matters. ## 1. Semver Decision from Conventional Commits Survey every commit since the last tag before picking a version level: ```bash git log $(git describe --tags --abbrev=0)..HEAD --oneline ``` Apply the highest-ranked change type found: | Commit signal | Semver bump | | ----------------------------------------------------------- | ----------- | | `fix:` | patch | | `feat:` | minor | | `BREAKING CHANGE:` footer or `!` after type (e.g. `feat!:`) | major | Precedence is strict: a single `feat!:` overrides all `fix:` commits in the same batch. When there are no conventional commits at all, default to patch and document why in the tag message. ❌ WRONG — picking minor because "it feels minor": ``` feat: add dark mode toggle fix: correct button alignment # Released as v1.2.1 (patch) — "it's just a toggle" ``` ✅ CORRECT — `feat:` mandates minor regardless of perceived size: ``` feat: add dark mode toggle fix: correct button alignment # Released as v1.3.0 (minor) ``` ## 2. Pre-Release Verification Never tag a commit you have not verified. Run all of the following before creating the tag: ```bash # 1. Working tree must be clean git sta