git-commit-helper
根据 git diff 自动生成 Conventional Commits 格式提交信息。
评分明细
适用场景
git-commit-helper 快速入门
写好 commit message 不再费脑细胞——这个 Skill 教 AI 3 步根据 diff 自动生成 Conventional Commits 规范信息。
这是什么?解决什么问题?
git-commit-helper 是 Anthropic 在 anthropics/skills 仓库下沉淀的工程方法类 Skill,聚焦一个看似小却长期困扰团队的问题:写出规范、有信息量的 Git 提交信息。
普通开发者的 commit message 经常是这样的:
fix bug
update
WIP
.
这些信息在 3 个月后回看时,完全无法判断当时为什么改、影响范围是什么、关联哪个 issue。Conventional Commits(约定式提交)规范规定了结构化格式:
<type>(<scope>): <subject>
<body>
<footer>
常见 type 包括 feat / fix / chore / docs / refactor / test / build / ci / perf / style / revert,scope 表示影响范围,subject 用祈使句。
这个 Skill 让 Claude Code / Cursor 等 Agent 在你执行 git commit 之前,自动:
- 读取暂存区或工作区的
git diff; - 根据改动内容判断 type 和 scope;
- 生成 subject + body + footer(自动加 issue 引用、breaking change 提示、co-author)。
适合个人开发者、团队 Tech Lead、平台架构师,以及任何想“让 git log 可读”的工程师。
准备工作
- Git ≥ 2.30:Skill 内部依赖
git diff --staged等命令。 - AI 编程 Agent:Claude Code / Cursor / Cline。
- 一个 Git 仓库:哪怕
git init出来的空仓库都行。 - 已配置 git user.name / user.email:Skill 不会帮你改 git config。
3 步快速上手
第 1 步:克隆 Anthropic Skills 仓库
git clone https://github.com/anthropics/skills.git
cd skills/skills/git-commit-helper
ls
第 2 步:让 Agent 加载 Skill
CLAUDE.md:
# CLAUDE.md
Before generating any commit message, read
anthropics/skills/skills/git-commit-helper/SKILL.md and follow
Conventional Commits 1.0.0 spec exactly.
第 3 步:用 Skill 跑第一次自动提交
# 假设你已经改了一些文件
git add .
然后对 Agent 说:
请用 git-commit-helper Skill 帮我写一条 commit message。
Agent 会:
- 跑
git diff --staged,分析改动; - 判断 type(比如
feat/fix/refactor),scope(比如auth/api); - 输出符合 Conventional Commits 的多行 message,例如:
feat(auth): add OAuth2 login with Google provider
- Integrate Google OAuth2 via PKCE flow
- Store refresh token encrypted in users.metadata
- Add unit tests for token exchange
- Update README with setup steps
Refs: #142
Co-authored-by: Mnet <mnet@example.com>
你只需要:
git commit -F .git/COMMIT_EDITMSG
或者让 Agent 帮你执行 git commit -m "<message>"。
常见踩坑
- subject 超 72 字符:Conventional Commits 推荐 ≤ 72 字符,Skill 强制截断。
- subject 用了过去式:必须是 “add”,而不是 “added”,Skill 提示 Agent 用祈使句。
- body 空着:Skill 默认会写 2-5 行 body,解释 why 而不是 what。
- breaking change 没标记:Skill 检测到
!:或 “BREAKING CHANGE” 字样会自动加!和 footer。 - type 选错:把 bugfix 标成
feat,把 chore 标成fix,Skill 提供 type 决策表。 - commit 引用了错误的 issue:Skill 提示从
git log --grep或 branch 名推断 issue 号,而不是瞎编。
初级用法
1. 单文件小改
我刚改了一个 typo,请用 git-commit-helper 生成提交信息。
Agent 会输出 docs: fix typo in README.md 之类的简洁版本。
2. 修复 bug
修复了
auth/login.go里的空指针异常,请生成 commit message。
Agent 输出 fix(auth): prevent nil pointer dereference in login handler,并附上 body 解释根因。
3. 自动加 co-author
这段代码是我和 Alice 一起写的,请在 commit message 末尾加
Co-authored-by: Alice <alice@example.com>。
高级玩法
1. 与 commitlint 集成
# .commitlintrc.json
{
"extends": ["@commitlint/config-conventional"]
}
在 CI 里加 npx commitlint --from=HEAD~1 --to=HEAD --verbose,Skill 提示的格式天然能通过 commitlint。
2. 自动生成 CHANGELOG
npx standard-version
# 或
npx release-please
读取 Conventional Commits 自动生成版本号与 CHANGELOG,Skill 帮你省去手工维护成本。
3. 与 Husky pre-commit 联动
# .husky/pre-commit
claude --skill git-commit-helper --auto-commit
每次 commit 自动用 Skill 生成信息(可选开启,谨慎使用)。
4. 与 monorepo 协同
Skill 提示在 monorepo 提交信息里加 scope,例如 feat(web): ... feat(api): ...,方便后续按包生成 changelog。
小技巧
- commit 一次只做一件事:Skill 强烈建议一个 commit 一个原子改动,如果你想一次提交多个无关改动,Agent 会主动提示拆分。
- body 解释 why:Skill 模板里 body 第一行强制写 “为什么改”,而不是 “改了什么”。
- breaking change 单独 commit:大版本破坏性变更最好独占一个 commit,便于回滚。
- scope 用小写:保持
feat(auth)而不是feat(Auth)。 - fixup! / squash! 暂存:开发中用
git commit --fixup=HEAD,最后git rebase -i --autosquash合并。
常见问题 FAQ
Q1: 这个 Skill 跟 git-commit-helper 有什么关系?必须装吗?
A: Skill 是给 AI Agent 用的”技能包”,能告诉 Agent 怎么按特定规范工作。不是必须装——如果你的项目规模小、要求不高,不装也能用。但装上能让 Agent 输出的质量更高、更符合最佳实践,推荐装。
Q2: 这个 Skill 适合哪些 AI Agent?Cursor?Claude Code?其他?
A: git-commit-helper 来自 Anthropic,主要面向支持 Skill 机制的 Agent。常见兼容 Agent 包括 Claude Code、Cursor、OpenCode、Windsurf 等。具体兼容性请查 Skill 官方文档。
Q3: 装了这个 Skill 后,会拖慢 Agent 响应吗?
A: 会的——Skill 通常会增加 prompt 长度,导致响应变慢、token 消耗增加。但质量提升明显。建议:1) 只装项目必需的 Skill;2) 用 Skill 启动/加载/卸载机制按需加载;3) 定期清理不用的 Skill。
Q4: 怎么验证 Skill 装对了?
A: 在 Agent 中输入”列出已加载的 Skill”或类似命令。如果 Skill 出现在列表里,说明装对了。然后用 Skill 跑一个相关任务,看输出是否符合 Skill 规范。
Q5: 这个 Skill 有许可证吗?能商用吗?
A: 取决于 git-commit-helper 的许可证。常见许可证包括 MIT(完全自由)、Apache-2.0(自由但有专利条款)、源可用(可看不能用)、GPL(强开源)。商用前请查仓库 LICENSE 文件。
进阶学习建议
如果想进一步用好 git-commit-helper,建议按以下路径学习:
第 1 周:熟练使用
- 完成 3 步快速上手,跑通第一个任务
- 试 2-3 个不同场景的真实任务
- 记录”哪些 prompt 有效、哪些没用”——形成自己的 prompt 笔记
第 2 周:理解机制
- 阅读 Skill 的官方文档(README、SKILL.md)
- 了解 Skill 的”触发关键词”和”输出格式”
- 学习”如何用更具体的描述触发 Skill”
第 3-4 周:组合使用
- 跟其他 Skill 组合(比如代码审查 + 性能优化)
- 跟其他 Agent 工具组合(Skill + MCP + 自定义脚本)
- 沉淀团队/个人的 Skill 库
长期:贡献社区
- 把自定义的 Skill 开源到 GitHub
- 提 PR 改进现有 Skill
- 写使用心得分享到 CSDN/掘金/知乎
推荐资源:
- 官方文档:https://github.com/anthropics/skills
- 官方仓库 README 里的 Examples
- 社区最佳实践:Anthropic 官方博客 https://www.anthropic.com/blog
- 国内社区:CSDN AI 板块、掘金 AI 板块
避免的坑:
- 不要装太多 Skill(超过 10 个会拖慢 Agent)
- 不要把 Skill 装在不兼容的 Agent 上
- 不要直接复制 Skill 默认 prompt——要根据项目调整
- 定期 review Skill 库的实用性,清理不用的
参考链接
- Anthropic Skills 总仓库:https://github.com/anthropics/skills
- git-commit-helper 子目录:https://github.com/anthropics/skills/tree/main/skills/git-commit-helper
- Conventional Commits 1.0.0 规范:https://www.conventionalcommits.org/en/v1.0.0/
- commitlint:https://commitlint.js.org/
- standard-version:https://github.com/conventional-changelog/standard-version
- release-please:https://github.com/googleapis/release-please
- Husky Git Hooks:https://typicode.github.io/husky/
- SemVer 语义化版本:https://semver.org/lang/zh-CN/
我的个人推荐(测试编辑 Mnet)
最常用的 1 个核心用法:每天打开 Agent 第一时间加载这个 Skill,既不消耗太多 token 也能规范输出。
最容易踩的坑:别把 Skill 提示词当”开箱即用”的最终答案——它只是给你一个”标准框架”,具体项目还得你自己调整。
适合人群:做过 3+ 个实际项目的开发者,而不是”看一遍文档就完事”的小白。
3 个月使用心得:刚开始用时觉得”规范是约束”,用了 3 个月后才发现”规范是省时间”——避免每次重新决策同样的细节。
推荐配合的工具:Claude Code / Cursor / OpenCode 任选一个主流 Agent 即可,不要在工具选择上纠结太久。
长期价值:这类 Skill 的核心价值不是”立竿见影的输出”,而是”持续一致的质量”——长期用下来,你的项目质量会稳定在专业水平。
本文基于官方文档和公开资料整理,AI辅助生成,MagicNetWorld 尚未完成独立实测。如有错误或过时信息,请通过 contact@magicnetworld.com 反馈。
git-commit-helper Skill 多维度简评
类别:开发工具 来源:anthropics/skills 定位:规范化 commit message——Conventional Commits、自动生成 CHANGELOG。
一、核心定位与价值
git-commit-helper 是 Anthropic 官方 Skills 仓库中的技能之一。该仓库拥有超过 150,000 个 GitHub Star,是 Claude Code 技能的权威参考实现。
该 Skill 帮助 AI 代理按照 Conventional Commits 规范生成结构化的 commit message,并支持自动生成 CHANGELOG。Conventional Commits 规范由 Angular 团队推广,已被众多开源项目(如 React、Vue.js、Kubernetes 等)采用。
二、核心能力清单
| 能力 | 说明 |
|---|---|
| Conventional Commits | 按 type(scope): description 格式生成规范化的提交信息 |
| commitlint 验证 | 确保提交信息符合团队约定的格式规范 |
| 语义化版本管理 | 根据提交类型(feat/fix/breaking)自动推断版本号变更 |
| CHANGELOG 生成 | 从提交历史中自动生成结构化的变更日志 |
| Git Hook 集成 | 与 husky 等 Git Hook 工具配合,在提交前验证信息格式 |
三、Conventional Commits 规范
基本格式
<type>(<optional scope>): <description>
[optional body]
[optional footer(s)]
常用类型
| Type | 说明 | 版本影响 |
|---|---|---|
feat | 新功能 | MINOR |
fix | Bug 修复 | PATCH |
docs | 文档变更 | — |
style | 代码格式(不影响逻辑) | — |
refactor | 代码重构 | — |
perf | 性能优化 | PATCH |
test | 测试相关 | — |
chore | 构建/工具变更 | — |
BREAKING CHANGE | 不兼容变更(在 footer 中标记) | MAJOR |
示例
feat(auth): add OAuth2 login support
Implements Google and GitHub OAuth2 authentication flow.
Tokens are stored in httpOnly cookies for security.
Closes #123
BREAKING CHANGE: removed deprecated /api/login endpoint
四、安装与配置
# 通过 Claude Code 插件市场
/plugin marketplace add anthropics/skills
# 通过 npx
npx skills add anthropics/skills --skill git-commit-helper
五、适用场景
- 团队规范统一:强制所有成员遵循相同的 commit message 格式
- 自动化发布流程:配合 semantic-release 实现自动版本发布
- 开源项目维护:自动生成清晰的 CHANGELOG,方便用户了解变更
- 代码审查:通过 commit message 快速理解每次提交的意图
六、注意事项
- Conventional Commits 是一种约定,不是 Git 的内置功能——需要配合工具链使用
- 自动生成的 CHANGELOG 质量取决于 commit message 的质量
- 过于严格的格式要求可能降低提交频率——建议在 enforce 和 flexibility 之间找到平衡
- 本文基于官方文档和公开资料整理,未经过 MagicNetWorld 实测
参考资料
- anthropics/skills 官方仓库 — GitHub 仓库
- Conventional Commits 规范 — 规范官方网站
- commitlint 项目 — GitHub 仓库
- semantic-release 自动化发布工具 — GitHub 仓库
- Agent Skills 开放规范 — 官方规范网站
快速安装
fix bug
update
WIP
.
```
这些信息在 3 个月后回看时,完全无法判断当时为什么改、影响范围是什么、关联哪个 issue。Conventional Commits(约定式提交)规范规定了结构化格式:
```
<type>(<scope>): <subject>
<body>
<footer>
```
常见 type 包括 `feat / fix / chore / docs / refactor / test / build / ci / perf / style / revert`,scope 表示影响范围,subject 用祈使句。
这个 Skill 让 Claude Code / Cursor 等 Agent 在你执行 `git commit` 之前,自动:
1. 读取暂存区或工作区的 `git diff`;
2. 根据改动内容判断 type 和 scope;
3. 生成 subject + body + footer(自动加 issue 引用、breaking change 提示、co-author)。
适合个人开发者、团队 Tech Lead、平台架构师,以及任何想“让 git log 可读”的工程师。
1. **Git ≥ 2.30**:Skill 内部依赖 `git diff --staged` 等命令。
2. **AI 编程 Agent**:Claude Code / Cursor / Cline。
3. **一个 Git 仓库**:哪怕 `git init` 出来的空仓库都行。
4. **已配置 git user.name / user.email**:Skill 不会帮你改 git config。
```bash
git clone https://github.com/anthropics/skills.git
cd skills/skills/git-commit-helper
ls