git-commit
作者 fvadicamogit-commit 技能可帮你按照 Conventional Commits 格式创建聚焦的提交,包含必需的 scope、现在时态的 subject,以及来自 CLAUDE.md 的项目专属规则。适合在需要可靠的 git-commit 指南、更好的提交信息和更一致的 Git 工作历史时使用。
该技能得分为 78/100,属于目录用户的稳妥候选:它提供了足够具体的提交格式指导,实用性不错,但在项目专属约定和执行上下文方面仍有一定不确定性。安装后,它更像一个实用的提交撰写助手,而不是端到端自动化的 git 工作流工具。
- 触发条件清晰:frontmatter 明确写明,可在提交更改、保存工作内容或暂存并提交时使用。
- 提交规则操作性强:明确了必需的 scope、如 `security` 之类的允许类型扩展、subject 行长度、时态要求,以及禁止使用泛泛的信息。
- 示例和参考很实用:正文包含快速上手命令,以及一个带有优/劣提交示例和多行提交模式的参考文件。
- 它明确要求先检查 `CLAUDE.md`,因此最终约定可能会因项目而异,并需要额外上下文。
- 没有提供安装命令或自动化脚本,所以它更偏向指导型,而不是工具驱动型。
git-commit 技能概览
git-commit 能做什么
git-commit 技能可以帮你生成符合 Conventional Commits 的提交信息,并支持项目级规则,比如必须包含 scope、使用现在时、以及简短且聚焦的摘要。它最适合那些需要一个稳定可靠的 git-commit 指南的人:它能把已暂存的变更整理成符合仓库规范的 commit message,而不是一条泛泛的提示词。
谁适合使用它
如果你所在的工作流很看重提交质量,就该用 git-commit 技能:比如 feature branch、共享仓库、release notes、changelog 自动化,或者要求历史记录保持一致的团队。尤其当你已经知道改了什么,但希望有人帮你把这次改动整理成正确的 type(scope): subject 形式时,它会很有用。
它为什么不一样
git-commit for Git Workflows 的核心价值不只是给你一个模板。它会先推动你检查仓库自己的约定,阅读最近的提交找出本地风格,并让提交内容与项目现有的历史写法保持一致。这样可以降低一种风险:提交虽然语法上没错,但对这个代码库的协作习惯来说并不合适。
如何使用 git-commit 技能
安装 git-commit
在你的 skills manager 里运行安装命令:npx skills add fvadicamo/dev-agent-skills --skill git-commit。对于 git-commit install,先确认该技能在仓库路径 skills/git-commit 下可用,然后在真正用于提交流程之前打开 SKILL.md。
从正确的输入开始
git-commit usage 最好在你提供这三类信息时使用:改了哪些文件、这次改动达成了什么、以及仓库是否在 CLAUDE.md 里定义了自己的提交规则。你如果只说“帮我提交”,技能就只能猜 scope 和 message。更好的请求像这样:“我修改了 auth token validation 和测试;请生成一个 scope 为 auth、subject 简洁的 Conventional Commit。”
先读这些文件
先从 SKILL.md 开始,再查看 references/commit_examples.md,里面有按 type 分类的模式,以及 good/bad 对比。如果仓库里还有 CLAUDE.md,那在照搬任何示例之前,应把它作为唯一准则。这样最能快速理解 git-commit skill 在实际使用中如何处理 scope、body 内容和 message 长度。
把零散改动整理成提交提示
把混乱的 status 信息翻译成一段能直接用于提交的简报:写清子系统、面向用户的影响,以及应该写进 body 的任务号或需求编号。比如,不要只说“修了个 bug”,而应该说“修复了下载流程中的超时处理;使用 fix(download),并提到重试行为”。这种具体程度不仅能提升 message 质量,也能避免生成那种违反 git-commit 指南规则的泛化输出。
git-commit 技能 FAQ
这会取代普通的 commit prompt 吗?
不会。普通 prompt 也能生成还不错的 message,但 git-commit 的目标是强制执行仓库的提交纪律,包括必须的 scope 和 subject 风格。当你希望 git-commit 输出可重复、格式统一,并且减少后续返工时,它会更合适。
它适合新手吗?
适合,但前提是你已经理解 staged changes 和基本 Git 操作。这个技能能把“我改了文件”清楚地引导到“我需要一个合格的 commit”,但新手仍然要知道哪些改动应该放在一个 commit 里,哪些应该拆开。如果你的改动混杂了彼此无关的 feature,先拆分再使用这个技能。
什么时候不该用它?
如果仓库没有提交规范,或者团队明确偏好自由格式的 message,就不要用它。对于体量很大、内容混杂、而你还没决定如何分组的 diff,它也不是好选择。遇到这种情况,先把变更整理好,再使用 git-commit 技能。
它在团队工作流里为什么有价值?
这个技能能让提交历史更易读,方便 reviewer、release 工具和后续排查问题。因为它会查找项目级约定并参考最近提交,所以对于重视一致历史和 Conventional Commits 合规性的团队来说,它比通用模板更有针对性。
如何改进 git-commit 技能
给技能更清晰的变更摘要
最好的 git-commit 结果来自精确的变更摘要,而不是模糊描述。要包含受影响的区域、实际行为变化,以及任何约束条件。比如,“更新 cookie 处理逻辑,拒绝无效域名并补充测试”就比“做了一些 auth 相关修改”更好。这样能帮助技能选对 type、scope 和 body。
对齐项目的本地约定
提升 git-commit 输出质量最有效的方法,是在接受第一版之前先检查 CLAUDE.md 和最近的提交。如果项目使用特殊 scope、body 注释或需求引用,要把这些信息直接带进请求里。这个技能本来就是为了遵守项目规则而设计的,所以输入越好,后续清理工作就越少。
注意常见失败模式
大多数不够好的 commit message,问题都差不多:scope 太大、subject 太空,或者把多个互不相关的改动塞进一行。另一个常见问题是忽略 50 字符的 subject 限制。如果输出看起来还是太笼统,就把范围收窄,只聚焦一个逻辑单元的工作。
从草稿迭代到最终版
把第一次输出当作候选版本,再结合实际 diff 继续打磨。检查 scope 是否准确命名了子系统,subject 是否用了现在时的祈使句式,以及 body 是否提供了比 subject 更多的价值。这样的迭代,正是 git-commit skill 在 Git Workflows 里最有用的地方:它能把一个粗糙的提交想法,变成你真正在历史记录里愿意保留的 message。
