chore: add create-release-pr skill#74
Conversation
Add a Claude Code skill that creates version-bump release PRs for the Python SDK: branches off latest remote main, derives a semver suggestion from the code changes since the last release tag (user confirms or overrides), bumps pyproject.toml + uv.lock via `uv sync`, runs `make check`, and opens the PR. Also adds a "Release / version bump" item to the PR template's Type of Change list (which the skill checks), and allowlists the new skill dir in .gitignore. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
do we have to make a new pr just for release? can we do code change with release in one pr? |
There was a problem hiding this comment.
Pull request overview
Note
Copilot couldn't run its full agentic review because no GitHub Actions runner was available. Make sure your repository has a runner available to run Copilot's review, or add a copilot-setup-steps.yml file specifying one with the runs-on attribute. See the docs for more details.
Adds a new Claude Code skill to automate creating Python SDK release/version-bump PRs, plus supporting template/gitignore updates so the skill can be committed and used consistently.
Changes:
- Add
/create-release-prskill documentation/workflow in.claude/skills/create-release-pr/SKILL.md - Update PR template to include a “Release / version bump” type for release PRs
- Allowlist the new skill directory in
.gitignore
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| .gitignore | Allowlists the new skill directory so it’s not ignored by the existing .claude/skills/* rule. |
| .github/PULL_REQUEST_TEMPLATE.md | Adds a “Release / version bump” checkbox that the skill expects to be checked. |
| .claude/skills/create-release-pr/SKILL.md | Defines the new skill procedure for branching from origin/main, selecting a semver bump, bumping files, running checks, and opening a PR. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| grep -E '^version = ' pyproject.toml | head -1 | ||
|
|
||
| # Latest release tag (vMAJOR.MINOR.PATCH) | ||
| git tag --sort=-creatordate | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -1 |
| # Commits since that tag (use the tag from above; if no tag exists, use the full history) | ||
| git log --oneline <LAST_TAG>..origin/main | ||
|
|
||
| # The actual code changes since that tag — this is the source of truth for the bump | ||
| git diff --stat <LAST_TAG>..origin/main | ||
| git diff <LAST_TAG>..origin/main -- src/ |
|
|
||
| ```bash | ||
| # Current version | ||
| grep -E '^version = ' pyproject.toml | head -1 |
| Verify `gh` is installed and authenticated against this repo, and that `uv` is available: | ||
|
|
||
| ```bash | ||
| gh repo view twilio/twilio-agent-connect-python --json name --jq '.name' |
Summary
Adds a Claude Code skill,
/create-release-pr, that creates version-bump release PRs for the Python SDK.What it does:
main(never touches the user's current branch).pyproject.tomland regeneratesuv.lockviauv sync, asserting only those two files changed.make checkand refuses to open a PR on a failing tree.--no-pr(push branch only) and an explicit version argument.Also:
.gitignore(the repo ignores.claude/skills/*and opts each skill in individually).Type of Change
Checklist
SDK Parity
This is the Python SDK. If this change affects shared functionality, ensure the TypeScript SDK is updated as well.
🤖 Generated with Claude Code