vercel/backport-pr
> Backport a merged Next.js pull request from canary to a previous release branch such as next-16-2. Use when the user asks to backport, cherry-pick, or open a backport PR from a PR number to an older Next.js version. Covers finding the merged PR commit, creating a backport branch from the target release branch, cherry-picking from canary, validating, and opening the PR with the release branch as the base.
npx skills add https://github.com/vercel/next.js --skill backport-pr
Use this skill when a user asks to backport a merged Next.js PR to a release
branch.
next-16-2.the user's request, ask before mutating git state.
next-16-2 except whenthe user explicitly asks for it.
git status --short
git branch --show-current
Preserve unrelated user changes. Do not overwrite, reset, or stash them
without the user's consent.
git fetch origin canary:refs/remotes/origin/canary <target-branch>:refs/remotes/origin/<target-branch>
canary: gh pr view <pr-number> --repo vercel/next.js --json number,title,state,url,mergeCommit,baseRefName,headRefName
git log origin/canary --oneline --fixed-strings --grep="(#<pr-number>)"
Prefer mergeCommit.oid when the PR is MERGED and the commit is contained
in origin/canary. If GitHub does not return a usable merge commit, use the
git log --grep result and verify the commit subject references the PR
number.
git switch -c backport-<pr-number>-to-<target-branch> origin/<target-branch>
After switching branches in this repo, run pnpm build-all before Next.js
integration tests unless the user explicitly limits the task to preparing the
cherry-pick or PR.
git cherry-pick -x <merged-commit-sha>
Resolve conflicts in favor of preserving the release branch's compatibility
constraints. If the cherry-pick is empty, verify whether the change is already
present on the release branch and report that instead of opening a duplicate
PR.
focused tests, pnpm types for TypeScript-only risk, and the relevant
integration test mode for behavior changes.
$create-pr.Override the normal $create-pr base branch: use --base <target-branch>,
not canary. Keep the PR as a draft unless the user explicitly asks
otherwise.
Use a title like:
[backport] <original PR title>
Use a concise PR body:
Backports <original PR title/link> to `<target-branch>`.
<!-- NEXT_JS_LLM -->
$create-pr - Create the branch commit, push it, and open the draft PR.$pr-status-triage - Check CI failures or review feedback after the PR exists.Take vercel/backport-pr from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.