К основному содержанию
скилл CX Codex

stacked-prs — скилл для Claude Code: стеки зависимых PR

Скилл учит агента собирать цепочки зависимых pull request'ов: каждая ветка растёт из предыдущей, а не из main. Пригодится, когда большую фичу разбили на этапы.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add bobmatnyc/claude-mpm-skills --skill stacked-prs -a claude-code
Открыть на GitHub

Что делает stacked-prs

Скилл описывает рабочий процесс для stacked PR: базовый PR уходит в main, следующий ветвится от ветки базового, третий — от второго. Нумерация в именах веток (feature/001-base-auth, feature/002-user-profile, feature/003-admin-panel) показывает порядок слияния. Внутри — шаблон описания PR со списком зависимостей и блоком «Stack Overview», чтобы ревьюер видел границы этапа.

Отдельная часть — перебазирование. Когда базовый PR правят по замечаниям, зависимые ветки перебазируются поверх обновлённой базы, и скилл настаивает на --force-with-lease вместо --force. Для слияния предлагает последовательный вариант: влить PR-001 в main, переключить базу PR-002 на main, влить, повторить для третьего.

По умолчанию скилл советует обычные PR от main и включает стек только по явной просьбе. Это важно: если вы не готовы к rebase-циклу, стек добавит работы. Независимые фичи и параллельная работа нескольких агентов — не тот случай.

Какие задачи решает

  • разбить крупную фичу на этапы с понятными зависимостями
  • создать ветку от предыдущей ветки, а не от main
  • описать в PR, какие изменения относятся именно к нему
  • перебазировать зависимые ветки после правок в базовом PR
  • слить стек по одному PR, переключая базу на main

Примеры запросов агенту

  • создай stacked PR для этой фичи: база — авторизация, второй этап — профиль пользователя
  • перебазируй feature/002-user-profile на обновлённую feature/001-base-auth и запушь с --force-with-lease
  • оформи описание PR со списком зависимостей и обзором стека

Как установить stacked-prs

1Через Skills CLI (Vercel)

npx skills add bobmatnyc/claude-mpm-skills --skill stacked-prs -a claude-code

2Вручную: положить файлы

~/.claude/skills/stacked-prs/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/stacked-prs/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о stacked-prs

Как установить stacked-prs в Claude?

Выполните npx skills add bobmatnyc/claude-mpm-skills --skill stacked-prs -a claude-code. Скилл появится в ~/.claude/skills/stacked-prs/SKILL.md.

Что делает stacked-prs?

Описывает создание и сопровождение зависимых pull request'ов: нумерацию веток, базу от предыдущей ветки, шаблон описания и перебазирование после правок.

Когда стек не нужен?

Скилл сам советует обычные PR от main, если фичи независимы, это простая правка или несколько агентов работают параллельно. Стек — только по явной просьбе.

Исходный текст

SKILL.md · MIT
---
name: stacked-prs
description: Create and manage stacked (dependent) pull requests for complex features
user-invocable: false
disable-model-invocation: true
tags: [git, pull-requests, branching, workflow, collaboration]
related_agents: [version-control]
progressive_disclosure:
  entry_point:
    summary: "Create and manage stacked (dependent) pull requests for complex features"
    when_to_use: "When working with version control, branches, or pull requests."
    quick_start: "1. Review the core concepts below. 2. Apply patterns to your use case. 3. Follow best practices for implementation."
---
# Stacked Pull Requests

## Overview

Stacked PRs are dependent pull requests where each PR builds on the previous one. Use this pattern for complex features that need logical separation and parallel review.

## When to Use

### ✅ Use Stacked PRs When:
- User explicitly requests "stacked PRs" or "dependent PRs"
- Large feature needs to be split into logical phases
- Each phase has clear dependencies on previous phases
- User is comfortable with rebase workflows

### ❌ Use Main-Based PRs When (Default):
- Features are independent
- Simple bug fixes or enhancements
- Multiple agents working in parallel
- User doesn't specify preference

**DEFAULT: Always prefer main-based PRs unless user explicitly requests stacking.**

## Branch Naming Convention

Use sequential numbering to show dependencies:

```bash
feature/001-base-authentication       # PR-001 (base)
feature/002-user-profile              # PR-002 (depends on 001)
feature/003-admin-panel               # PR-003 (depends on 002)
```

