Pre-fetched context
!git rev-parse --abbrev-ref HEAD
!git status --short
!git ls-files ':(top,icase).github/pull_request_template.md' ':(top,icase).github/pull_request_template/*.md' ':(top,icase)pull_request_template.md'
Instructions
Update the existing pull request for the current branch. Follow this flow:
- •
Gather context: Get default branch via
gh repo view --json defaultBranchRef -q .defaultBranchRef.name, then rungit log --oneline,git diff --stat, andgit diffagainst it. - •
Missing PR check: Run
gh pr view --json number,url,title,body,baseRefName,headRefName,isDraft. If it fails, tell the user there is no open PR for this branch. Ask whether to switch to/create-pror abort. - •
Uncommitted changes: If
git statusabove shows output, ask whether to commit them, ignore them, or abort. Do not proceed until answered. - •
PR template:
- •If a template path is listed,
Readit before writing title/body. - •Detect
template_languagefrom headings/instructions/checklists (ignore code, URLs, HTML comments). - •Keep template headings/order and keep HTML comments (
<!-- -->). - •If no template exists, skip.
- •If a template path is listed,
- •
Collect updates: Ask what changed since the previous PR revision and which links should be included (issues, docs, related PRs). Confirm whether the title should change.
- •
Compose updated PR content:
- •Title: Conventional Commits, under 72 chars.
- •Decide title language before drafting and keep it fixed unless the user requests a change.
- •Title language policy: use
template_languagefirst whenever it can be detected. - •If the user explicitly asks to override language for the current PR, follow that override.
- •If no
template_languageis detected, use: explicit user request > latest substantive user message > English. - •Ignore slash commands (for example
/update-pr), code blocks, file paths, and URLs when inferring language. - •If language signals conflict or are ambiguous, ask the user which language to use before drafting.
- •Keep
type(scope)tokens standard (feat,fix, etc.); localize only the description text. - •Body: if template exists, fill its sections. If not, use Summary / Changes / Concerns / References.
- •
Confirm: Show the full updated PR title/body. The user may request edits - apply and re-confirm. Do not push or edit until approved.
- •
Push and update:
- •Push (
git push -u origin HEAD) only if there are unpushed commits (git log @{upstream}..HEAD). - •Update with
gh pr edit --title "<title>" --body-file <file>. - •Return the PR URL.
- •Push (