Agent skill
release-prep
Prepare a release including version bump, testing, and PR creation
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/release-prep
SKILL.md
Release Preparation Skill
Use this skill when preparing a new release of rhusky.
Release Workflow Overview
- Ensure all changes are committed and tests pass
- Bump the version
- Push and create PR
- After merge, CI automatically creates tag and publishes
Step 1: Pre-release Checks
Run all quality checks before releasing:
# Format check
cargo +nightly fmt --all -- --check
# Lint check
cargo +nightly clippy --all-targets --all-features -- -D warnings -W missing-docs
# Run tests
cargo test
Step 2: Check Current State
# Current version
grep '^version' Cargo.toml
# Check for uncommitted changes
git status
# Check latest git tag
git describe --tags --abbrev=0 2>/dev/null || echo "No tags yet"
Step 3: Bump Version
Choose the appropriate bump type:
- patch: Bug fixes, minor improvements (0.0.1 -> 0.0.2)
- minor: New features, backward compatible (0.1.0 -> 0.2.0)
- major: Breaking changes (1.0.0 -> 2.0.0)
- Edit
Cargo.tomland update theversionfield - Run
cargo update --workspace - Stage and commit:
git add Cargo.toml Cargo.lock
git commit -m "chore(version): bump X.Y.Z -> A.B.C"
Step 4: Verify the Bump
# Check the commit
git log -1
# Check what files changed
git diff HEAD~1 --stat
Step 5: Push and Create PR
# Push branch
git push origin HEAD
# Create PR (if on feature branch)
gh pr create --title "chore(version): bump to X.Y.Z" --body "Release X.Y.Z"
Step 6: After Merge
Once the PR is merged to main:
- CI runs tests (fmt, clippy, test on Linux/macOS/Windows)
- CI detects version change (compares Cargo.toml with latest git tag)
- CI creates git tag
vX.Y.Z - CI generates changelog from conventional commits using Cocogitto
- CI creates GitHub Release with changelog as release body
- CI publishes to crates.io
This is why all commits must follow Angular Conventional Commit style
(<type>(<scope>): <subject>) - Cocogitto parses these to generate
the changelog automatically.
Checking Release Status
# Check latest release on GitHub
gh release list --limit 1
# Check crates.io
cargo search rhusky
Troubleshooting
CI didn't create a release
Check that:
- The version in Cargo.toml differs from the latest git tag
- The merge was to the main branch
- CI workflow completed successfully
Need to re-release same version
You cannot republish the same version to crates.io. Bump to a new patch version instead.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?