写 commit 能不能别那么啰嗦?这个 Skill 帮你把话压到 50 字内
你的 git commit message 是不是长这样:“feat: update user authentication logic and improve performance and fix bug”
这种 commit 看着累,看着烦,code review 时 reviewer 还得读三遍才知道你到底改了啥。
今天挖到一个 Skill,来自 GitHub 上 99k 星仓库 caveman 的子技能:caveman-commit。名字叫”穴居人”——寓意就是让你的 commit 像原始人说话一样:又短、又狠、又准。
它教你怎么写 commit
Skill 里直接列了硬规则(不是建议,是规则):
Subject 行格式:
– <type>(<scope>): <imperative summary>
– 长度 ≤50 字符,硬上限 72
– 祈使语气:”add” / “fix” / “remove”,不是 “added” / “adds”
– 不要句号结尾
Body(可选):
– 简单到一眼能看懂的,直接不写
– 必须写的情况:非显然的 why、破坏性变更、数据迁移、关联 issue
– 用 - 不是 *
绝不能出现的东西:
– “This commit does X”、”I”、”we”、”now”、”currently”——diff 已经说了什么
– “Generated with Claude Code” 这种 AI 署名——除非项目规约要求
– emoji——除非项目规约要求
– 重复文件名——scope 里已经说了
反面 vs 正面示例
Skill 里直接给了对比:
❌ 反面:
feat: add a new endpoint to get user profile information from the database
✅ 正面:
feat(api): add GET /users/:id/profile
Mobile client needs profile data without the full user payload
to reduce LTE bandwidth on cold-launch screens.
Closes #128
看出区别了吗?正面那个 Subject 只有 35 字符,Body 说的是为什么这么改(不是改了什么),最后关联了 issue。三个月后回来看 git log,你会感谢当时的自己。
一个有趣的细节
Skill 里专门有一条 Auto-Clarity 规则:有些场景必须写 Body,不能压缩:
– 破坏性变更
– 安全修复
– 数据迁移
– revert 之前的 commit
理由也很实诚:未来调试这个 bug 的人需要 context,你省下的那 3 行字,可能让别人多花 3 小时。
适用场景
- 团队 code review 经常被吐槽 “commit 写得太长”
- 想统一团队 commit 风格,但不想自己定 convention 文档
- 个人项目也想保持 git log 干净、可读
- 装了 Claude Code / Cursor / Co-Agent,想让 AI 帮你写 commit 时风格统一
怎么用
仓库本身已经 99k 星,子技能文件就一个 SKILL.md,几分钟就能读完。推荐的做法:
- 把这份规则贴到你团队的 AGENTS.md 里
- 配置你的 AI 工具,让它在生成 commit 时强制按 caveman 的格式走
- 老 commit 不强求,新 commit 开始就用
GitHub 链接:
caveman-commit Skill
说真的,”写好 commit”这事看起来很基础,但能把格式、规则、例外、反面正面例子都写得这么清楚的 Skill 真的不多见。推荐每个开发者都看一眼。
GitHub: https://github.com/JuliusBrussee/caveman/tree/main/skills/caveman-commit
评论区
登录后可评论。