← ClaudeAtlas

stacked-pull-requestslisted

Use when working with a stack of GitHub pull requests — creating branches, keeping the stack in sync, or merging in order. Covers Git Town setup, PR targeting, rebasing, and landing the stack.
LandonSchropp/agent-toolkit · ★ 1 · AI & Automation · score 62
Install: claude install-skill LandonSchropp/agent-toolkit
# Stacked Pull Requests Uses Git Town to manage parent/child branch relationships. **REQUIRED:** Run `git town help` for the full command list, or `git town <command> --help` for documentation on a specific command. ## Creating a Stack 1. Create the first branch off main: `git town hack <branch-name>`. 2. From that branch, create each subsequent child: `git town append <next-branch-name>`. (`append` always creates off the current branch; `hack` always creates off main.) 3. Create a PR for each branch targeting its parent branch (not main). GitHub shows only that branch's changes to reviewers. 4. Note in each PR description that it's part of a stack and link to the related PRs. 5. Verify the stack is wired correctly: run `scripts/list-pull-request-tree.rb --branch <any-branch>` and confirm all PRs appear in the expected order. ## Keeping the Stack in Sync When upstream changes or a parent branch is updated, run `git town sync --stack` to sync every branch in the stack. If conflicts arise: 1. Resolve them in the conflicted branch. 2. Stage the resolved files. 3. Run `git town continue`. 4. Push when done. ## Merging Merge oldest ancestor first. **REQUIRED:** Confirm the full merge order with the user before merging anything. 1. **Discover the tree:** Run `scripts/list-pull-request-tree.rb --branch <name>`. Pass any branch in the tree — the script walks up to the oldest ancestor and down through all descendants. 2. **For each PR in order:** a. **Retarget the next P