Alternative patterns:
```bash
auth/01-foundation
auth/02-user-flow
auth/03-admin-features
```

## Creating Stacked PRs

### Step 1: Create Base PR (PR-001)

```bash
# Start from main
git checkout main
git pull origin main

# Create base branch
git checkout -b feature/001-base-auth

# Implement base functionality
# ... work ...

# Push and create PR
git push -u origin feature/001-base-auth

# Create PR in GitHub/GitLab
# Title: "[1/3] Base authentication foundation"
# Base: main
# Description: Include stack overview (see template below)
```

### Step 2: Create Dependent PR (PR-002)

**CRITICAL: Base on previous feature branch, NOT main**

```bash
# Start from PR-001's branch
git checkout feature/001-base-auth
git pull origin feature/001-base-auth

# Create dependent branch
git checkout -b feature/002-user-profile

# Implement dependent functionality
# ... work ...

# Push and create PR
git push -u origin feature/002-user-profile

# Create PR in GitHub/GitLab
# Title: "[2/3] User profile management"
# Base: feature/001-base-auth  ← NOT main!
# Description: "Depends on PR #123"
```

### Step 3: Create Final PR (PR-003)

```bash
# Start from PR-002's branch
git checkout feature/002-user-profile
git pull origin feature/002-user-profile

# Create final branch
git checkout -b feature/003-admin-panel

# Implement final functionality
# ... work ...

# Push and create PR
git push -u origin feature/003-admin-panel

# Create PR in GitHub/GitLab
# Title: "[3/3] Admin panel with full auth"
# Base: feature/002-user-profile  ← NOT main!
# Description: "Depends on PR #124"
```

## PR Description Template

Use this template for stacked PRs:

```markdown
## This PR
[Brief description of changes in THIS PR only]

## Depends On
- PR #123 (feature/001-base-auth) - Must merge first
- Builds on top of authentication foundation

## Stack Overview
1. PR #123: Base authentication (feature/001-base-auth) ← MERGE FIRST
2. PR #124: User profile (feature/002-user-profile) ← THIS PR
3. PR #125: Admin panel (feature/003-admin-panel) - Coming next

## Review Guidance
To see ONLY this PR's changes:
```bash
git diff feature/001-base-auth...feature/002-user-profile
```

Or on GitHub: Compare `feature/002-user-profile...feature/001-base-auth` (three dots)

## Testing
- Tested in combination with PR #123
- Includes tests for user profile functionality
- Integration tests pass with base auth layer
```

## Managing Rebase Chains

### When Base PR Changes (Review Feedback)

If PR-001 gets updated, rebase dependent PRs:

```bash
# Update PR-001 (base)
git checkout feature/001-base-auth
git pull origin feature/001-base-auth

# Rebase PR-002 on updated base
git checkout feature/002-user-profile
git rebase feature/001-base-auth
git push --force-with-lease origin feature/002-user-profile

# Rebase PR-003 on updated PR-002
git checkout feature/003-admin-panel
git rebase feature/002-user-profile
git push --force-with-lease origin feature/003-admin-panel
```

**IMPORTANT: Use `--force-with-lease` not `--force` for safety**

### Merge Strategy

**Option A: Sequential Merging (Recommended)**
1. Merge PR-001 to main
2. Change PR-002's base to main (GitHub: "Edit" button on PR)
3. Merge PR-002 to main
4. Change PR-003's base to main
5. Merge PR-003 to main

**Option B: Keep Stack Until End**
1. Merge PR-001 to main
2. Keep PR-002 based on feature/001 until PR-001 fully merged
3. Then rebase PR-002 onto main
4. Repeat for PR-003

## Common Pitfalls

### ❌ WRONG: All PRs from main
```bash
git checkout main
git checkout -b feature/001-base
# PR: feature/001-base → main

git checkout main  # ← WRONG
git checkout -b feature/002-next
# PR: feature/002-next → main  # ← WRONG (independent, not stacked)
```

### ✅ CORRECT: Each PR from previous
```bash
git checkout main
git checkout -b feature/001-base
# PR: feature/001-base → main

git checkout feature/001-base  # ← CORRECT
git checkout -b feature/002-next
# PR: feature/002-next → feature/001-base  # ← CORRECT (stacked)
```

## Agent Instructions

When delegating stacked PR creation to version-control agent:

```
Task: Create stacked PR branch structure

Stack Sequence:
1. PR-001: feature/001-base-auth → main (base layer)
2. PR-002: feature/002-user-profile → feature/001-base-auth (depends on 001)
3. PR-003: feature/003-admin-panel → feature/002-user-profile (depends on 002)

Requirements:
- Each branch MUST be based on previous feature branch
- Use sequential numbering (001, 002, 003)
- Include "depends on" notes in commit messages
- Create PR description with stack overview

CRITICAL: PR-002 bases on feature/001-base-auth, NOT on main
CRITICAL: PR-003 bases on feature/002-user-profile, NOT on main
```

## Verification Checklist

Before creating stacked PRs:

- [ ] User explicitly requested stacked PRs
- [ ] Feature has clear logical phases
- [ ] Each phase has dependency on previous
- [ ] User understands rebase workflow
- [ ] Branch names use sequential numbering
- [ ] Each branch created from correct base (previous feature branch)
- [ ] PR descriptions include dependency information
- [ ] Stack overview documented in each PR

## Related Skills

- `git-worktrees` - Work on multiple PRs simultaneously
- `git-workflow` - General git branching patterns
- `code-review` - Review strategies for stacked PRs

© bobmatnyc · MIT · bobmatnyc/claude-mpm-skills

Похожие скиллы

Все скиллы по теме «Git и GitHub» →
git-workflow affaan-m Скилл с готовыми правилами Git: какую стратегию ветвления выбрать, как писать коммиты и когда rebase лучше merge. CX Codex +1 5 000установок create-branch getsentry Создаёт git-ветку с именем вида feat/... по правилам Sentry. Пригодится, когда начинаешь работу и не хочешь придумывать имя вручную. CX Codex +1 4 300установок git-workflow-strategy aj-geddes Скилл помогает агенту выбрать схему ветвления и провести фичу, релиз или хотфикс по шагам. Пригодится, когда в команде нет единых правил работы с ветками. CX Codex +1 482установок branche naiersaidane Создаёт новую Git-ветку от актуального main с префиксом feat/ или fix/. Пригодится перед началом изолированной работы над задачей. CX Codex +1 368установок rebase-latest-main dyoshikawa Скилл проводит агента по шагам: проверить ветку, сделать fetch, ребейзнуть на origin/main и разрулить конфликты. Полезен, когда ветка отстала от main. CX Codex +1 ★ 1 552звёзд репо om-review-prs open-mercato Разбирает все открытые пул-реквесты без ревью, от новых к старым, и запускает по каждому полный разбор. Удобно в начале дня. CX Codex +1 2 600установок

Из того же набора65

software-patterns Помогает выбрать паттерн под конкретную проблему: связанность, отказоустойчивость, границы сервисов. Пригодится, когда код трудно тестировать или сервисы вызывают друг друга по кругу. CX Codex +1 373установок nextjs-v16 Скилл ведёт миграцию проекта на Next.js 16: асинхронные request API, opt-in кеширование через "use cache" и Turbopack. Пригодится, когда обновляете существующее приложение. CX Codex +1 371установок testing-anti-patterns Скилл помогает находить ошибки в тестах: проверки поведения моков, тестовые методы в продакшене и неполные заглушки. CX Codex +1 368установок vercel-deployments-builds Описывает жизненный цикл деплоя на Vercel: сборки, превью, фазы релиза и откат. Пригодится, когда настраиваешь вывод сборки или контролируешь релизы. CX Codex +1 368установок better-auth-core Скилл для настройки Better Auth в TypeScript-приложениях: инстанс, серверные обработчики, клиент и сессии. Пригодится, когда нужно подключить аутентификацию без долгих поисков по докам. CX Codex +1 358установок reporting-pipelines Скилл задаёт единый порядок выгрузки отчётов: собрать данные, нормализовать, выгрузить CSV/JSON/Markdown с меткой времени и сохранить в reports/. CX Codex +1 354установок fastapi-local-dev Скилл-справочник по запуску FastAPI: Uvicorn с автоперезагрузкой для разработки, Gunicorn с UvicornWorker для продакшена. CX Codex +1 347установок headlessui Скилл по Headless UI: нестилизованные компоненты для React и Vue с готовой клавиатурной навигацией и ARIA. Пригодится, когда нужен свой дизайн без потери доступности. CX Codex +1 345установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой