Use this skill when the user asks to release a new version, publish to PyPI, bump the version, or cut a release. Handles the full release workflow: version bump, changelog update, commit, PR, and merge.
This skill handles the full release pipeline for testrail_api_module.
developmentdevelopment branch[Unreleased] section in CHANGELOG.md has contentThe skill accepts an optional argument specifying the version bump type or an explicit version number:
patch (default) — e.g., 0.6.1 -> 0.6.2minor — e.g., 0.6.1 -> 0.7.0major — e.g., 0.6.1 -> 1.0.00.7.0 or 1.0.0If no argument is given, default to patch.
developmentgit checkout development
git pull origin development
# Check current version
uv version --short
# Bump or set version
uv version --bump <patch|minor|major>
# OR for explicit version:
uv version <version>
Store the new version number for use in later steps.
CHANGELOG.md## [Unreleased] with ## [<version>] - <YYYY-MM-DD>
using today's date[Unreleased] section — that will be
done in the next development cycledevelopmentgit add -A--no-verify--no-verify to skip fixable issues like ruff errorsdevelopment and create PR to maingit push origin development
gh pr create --base main --head development \
--title "<summary> v<version>" --body "$(cat <<'EOF'
## Summary
<bullet points summarizing changes>
## Test plan
- [ ] CI tests pass across Python 3.11, 3.12, 3.13
- [ ] Docs build succeeds
Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
# Watch CI checks (timeout 5 minutes)
gh pr checks <pr-number> --watch
# Merge after CI passes (use --admin to bypass review requirement)
gh pr merge <pr-number> --admin --merge
Note: This repo does not allow squash merges. Always use --merge.
development with merged stategit checkout development
git pull origin development
Report to the user:
mainmain — do NOT manually create tagsmain requires PRs; use gh pr merge --admin
to bypass the review requirement--merge (not --squash) when merging PRsdevelopment first, then
development is merged into main for releases