← ClaudeAtlas

pr-rebaselisted

Bring a feature branch up to date with its base without changing what the branch does: capture a pre-rebase check baseline, fetch, rebase onto the latest base, resolve each conflict from both sides' intent with the rationale recorded to disk, re-run the same checks, and treat any check that passed before and fails after as a regression that blocks the push. Ends with an unprompted, lease-verified publish through the repo's own publisher — a `--force-with-lease --force-if-includes` push by default. Invoke ONLY on explicit rebase intent — the user says "rebase onto main", "pull main and rebase", "update the branch", "get this branch current", or runs "/pr-rebase". A rebase rewrites history and the push rewrites the remote: never infer rebase intent from a branch merely being behind its base, from a red CI run, or from a merge-conflict warning on the PR page.
bostonaholic/team · ★ 11 · AI & Automation · score 78
Install: claude install-skill bostonaholic/team
# pr-rebase — rebase onto the latest base without changing behavior > Follow `skills/principle-progress-tracking/SKILL.md`: this procedure has more than two steps — > seed one todo item per step below before starting and mark each complete as you go. `pr-rebase` replays a feature branch on top of the current base branch and proves the replay preserved the branch's behavior before it rewrites the remote. Three things make it more than `git pull --rebase`: - **A baseline.** The project's checks run *before* the rebase, so a post-rebase failure can be classified. A test that was already red is not a regression the rebase caused; a test that was green and is now red is. - **Intent-based conflict resolution.** Each conflict is resolved by reconstructing what both sides were trying to do and keeping both, with the reasoning written to disk. Picking a side wholesale is the failure mode this exists to prevent. - **A hard gate before the push.** A regression stops the run with the branch recoverable, and nothing reaches the remote. Model invocation is disabled (`disable-model-invocation: true`). The push rewrites published history: a teammate who has the branch checked out ends up on a discarded line of development, and no verification step can undo that after the fact. Per `skills/principle-explicit-intent/SKILL.md`, the deliberate invocation is the authorization to publish: once the step 6 gate reports no regression, the run publishes without stopping to re-ask (step