# Chained PR

Trigger: PRs over 400 lines, stacked PRs, review slices.

- Repository: https://github.com/Gentleman-Programming/gentle-ai (8170 stars)
- Category: Engineering
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Gentleman-Programming/gentle-ai --skill chained-pr -g -a claude-code -y`
Codex: `npx skills add Gentleman-Programming/gentle-ai --skill chained-pr -g -a codex -y`
Cursor: `npx skills add Gentleman-Programming/gentle-ai --skill chained-pr -g -a cursor -y`
Gemini CLI: `npx skills add Gentleman-Programming/gentle-ai --skill chained-pr -g -a gemini-cli -y`

## Description

Trigger: PRs over 400 lines, stacked PRs, review slices. Split oversized changes into chained PRs that protect review focus.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## Activation Contract

Load this skill when a planned PR may exceed **400 changed lines**, an ODD feature's forecast or running authored changed-line count from work-unit commits exceeds about 400, or the user asks for chained/stacked PRs, review slices, or reviewer-load control.

## Hard Rules

- Split PRs over **400 changed lines** unless a maintainer explicitly accepts `size:exception`.
- The budget constrains how work is **sliced**, never the code itself. Never delete comments, blank lines, docs, or tests, and never compress or restyle code, to fit under the budget.
- Slicing is bounded: make **one** honest slicing pass. If no cohesive split brings every slice within budget, stop iterating, keep the best cohesive split, and report the final line count with a `size:exception` recommendation.
- Keep each PR reviewable in about **≤60 minutes**.
- Use one deliverable work unit per PR; keep tests/docs with the unit they verify.
- State start, end, prior dependencies, follow-up work, and out-of-scope items in every chained PR.
- Every child PR must include a dependency diagram marking the current PR with `📍`.
- In Feature Branch Chain, create a draft/no-merge tracker PR; child PR #1 targets the tracker branch, later children target the immediate parent branch.
- Treat polluted diffs as base bugs: retarget or rebase until only the current work unit appears.
- Do not mix chain strategies after the user chooses one.

## Decision Gates

The rest: https://github.com/Gentleman-Programming/gentle-ai/blob/HEAD/internal/assets/skills/chained-pr/SKILL.md
