Skip to content

chore: add create-release-pr skill#74

Merged
ryanrouleau merged 1 commit into
mainfrom
chore/create-release-pr-skill
Jun 30, 2026
Merged

chore: add create-release-pr skill#74
ryanrouleau merged 1 commit into
mainfrom
chore/create-release-pr-skill

Conversation

@ryanrouleau

Copy link
Copy Markdown
Collaborator

Summary

Adds a Claude Code skill, /create-release-pr, that creates version-bump release PRs for the Python SDK.

What it does:

  • Cuts a release branch off the latest remote main (never touches the user's current branch).
  • Derives a semver suggestion from the actual code diff since the last release tag (not commit-message prefixes — this repo doesn't enforce Conventional Commits), then asks the user to confirm or override.
  • Bumps pyproject.toml and regenerates uv.lock via uv sync, asserting only those two files changed.
  • Runs make check and refuses to open a PR on a failing tree.
  • Stages by explicit path, commits, and opens the PR using this template.
  • Supports --no-pr (push branch only) and an explicit version argument.

Also:

  • Adds a Release / version bump item to the PR template's Type of Change list, which the skill checks for release PRs.
  • Allowlists the new skill directory in .gitignore (the repo ignores .claude/skills/* and opts each skill in individually).

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update
  • Refactoring

Checklist

  • Tests added/updated
  • Documentation updated
  • Tested E2E

SDK Parity

This is the Python SDK. If this change affects shared functionality, ensure the TypeScript SDK is updated as well.

  • Change is Python-specific (no TypeScript update needed)
  • TypeScript SDK PR created:

🤖 Generated with Claude Code

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>
Copilot AI review requested due to automatic review settings June 30, 2026 20:27
@xinghaohuang91

Copy link
Copy Markdown
Contributor

do we have to make a new pr just for release? can we do code change with release in one pr?

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-pr skill 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
Comment on lines +80 to +85
# 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'
@ryanrouleau ryanrouleau merged commit 6991c45 into main Jun 30, 2026
15 of 16 checks passed
@ryanrouleau ryanrouleau deleted the chore/create-release-pr-skill branch June 30, 2026 20:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants