Update Pull Request
The PR body documents what will happen when merged, not the journey. Don't echo review feedback. Only mention changes if the ultimate result is user-facing.
Arguments
$0 (optional): the PR/MR to update, given as a URL, number, or branch name. The Workflow passes it to gh pr view/glab mr view. Default: with no argument, the tools resolve the PR/MR from the current branch.
Context
- Remote URL: !
git remote get-url origin - PR Template: !
bun ${CLAUDE_PLUGIN_ROOT}/scripts/pr-template.ts
!bun ${CLAUDE_PLUGIN_ROOT}/scripts/git-context.ts
!bun ${CLAUDE_PLUGIN_ROOT}/scripts/contributing.ts
Workflow
- Fetch PR context: Use
$0(if provided) as a PR identifier (number or branch name). Fetch the current PR:- GitHub:
gh pr view $0 --json title,body,updatedAt,commits - GitLab:
glab mr view $0
- GitHub:
- Fetch PR diff:
- GitHub:
gh pr diff $0 - GitLab:
glab mr diff $0
- GitHub:
Analysis
- Filter commits after
updatedAtto identify new work since the body was last written. - Analyze the changes introduced by those commits.
Writing
- Rewrite the PR body following the same rules as the create skill. Lead with intent and the decisions a reviewer can't read off the diff, default to prose, and add
##sections only when length earns them. Load thewritingskill for the full set of tropes to avoid. If a PR template is provided in context, preserve its structure. Seesections.mdfor the body guidance. - Write the updated body to a temp file (e.g.,
tmp/pr-body-<branch>.md) and apply:- GitHub:
gh pr edit --body-file tmp/pr-body-<branch>.md - GitLab:
glab mr update --description "$(cat tmp/pr-body-<branch>.md)"
- GitHub:
GitLab Notes
For advanced GitLab features (stacking, username lookup), load gitlab:merge-request.