评分明细
适用场景
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合并。
参考链接
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 开放规范 — 官方规范网站
📊 评分与标签
评分说明
总分 8.3/10 · P_优选
📊 可观测社区指标(数据核验日期:2026-07-23)
- GitHub: anthropics/skills ★163,385,Fork 19,380
📦 可安装性 2.1/2.5
- 官方仓库本身可加载其公开 Skills,但该同名条目缺少可定位路径,不能确认可按条目名称直接安装。
- 来源:安装与源码
- 对比 Conventional Commits、Commitizen:只对公开可复核的安装路径和依赖计分,不把宿主账号或外部服务能力算作 Skill 自身。
🎯 实用性 2.3/2.5
- 条目描述依据 git diff 生成 Conventional Commits 信息;但核验时 Anthropic 官方仓库树中未发现同名 Skill。
- 来源:功能说明
- 对比 Conventional Commits、Commitizen:本维度依据实际任务覆盖、输出边界和风险控制,而非仅依据仓库热度。
📖 文档质量 1.7/2.0
- Conventional Commits 规则公开明确,然而该条目的独立 README、示例和维护记录未在登记仓库找到。
- 来源:文档与示例
- 对比 Conventional Commits、Commitizen:可核验的步骤、示例和限制计入分数,缺少原始文件时明确扣分。
👥 社区活跃 1.0/1.5
- Anthropic Skills 总仓 API 返回 ★163,385、Fork 19,380;该数字不能证明 git-commit-helper 单项存在或采用。
- 社区数字是核验日仓库级快照;与 Conventional Commits、Commitizen 的规模差异不直接推导功能质量。
🔗 兼容性 1.2/1.5
- 基于 Git diff 的方法可跨语言与 Agent 使用;提交规范、scope 与签名政策需服从目标仓库规则。
- 来源:兼容与配置说明
- 对比 Conventional Commits、Commitizen:只计算明确支持的协议、语言和运行环境,不推定未声明的平台兼容。
评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。
局限与使用边界
- 来源身份存在缺口,不能宣称这是已核验的 Anthropic 官方 Skill;生成提交信息前必须检查 staged diff,且不得泄露秘密。
- 本评分为公开资料审查,不代表在所有宿主、账号权限与生产数据集上完成独立实测。
🏷️ 标签说明
- 免费: 标签对应条目公开描述与已核验的能力边界。来源:主要核验来源
- 设计模式: 标签对应条目公开描述与已核验的能力边界。来源:主要核验来源
- Anthropic: 标签对应条目公开描述与已核验的能力边界。来源:主要核验来源
📋 来源核验记录
- ✅ 已核验:主要官方或登记来源
- ✅ 已核验:GitHub 仓库页面
- ✅ 已核验:GitHub API 元数据
- ⚠️ 间接来源:站内 JSON 仅用于名称、标签和固定总分的一致性校验,维度证据取自以上公开页面。
- ❌ 已删除死链:无;无法定位同名原始 Skill 的情况已在正文明确限制,未伪造路径或指标。