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.envif present in the PR worktree.
Safety
- •Never push to
main. - •Only push to PR head with explicit
--force-with-leaseagainst known head SHA. - •Do not run
git clean -fdx. - •Wrappers are cwd-agnostic; run from repo root or PR worktree.
Execution Contract
- •Run setup:
sh
scripts/pr-prepare init <PR>
- •Resolve findings from structured review:
- •
.local/review.jsonis mandatory. - •Resolve all
BLOCKERandIMPORTANTitems.
- •
Commit with required subject format and validate it.
- •
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:
sh
scripts/pr-prepare run <PR>
Steps
- •Setup and artifacts
sh
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:
sh
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)
sh
jq -r '.changelog' .local/review.json jq -r '.docs' .local/review.json
- •Commit scoped changes
Required commit subject format:
- •
fix: <summary> (text2llm#<PR>) thanks @<pr-author>
Use explicit file list:
sh
source .local/pr-meta.env scripts/committer "fix: <summary> (text2llm#$PR_NUMBER) thanks @$PR_AUTHOR" <file1> <file2> ...
Validate commit subject:
sh
scripts/pr-prepare validate-commit <PR>
- •Run gates
sh
scripts/pr-prepare gates <PR>
- •Push safely to PR head
sh
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.envgeneration.
- •Verify handoff artifacts
sh
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 mergein this skill. - •Do not delete worktree.