Delivery Governance
Core Rule
Design delivery before coding. Group work by integration boundary and mergeability, not by abstract thought units, tiny fixes, or reviewer-comment wording.
Planning Default
If the user asks for a non-trivial plan, branch strategy, commit strategy, PR split, or implementation roadmap, use this skill before proposing the plan.
Do not output a large implementation plan that lacks commit and PR structure.
Workflow
- Build a delivery map before the first tracked edit.
- List the subsystems or behaviors that can merge independently.
- Mark each as one of: foundation, runtime, operator UX, proof/tests/docs, cleanup.
- Choose the smallest set of PRs that can land coherently.
- Decide the commit strategy and the PR ownership map before coding starts.
- Choose PR shape by coupling.
- Keep code that must change together in one PR.
- Split only when a branch can be reviewed, tested, and merged independently.
- Prefer subsystem and behavior boundaries over micro-fixes.
- For stateful or contract-sensitive work, split by contract ownership and integration boundary, not reviewer comment wording.
- Keep stacks short.
- Default to 3 to 5 dependent PRs maximum.
- If a plan needs more than 5 dependent PRs, regroup into broader mergeable slices before coding.
- Do not create a PR per review comment or per tiny fix in the same subsystem.
- Merge runtime and verification where appropriate.
- Keep tests, docs, runbooks, and proof tools with the runtime change unless they are genuinely independent.
- Do not split proof or docs into separate branches just to make the stack look neat.
- Apply production-quality workflow on every active branch.
- Use the production-preflight and production-code skills when the work warrants them.
- Otherwise produce an explicit preflight before tracked edits and run the repo's lint, typecheck, unit, integration, build, and quality gates before calling work green.
Default Branch Plan For New Projects
Use this unless there is a strong reason not to:
- Foundations: config, types, schemas, state transitions, shared clients.
- Core runtime: control loops, persistence, service logic.
- User-facing behavior: actions, UI, APIs, external contracts.
- Proof/tests/docs: integration coverage, CLIs, runbooks, release evidence.
- Release hardening or consolidation: only if needed.
Hard Limits
- Max 5 active dependent PRs.
- Max 2 branch classes mixed in one PR.
- The review budget: target ~500 net lines of code per PR, measured as additions minus deletions in human-authored source files and excluding generated files, lockfiles, vendored code, and pure docs. This is the canonical definition other skills reference.
- Treat a planned slice tracking materially above the target as a preflight warning that requires shrinking or a written justification in the governing artifact.
- The split threshold is 1,000 net lines: a planned PR likely to exceed it must be split by integration boundary or descoped before coding, absent explicit user approval for a concrete exception. Do not rely on review to catch oversize after the branch is built.
- If the same file appears in 4 or more open branches, stop and regroup.
- If a lower branch needs a second significant rewrite after reviews start, stop stacking upward.
Consolidation Triggers
Stop opening more stacked PRs and switch to a consolidation PR when any of these happen:
- the deploy or donor branch gets ahead of the reviewed stack
- lower-branch fixes repeatedly force upstream rebases
- inherited CI failures appear across 3 or more PRs
- the same behavior is being "fixed" in multiple branches
- reviewers can no longer tell where ownership lives
- rebase time starts exceeding implementation time
Rebase Policy
- Rebase the next active branch after a lower-branch fix.
- Do not eagerly rebase the entire remaining stack for trivial cleanups.
- Keep the remote stack honest for branches you are actively editing.
- Use
git push --force-with-lease only for rebased branches.
Recovery Workflow For A Messy Stack
- Freeze deploys from donor or partially restacked branches.
- Identify the lowest owner branch for each still-real defect.
- Finish only the active owner branch.
- Rebase only the next active branch.
- When the active queue is stable, consolidate remaining donor-only or cross-cutting work into 1 or 2 PRs.
- Supersede stale stacked PRs instead of extending the chain forever.
Anti-Patterns
- one PR per tiny conceptual change in tightly coupled code
- using stacked PRs as the long-term delivery vehicle for dozens of branches
- pushing donor or production fixes outside the reviewed stack without reconciliation
- splitting runtime and its required tests or docs too early
- treating reviewer comments as branch boundaries
- creating a separate proof or acceptance-fixture branch when the owning workflow surface can carry the proof directly
Required Output
When using this skill, produce:
- a delivery map with branch or PR ownership
- a commit structure for each branch or PR slice
- an estimated net-line budget for each PR slice, with any slice above the review-budget target justified and any slice above the split threshold rejected or split
- the target stack depth and consolidation rule
- the active-branch order
- verification gates per branch
- a deploy freeze rule if a stack already exists
- an explicit stop condition for when to consolidate instead of stacking further
1---2name: delivery-governance3description: Govern large-implementation delivery — commit structure, PR structure, the review budget, stack depth, and consolidation to avoid rebase debt. Use when scoping a major feature or refactor, splitting work into commits/branches/PRs, or recovering drifted stacked branches.4---56# Delivery Governance78## Core Rule910Design delivery before coding. Group work by integration boundary and mergeability, not by abstract thought units, tiny fixes, or reviewer-comment wording.1112## Planning Default1314If the user asks for a non-trivial plan, branch strategy, commit strategy, PR split, or implementation roadmap, use this skill before proposing the plan.15Do not output a large implementation plan that lacks commit and PR structure.1617## Workflow18191. Build a delivery map before the first tracked edit.20 - List the subsystems or behaviors that can merge independently.21 - Mark each as one of: foundation, runtime, operator UX, proof/tests/docs, cleanup.22 - Choose the smallest set of PRs that can land coherently.23 - Decide the commit strategy and the PR ownership map before coding starts.242. Choose PR shape by coupling.25 - Keep code that must change together in one PR.26 - Split only when a branch can be reviewed, tested, and merged independently.27 - Prefer subsystem and behavior boundaries over micro-fixes.28 - For stateful or contract-sensitive work, split by contract ownership and integration boundary, not reviewer comment wording.293. Keep stacks short.30 - Default to 3 to 5 dependent PRs maximum.31 - If a plan needs more than 5 dependent PRs, regroup into broader mergeable slices before coding.32 - Do not create a PR per review comment or per tiny fix in the same subsystem.334. Merge runtime and verification where appropriate.34 - Keep tests, docs, runbooks, and proof tools with the runtime change unless they are genuinely independent.35 - Do not split proof or docs into separate branches just to make the stack look neat.365. Apply production-quality workflow on every active branch.37 - Use the production-preflight and production-code skills when the work warrants them.38 - Otherwise produce an explicit preflight before tracked edits and run the repo's lint, typecheck, unit, integration, build, and quality gates before calling work green.3940## Default Branch Plan For New Projects4142Use this unless there is a strong reason not to:43441. Foundations: config, types, schemas, state transitions, shared clients.452. Core runtime: control loops, persistence, service logic.463. User-facing behavior: actions, UI, APIs, external contracts.474. Proof/tests/docs: integration coverage, CLIs, runbooks, release evidence.485. Release hardening or consolidation: only if needed.4950## Hard Limits5152- Max 5 active dependent PRs.53- Max 2 branch classes mixed in one PR.54- The **review budget**: target ~500 net lines of code per PR, measured as additions minus deletions in human-authored source files and excluding generated files, lockfiles, vendored code, and pure docs. This is the canonical definition other skills reference.55- Treat a planned slice tracking materially above the target as a preflight warning that requires shrinking or a written justification in the governing artifact.56- The **split threshold** is 1,000 net lines: a planned PR likely to exceed it must be split by integration boundary or descoped before coding, absent explicit user approval for a concrete exception. Do not rely on review to catch oversize after the branch is built.57- If the same file appears in 4 or more open branches, stop and regroup.58- If a lower branch needs a second significant rewrite after reviews start, stop stacking upward.5960## Consolidation Triggers6162Stop opening more stacked PRs and switch to a consolidation PR when any of these happen:6364- the deploy or donor branch gets ahead of the reviewed stack65- lower-branch fixes repeatedly force upstream rebases66- inherited CI failures appear across 3 or more PRs67- the same behavior is being "fixed" in multiple branches68- reviewers can no longer tell where ownership lives69- rebase time starts exceeding implementation time7071## Rebase Policy7273- Rebase the next active branch after a lower-branch fix.74- Do not eagerly rebase the entire remaining stack for trivial cleanups.75- Keep the remote stack honest for branches you are actively editing.76- Use `git push --force-with-lease` only for rebased branches.7778## Recovery Workflow For A Messy Stack79801. Freeze deploys from donor or partially restacked branches.812. Identify the lowest owner branch for each still-real defect.823. Finish only the active owner branch.834. Rebase only the next active branch.845. When the active queue is stable, consolidate remaining donor-only or cross-cutting work into 1 or 2 PRs.856. Supersede stale stacked PRs instead of extending the chain forever.8687## Anti-Patterns8889- one PR per tiny conceptual change in tightly coupled code90- using stacked PRs as the long-term delivery vehicle for dozens of branches91- pushing donor or production fixes outside the reviewed stack without reconciliation92- splitting runtime and its required tests or docs too early93- treating reviewer comments as branch boundaries94- creating a separate proof or acceptance-fixture branch when the owning workflow surface can carry the proof directly9596## Required Output9798When using this skill, produce:99100- a delivery map with branch or PR ownership101- a commit structure for each branch or PR slice102- an estimated net-line budget for each PR slice, with any slice above the review-budget target justified and any slice above the split threshold rejected or split103- the target stack depth and consolidation rule104- the active-branch order105- verification gates per branch106- a deploy freeze rule if a stack already exists107- an explicit stop condition for when to consolidate instead of stacking further