📚 工程方法 全难度 📦 Anthropic

git-commit-helper

根据 git diff 自动生成 Conventional Commits 格式提交信息。

📄 相关文章

📊 评分明细

📦 打包完整度
2.1 2.1 / 2.5
🎯 实用性
2.1 2.1 / 2.5
📖 文档清晰度
1.7 1.7 / 2
👥 社区影响力
1.2 1.2 / 1.5
🔗 集成度
1.2 1.2 / 1.5

🎯 适用场景

免费设计模式Anthropic

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 之前,自动:

  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。

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 会:

  1. git diff --staged,分析改动;

  2. 判断 type(比如 feat / fix / refactor),scope(比如 auth / api);

  3. 输出符合 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>"

常见踩坑

  1. subject 超 72 字符:Conventional Commits 推荐 ≤ 72 字符,Skill 强制截断。

  2. subject 用了过去式:必须是 “add”,而不是 “added”,Skill 提示 Agent 用祈使句。

  3. body 空着:Skill 默认会写 2-5 行 body,解释 why 而不是 what。

  4. breaking change 没标记:Skill 检测到 !: 或 “BREAKING CHANGE” 字样会自动加 ! 和 footer。

  5. type 选错:把 bugfix 标成 feat,把 chore 标成 fix,Skill 提供 type 决策表。

  6. 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 Commitstype(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
fixBug 修复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 实测

参考资料

📊 评分与标签

评分说明

总分 8.3/10 · P_优选

📊 可观测社区指标(数据核验日期:2026-07-23)

📦 可安装性 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 的情况已在正文明确限制,未伪造路径或指标。