| name | atomic-commits |
| description | Use when implementing features, fixing bugs, refactoring code, or making any multi-step code changes. Guides agents to commit early and often in atomic increments, separate feature/refactor/cleanup work, and keep pull requests under ~200 lines. Use whenever writing code that will be committed, even if the user doesn't mention commits or PRs. |
Atomic Commits
Work in small, focused increments. Every commit should be atomic. Every PR should be reviewable in one sitting.
Atomic Commit Criteria
Every commit must:
- Pass CI — tests, linter, build all green
- Be deployable — application is in a valid state
- Introduce no dead code — no unreachable code, unused imports, or half-wired features
One Commit, One Type of Work
- Refactor — restructure code without changing behavior
- Feature — the behavior change itself
- Cleanup — remove old code, update docs
If the commit message needs "and", split it.
PR Size
Target ~200 lines per PR. If larger, find a seam — ship refactor and feature as separate PRs, each independently mergeable and deployable.
Agent Behavior
- Plan atomic steps before coding: refactors, then features, then cleanup.
- Commit after each atomic step — don't accumulate.
- Stage selectively (
git add --patch or specific files).
- When branch diff nears 200 lines, open a PR and continue in a follow-up.
Hook
This skill includes a PostToolUse hook (hooks/check-diff-size.sh) that monitors diff size after Edit/Write operations and nudges when it's time to commit or open a PR.