Plan commits as reviewable work units. Trigger: implementation, commit splitting, chained PRs, or keeping tests and docs with code.
npx skills add https://github.com/Gentleman-Programming/gentle-ai --skill work-unit-commits
Load this skill when deciding what belongs in each commit or PR.
Use it for:
| Rule | Requirement |
|------|-------------|
| Commit by work unit | A commit represents a deliverable behavior, fix, migration, or docs unit. |
| Do not commit by file type | Avoid models, then services, then tests if none works alone. |
| Keep tests with code | Tests belong in the same commit as the behavior they verify. |
| Keep docs with the user-visible change | Docs belong with the feature or workflow they explain. |
| Tell a story | A reviewer should understand why each commit exists from its diff and message. |
| Future PR-ready | Each commit should be a candidate chained PR when the change grows. |
| SDD workload guard | If SDD tasks forecast a >400-line change, group commits into chained PR slices before implementation. |
| Budget is not code-golf | Never shrink a diff by deleting comments, blank lines, docs, or tests, or by compressing code, to fit the review budget (400 by default, or the session review_budget_lines). Slice by work unit or report the overage. |
Before committing, confirm:
N/A explains why no runtime boundary exists.| Weak split | Better work-unit split |
|------------|------------------------|
| add models | feat(auth): add token validation domain model and tests |
| add services | feat(auth): wire token validation into login flow |
| add tests | Tests included with each behavior commit |
| update docs | Docs included with the user-facing change they explain |
Use work-unit commits as the foundation for chained PRs:
When sdd-tasks produces a Review Workload Forecast:
delivery_strategy — ask on ask-on-risk, auto-slice on auto-chain, require size:exception on over-budget single-pr, or record accepted size:exception on exception-ok.>400 threshold. Exclude generated goldens from that authored count, but include every generated file in complete snapshot identity and receipt validation.size:exception recommendation. Do not iterate shrinking the code to reach the number.Each SDD work unit should map cleanly to a commit or PR with:
Its implementation evidence MUST include:
N/A with reason.# Review the story before committing
git diff --stat
git diff --cached --stat
# Check recent commit style
git log --oneline -5
Take gentleman-programming/work-unit-commits from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.