configs/claude-code/skills/stacked-prs/SKILL.md
Push local branches and create stacked PRs. Analyzes branch topology, pushes, creates PRs with correct base branches, and resolves merge conflicts. Use when you have a chain of local branches to turn into stacked PRs.
npx skillsauth add poorrican/dotfiles stacked-prsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create stacked PRs for a chain of local branches. Follow the steps below precisely.
If arguments are passed via args, interpret them as:
nix-refactor) to use in PR titlesn)If no arguments are given, infer the branch stack from the current branch's ancestry.
Before anything else, run these to understand repo state:
git branch --show-current — current branchgit branch --list — all local branchesgit log --oneline --graph --all --decorate -30 — recent log across branchesgit branch -r — remote branchesgh repo view --json nameWithOwner -q '.nameWithOwner' — owner/repoIdentify the linear chain of branches from the main branch (usually master or main) to the current or specified branch tip. Use git merge-base to confirm parent-child relationships. Exclude branches with no unique commits vs their parent.
Output the stack as an ordered list before proceeding.
nix-refactor/1-..., nix-refactor/2-...), extract it as the qualifier.n. If the user specifies a letter, use that instead.Push all branches in the stack to origin with -u in a single command.
For each branch in order (bottom of stack first):
[qualifier][x/letter] conventional-commit-style-title where the title is derived from the branch name or commit content. If no qualifier, omit that prefix.# Description
<1-2 sentences or bullet-only description of the FINAL STATE this PR achieves>
<Additional bullets as needed>
# Test
- [ ] <test checklist items>
Description rules:
## Foo) are allowed when the PR genuinely spans distinct concerns (see PR #23 / [v1][18/n] in mycustomai/valido-backend as the canonical example for a multi-area PR). For a single-theme PR, skip sub-sections.Anti-patterns to avoid (taken from real revisions):
f1a2b3c4d5e6 or chain references like "chained off d7e8f9a0b1c2". The reviewer does not need these; the migration file does.services/analysis/mocks.py"). Describe the capability, mention the path only if it aids navigation.After creating PRs, check each PR's mergeable status via gh pr view N --json mergeable. If any PR is CONFLICTING:
git merge --no-commit --no-ff <base>.Output a summary table:
| # | PR | Title | Status |
|---|---|---|---|
| 1 | owner/repo#N | [qualifier][1/n] title | MERGEABLE |
| ...
content-media
Create, read, edit .pptx decks, slides, notes, templates.
content-media
Create, read, edit .pptx decks, slides, notes, templates.
documentation
Extract text from PDFs/scans (pymupdf, marker-pdf).
documentation
Extract text from PDFs/scans (pymupdf, marker-pdf).