Prepare PR
Overview
Prepare the PR head branch for merge after /review-pr .
Inputs
-
Ask for PR number or URL.
-
If missing, use .local/pr-meta.env if present in the PR worktree.
Safety
-
Never push to main .
-
Only push to PR head with explicit --force-with-lease against known head SHA.
-
Do not run git clean -fdx .
-
Wrappers are cwd-agnostic; run from repo root or PR worktree.
Execution Contract
- Run setup:
scripts/pr-prepare init <PR>
-
Resolve findings from structured review:
-
.local/review.json is mandatory.
-
Resolve all BLOCKER and IMPORTANT items.
Commit scoped changes with concise subjects (no PR number/thanks; those belong on the final merge/squash commit).
Run gates via wrapper.
Push via wrapper (includes pre-push remote verification, one automatic lease-retry path, and post-push API propagation retry).
Optional one-shot path:
scripts/pr-prepare run <PR>
Steps
- Setup and artifacts
scripts/pr-prepare init <PR>
ls -la .local/review.md .local/review.json .local/pr-meta.env .local/prep-context.env jq . .local/review.json >/dev/null
- Resolve required findings
List required items:
jq -r '.findings[] | select(.severity=="BLOCKER" or .severity=="IMPORTANT") | "- [(.severity)] (.id): (.title) => (.fix)"' .local/review.json
Fix all required findings. Keep scope tight.
- Update changelog/docs (changelog is mandatory in this workflow)
jq -r '.changelog' .local/review.json jq -r '.docs' .local/review.json
- Commit scoped changes
Use concise, action-oriented subject lines without PR numbers/thanks. The final merge/squash commit is the only place we include PR numbers and contributor thanks.
Use explicit file list:
scripts/committer "fix: <summary>" <file1> <file2> ...
- Run gates
scripts/pr-prepare gates <PR>
- Push safely to PR head
scripts/pr-prepare push <PR>
This push step includes:
-
robust fork remote resolution from owner/name,
-
pre-push remote SHA verification,
-
one automatic rebase + gate rerun + retry if lease push fails,
-
post-push PR-head propagation retry,
-
idempotent behavior when local prep HEAD is already on the PR head,
-
post-push SHA verification and .local/prep.env generation.
-
Verify handoff artifacts
ls -la .local/prep.md .local/prep.env
-
Output
-
Summarize resolved findings and gate results.
-
Print exactly: PR is ready for /merge-pr .
Guardrails
-
Do not run gh pr merge in this skill.
-
Do not delete worktree.