From act
Orchestrates a complete software release: pre-flight checks, changelog update, version bump, git tag, and GitHub release. Use when cutting a release, tagging a version, or publishing a new version of the project. **PROACTIVE ACTIVATION**: Invoke when user says 'release', 'cut a release', 'tag a release', 'ship v1.x', 'publish version', or '/release'. **USE CASES**: Tagging main after a sprint, releasing a library version, preparing a versioned deployment.
How this skill is triggered — by the user, by Claude, or both
Slash command
/act:releaseThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- **Changelog**: skill: `changelog` — classify commits, determine version bump, write CHANGELOG.md entry
changelog — classify commits, determine version bump, write CHANGELOG.md entrygit-commit — commit the release changes with a conventional messagecreate-pr — open a release PR after updating the changelogA release is a sequence of discrete steps. Complete each one before moving to the next, and confirm with the user before pushing anything to the remote.
Verify the repository is in a clean, releasable state:
# Must be on main (or the designated release branch)
git branch --show-current
# Working tree must be clean
git status
# Must be up to date with remote
git fetch origin
git log HEAD..origin/main --oneline # should be empty
# Show commits since last tag (what will be released)
git describe --tags --abbrev=0 # last tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline --no-merges
Stop if:
Invoke the changelog skill here. It will:
CHANGELOG.mdConfirm the proposed version and changelog content with the user before continuing.
After confirming the version, update the version string wherever the project declares it.
Detect which files to update:
# Common version files — check which exist
ls package.json pyproject.toml Cargo.toml mix.exs version.rb VERSION 2>/dev/null
Update the version field in whichever files are present:
# Node.js / npm
npm version <new-version> --no-git-tag-version
# Or edit manually for other ecosystems
# Python: pyproject.toml → [project] version = "x.x.x"
# Ruby gem: version.rb → VERSION = "x.x.x"
# Plain file: echo "x.x.x" > VERSION
Use the git-commit skill with a conventional release commit:
git add CHANGELOG.md package.json # (and any other version files updated)
git commit -m "chore: release vX.X.X"
# Annotated tag with the changelog entry as the message
git tag -a vX.X.X -m "Release vX.X.X"
# Review what will be pushed
git log --oneline -3
git tag -l "vX.X.X"
Confirm with the user before pushing.
# Push commit and tag together
git push origin main
git push origin vX.X.X
Extract the changelog entry for this version to use as the release body:
# Show the section for this version from CHANGELOG.md
awk '/^## \[X\.X\.X\]/,/^## \[/' CHANGELOG.md | head -n -1
Create the release:
gh release create vX.X.X \
--title "vX.X.X" \
--notes "$(awk '/^## \[X\.X\.X\]/,/^## \[/' CHANGELOG.md | head -n -1)"
For a pre-release:
gh release create vX.X.X --prerelease --title "vX.X.X (pre-release)" --notes "..."
Depending on the project, additional publish steps may be needed. Check and run only what applies:
# npm package
npm publish
# Python package
uv build && uv publish
# Ruby gem
gem build *.gemspec && gem push *.gem
These are opt-in — only run if the project is a published package.
| Step | Action | Requires confirmation |
|---|---|---|
| 1 | Pre-flight checks | — |
| 2 | Changelog + version decision | Yes — confirm version |
| 3 | Update version files | — |
| 4 | Commit release changes | — |
| 5 | Tag + push | Yes — before pushing |
| 6 | GitHub release | Yes — review release notes |
| 7 | Publish (if applicable) | Yes |
package.json, etc.)chore: release vX.X.Xgit tag -a vX.X.Xnpx claudepluginhub mguinada/ai-coding-toolkit --plugin actValidates and executes software releases with changelog generation, version bumping, git tagging, and CI verification.
Automates releases on GitHub, GitLab, or Gitea: detects platform, computes semver bump, generates notes from PRs/commits, previews before tagging/publishing.
Plans and executes software releases: inventories git changes, applies semantic versioning, generates changelog and release notes, updates files, creates tags, and publishes to GitHub. Use before new versions.