Create and update stacked pull requests. Use this after completing an implementation phase to commit changed files.
View on GitHubelliotsteene/claude-code
workflow-toolkit
plugins/workflow-toolkit/skills/stacked-pr/SKILL.md
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/elliotsteene/claude-code/blob/main/plugins/workflow-toolkit/skills/stacked-pr/SKILL.md -a claude-code --skill stacked-prInstallation paths:
.claude/skills/stacked-pr/# Stacked PR Workflow This skill enables Claude to create stacked pull requests using git-town automation scripts. Each phase becomes an atomic PR that builds on previous phases. ## When to Use This Skill Invoke this skill after completing a phase from `/implement_plan` when: 1. All automated verification has passed (`just check-test`) 2. User has confirmed manual verification is complete 3. There are uncommitted changes ready to be stacked DO NOT use this skill: - Before verification is complete - When there are no changes to commit - For non-plan-based work (use standard git workflow instead) ## Pre-Flight Checks Before creating the stack, verify: 1. Current git status shows modified/new files 2. All tests and checks have passed 3. You know the phase number and plan context ## Workflow Instructions ### Step 1: Determine Phase Type Check the current branch to determine if this is Phase 1 or Phase N: ```bash git branch --show-current ``` **Decision Logic:** - **If on `main`**: This is Phase 1 → Use `just new-stack` - **If on `phase-X-*`**: This is Phase N (where N = X + 1) → Use `just append-stack` ### Step 2: Prepare Arguments Both scripts require the same arguments (in order): 1. **phase-num**: The phase number (e.g., `1`, `2`, `3`) 2. **branch-name**: Short descriptive name (e.g., `websocket-foundation`, `message-parser`) 3. **commit-msg**: Full commit message (multiline string) 4. **pr-title**: PR title (e.g., `Phase 1: WebSocket Connection Foundation`) 5. **pr-body**: PR body/description (multiline string) #### Branch Naming Convention - Format: `phase-N-<short-description>` - Examples: - `phase-1-websocket-foundation` - `phase-2-message-parser` - `phase-3-orderbook-state` #### Commit Message Format ``` <type>: <phase-summary> Phase N: <detailed-description> Changes: - <key change 1> - <key change 2> - <key change 3> <any relevant context or notes> ``` Types: `feat`, `fix`, `refactor`, `test`, `chore`, `docs` #### PR Body Format ```