open-pr
Process
1. Establish the state
Check the working tree, the current branch, and whether the branch already has an open PR: the three facts that decide whether you branch, open, or update in place.
When a PR already exists and you're here because follow-up work landed rather than because the user asked, refresh only when the new commits make the title or body stale — scope, approach, or context they no longer explain.
Uncommitted changes are part of the work: commit them per /commit, in every state, before composing. Done when the work sits committed on a non-default branch and you know the base branch and whether a PR exists.
2. Read the branch
Study the branch as a whole — git diff <base>...HEAD and git log <base>..HEAD — for what changed, why, and what a user sees differently. Done when every commit on the branch is accounted for in your understanding.
3. Compose
Load /writing-for-humans first: every word of the title, the description, and the comments follows it.
Compose the title and description fresh from the branch you just read — whether the PR is new or already open — per the formats below. If the repo ships a PR template (e.g. .github/pull_request_template.md), its structure wins — apply the section guidance here within the template's sections.