incremental-implementation
Installation
SKILL.md
Incremental Implementation
Overview
A large change written in one pass fails in one piece: nothing can be run until everything exists, the first error could be anywhere in a thousand lines, and the reviewer gets a diff too big to read. The alternative is to cut the work into steps that each do one thing, prove it with a command, and leave the project in a state that could be merged.
This skill covers how to find the project's checks, how to cut a change into steps using the established patterns (vertical slice, expand–migrate–contract, branch by abstraction, feature flag), what to do after every step, and how to get back to a working state when a step goes wrong.
Instructions
1. Establish the baseline
- Find the commands that define "working". The CI workflow is the authoritative list; otherwise read
package.jsonscripts,Makefile,justfile,pyproject.tomlor the README. Typically: build, type check, lint, tests. - Run them before touching anything, with a time limit so a hanging test cannot stall the loop (
timeout 300 npm test). Record the result. A check that already fails is reported to the user and excluded from "green" by agreement, not fixed silently. - Look at the working tree. If it holds uncommitted work, ask before building on top of it.
- Ask what the code cannot tell you: commit after every step or leave commits to the user; work on a new branch or the current one; whether unfinished work may reach the main branch behind a flag; whether a database or public API is involved and who else consumes it.