Agent Skills
› Gentleman-Programming/gentle-ai
› work-unit-commits
work-unit-commits
GitHub指导将代码变更拆分为可审查的工作单元,确保测试和文档随功能提交,维持低认知负荷,支持链式PR及ODD开发流程。
Trigger Scenarios
实现功能时拆分提交
准备PR前的提交整理
大型变更转为链式PR
Install
npx skills add Gentleman-Programming/gentle-ai --skill work-unit-commits -g -y
SKILL.md
Frontmatter
{
"name": "work-unit-commits",
"license": "Apache-2.0",
"metadata": {
"author": "gentleman-programming",
"version": "1.0"
},
"description": "Plan commits as reviewable work units. Trigger: implementation, commit splitting, chained PRs, or keeping tests and docs with code."
}
When to Use
Load this skill when deciding what belongs in each commit or PR.
Use it for:
- Splitting a feature into reviewable work.
- Preparing commits before opening a PR.
- Turning a large change into chained or stacked PRs.
- Keeping reviewer cognitive load healthy.
- Closing an ODD task with a work-unit commit.
Critical Rules
| 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. |
| 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. |
Work Unit Checklist
Before committing, confirm:
- The commit has one clear purpose.
- The repo still makes sense after applying only this commit.
- Tests or docs for this unit are included when relevant.
- Rollback is reasonable without reverting unrelated work.
- Focused test command and exact result are recorded.
- Runtime harness command/scenario and exact result are recorded, or explicit
N/Aexplains why no runtime boundary exists. - Rollback boundary names the exact files/behavior removable without unrelated work.
- The commit message explains the outcome, not the file list.
Split Examples
| 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 |
PR Relationship
Use work-unit commits as the foundation for chained PRs:
- Build the smallest independent work unit.
- Include verification for that unit.
- Commit it with a Conventional Commit message.
- If the PR approaches 400 changed lines, promote commits or groups of commits into chained PRs.
ODD Relationship
Organic Driven Development (ODD) closes every substantial task with a work-unit commit on the feature branch:
- Every ODD task closes with at least one work-unit commit, branch first when on the default branch, with tests and docs alongside the behavior and a Conventional Commit message.
- The native review candidate is that commit, or the PR slice it belongs to when review is deferred, against the previous reviewed boundary. It is never a TODO checkbox and never the accumulated feature branch.
- The running authored line count from work-unit commits feeds the delivery-strategy vocabulary:
ask-on-risk,auto-chain,single-pr,exception-ok. - The ODD feature document records the commit identity as evidence and, once a delivery strategy applies, the chosen chain strategy and slice boundaries (which commits each PR holds).
Commands
# Review the story before committing
git diff --stat
git diff --cached --stat
# Check recent commit style
git log --oneline -5
Version History
-
e8c9f59
Current 2026-09-28 01:18
移除SDD工作负载防护规则,更新为基于ODD的任务关闭规范。
-
bc4b36e
2026-09-22 13:42
新增 SDD 任务风险等级对应的交付策略说明,完善工作单元检查清单与示例。
-
59a742a
2026-09-03 09:07
新增反代码高尔夫规则,禁止Agent为凑400行预算而压缩代码;明确引用会话级review_budget_lines参数;增加执行边界限制,单次分割失败后需报告超量异常而非无限迭代。
- e01b114 2026-07-25 07:00


