phased-delivery
Skill1 starsChanged 2 months agoMITView on GitHub
Break a multi-session plan into phases that each fit one context window — vertical tracer-bullet slices, a non-goals list per phase, a checkable definition of done, and a real rollback point (git tag or merged PR) at every boundary. Use when a change spans more than one session, when asked to "break this into phases / tickets", to "plan the rollout", or before starting a build big enough that scope will drift.
In this repository73 other files it gives its agents.
- AGENTS.mdAGENTS.md
- bigquery-analyticsSkill
- cache-invalidationSkill
- mongo-aggregationSkill
- mongo-modelingSkill
- postgres-aggregationSkill
- postgres-indexingSkill
- redis-coordinationSkill
- redis-patternsSkill
- review-querySkill
- code-migrationSkill
- cut-releaseSkill
- data-migrationSkill
- deploy-serviceSkill
- hotfixSkill
- rollbackSkill
- design-endpointSkill
- design-eventSkill
- design-schemaSkill
- evolve-contractSkill
- scaffold-nestjs-moduleSkill
- scaffold-projectSkill
- incident-responseSkill
- investigate-bugSkill
- on-callSkill
- postmortemSkill
- audit-skillsSkill
- distill-review-styleSkill
- write-skillSkill
- debug-with-tracesSkill
- define-alertsSkill
- instrument-serviceSkill
- evaluate-dependencySkill
- grillSkill
- handoffSkill
- orientSkill
- spikeSkill
- to-questionnaireSkill
- write-adrSkill
- write-prdSkill
- devops-pr-reviewSkill
- go-backend-pr-reviewSkill
- nestjs-backend-pr-reviewSkill
- python-backend-pr-reviewSkill
- react-frontend-pr-reviewSkill
- bisectSkill
- break-couplingSkill
- dead-code-sweepSkill
- deslopifySkill
- extract-moduleSkill
- rebase-cleanSkill
- resolve-merge-conflictsSkill
- split-commitSkill
- tddSkill
- wait-whatSkill
- wide-renameSkill
- bullmqSkill
- kafkaSkill
- sqs-consumerSkill
- audit-dependenciesSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 5 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 48
Test for a bad slice: *"what can I demo when this phase is done?"* If the answer is a layer, not a behaviour, re-slice.
- Distinctive: line 57
Every phase names the phases that must finish before it can start.
- Distinctive: line 63
Start from a written plan, a spec, or the current conversation.
- Distinctive: line 70
Put any prefactoring ("make the change easy, then make the easy change") first.
- Distinctive: line 74
Run one phase per fresh session.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Phased delivery
For work too big for one session. The goal is that no session ever has to hold
more than one phase's worth of decisions. Pattern adapted from
mattpocock/skills (to-tickets,
wayfinder, phase boundaries) — see .agents/external-skills.md
to install those directly.
The three rules that matter most
1. Every phase gets a non-goals list, not just goals
The non-goals list prevents scope creep more than the goals list does. For each phase, write what it explicitly will not touch — the adjacent work that's tempting to pull in "while we're here". A phase with no non-goals is under-specified.
2. Definition of done is a checkable artifact, not a vibe
"Phase 2 is done" must mean something a machine or a five-minute manual check can confirm:
- a named test suite passes,
- a specific flow works end to end (state the exact steps),
- a command exits 0,
- an endpoint returns the expected shape.
"It feels complete" is not a definition of done.
3. A phase boundary is a git tag or a merged PR
Not "I feel done". Each completed phase ends with a real, named rollback point —
a git tag (phase-1-<slug>) or a merged PR. If a later phase goes wrong, you
revert to the boundary, not to a guess.
Slicing: vertical, not horizontal
Each phase is a tracer bullet — a narrow but complete path through every layer it touches (schema → logic → API → UI → tests), demoable on its own the moment it lands. Not "all the schema in phase 1, all the API in phase 2" — that way nothing works until the end and each phase's done-check reaches into another phase's work.
Test for a bad slice: "what can I demo when this phase is done?" If the answer is a layer, not a behaviour, re-slice.
Exception — wide mechanical refactor (rename a shared column, retype a symbol): use expand → migrate in batches → contract, each batch a phase, CI green throughout because the old form still exists until the final contract.
Blocking edges
Every phase names the phases that must finish before it can start. Keep the graph shallow — if everything blocks on phase 1, the slicing is probably horizontal. The phase with no blockers is the one you start.
Process
- Start from a written plan, a spec, or the current conversation.
- Draft the phase list. For each phase:
- Goal — one or two sentences, a behaviour.
- Non-goals — the adjacent work it won't do.
- Definition of done — the checkable artifact.
- Boundary — tag name or "PR merged to
main". - Blocked by — earlier phases, or "nothing".
- Put any prefactoring ("make the change easy, then make the easy change") first.
- Present the list numbered and quiz it: is the granularity right, are the blocking edges real, does every phase have a demo answer, should any merge or split. Nothing starts until this is settled.
- Run one phase per fresh session. At each boundary: tag or merge, then decide continue / clear / compact for the next (continue only if the next phase needs this one's reasoning verbatim or there's plenty of context left).
Anti-patterns
- ❌ Phases sliced by layer.
- ❌ A phase with goals but no non-goals.
- ❌ "Done" meaning a feeling instead of a check.
- ❌ Moving to the next phase without a tag or merge behind you.
- ❌ Over-decomposition: twelve phases for a change that fits one session — then you don't need this skill, just build it.
- ❌ A done-check that's already green at the phase's starting commit.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

