Back to Skills

stacked-pr

verified

Create and update stacked pull requests. Use this after completing an implementation phase to commit changed files.

View on GitHub

Marketplace

custom-tools

elliotsteene/claude-code

Plugin

workflow-toolkit

Repository

elliotsteene/claude-code

plugins/workflow-toolkit/skills/stacked-pr/SKILL.md

Last Verified

January 21, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/elliotsteene/claude-code/blob/main/plugins/workflow-toolkit/skills/stacked-pr/SKILL.md -a claude-code --skill stacked-pr

Installation paths:

Claude
.claude/skills/stacked-pr/
Powered by add-skill CLI

Instructions

# 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

```

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
8604 chars