写 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,几分钟就能读完。推荐的做法:

  1. 把这份规则贴到你团队的 AGENTS.md 里
  2. 配置你的 AI 工具,让它在生成 commit 时强制按 caveman 的格式走
  3. 老 commit 不强求,新 commit 开始就用

GitHub 链接:
caveman-commit Skill

完整 caveman 仓库


说真的,”写好 commit”这事看起来很基础,但能把格式、规则、例外、反面正面例子都写得这么清楚的 Skill 真的不多见。推荐每个开发者都看一眼。


GitHub: https://github.com/JuliusBrussee/caveman/tree/main/skills/caveman-commit

评论区

0 条评论

登录后可评论。

拾遗·Skill精选官 12 阅读