step-commitslisted
Install: claude install-skill DavoDC/claude-playbook
# Step Commits - One Change, One Commit
Use this when implementing multiple changes in one session. Forces atomic commits
by planning the split BEFORE writing any code. Prevents the anti-pattern of one
large commit with 5+ unrelated bullet points.
| Skill | When to use |
|-------|-------------|
| `/commit-all` | tree already dirty, one topic, one commit |
| `/commit-chunks` | tree already dirty, multiple topics, split post-hoc |
| `/step-commits` | nothing implemented yet, plan atomic commits UPFRONT |
## Steps
1. **List all planned changes** as a numbered atomic commit plan. Each item = one commit.
- One change = one observable effect on program behaviour
- Split by: fix A / fix B / feat C / refactor D - never bundle these
- Show the list to the user and confirm before writing any code
2. **For each item in order:**
a. Implement ONLY that change - nothing else, even if you notice something nearby
b. Immediately commit with a message that describes just that one effect
c. Say "Committed [N/total]: <message>" so user tracks progress
d. Move to next item
3. **If you notice an unplanned fix while implementing** - do NOT apply it.
Add it to the end of the list and continue. Never mix an unplanned change
into an in-progress commit.
## Commit message rules
- One line, under 72 chars
- Imperative, present tense ("fix X", "add Y", "move Z")
- Describes the USER-VISIBLE effect, not the code change
- No em dashes, no bullet points in the subject line