Git 规范化提交助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_b8893874/git-ls。
技能介绍
要解决什么问题
在真实仓库里写 commit message,常见痛点是:subject 和实际 diff 对不上、混在一笔提交里说不清主次,或者团队有 Conventional Commits 约定却每次靠记忆拼前缀。本技能面向「当前仓库内生成 commit message、提交描述、提交摘要」这一场景,要求提交信息匹配真实改动范围,并优先遵循当前仓库的本地规则;没有更具体规则时,默认采用英文 Conventional Commits 前缀 + 简短直接的中文 subject,且结尾不加句号。
技能如何工作
命中本技能后,规则会整体执行(不得因改动小、只读或只跑命令而跳过已命中的流程)。典型步骤如下:
- 先执行
git status --short,有已暂存内容时优先按暂存范围写提交信息。 - 只读取理解改动所需的 diff 与附近上下文,避免空泛表述(如「update code」「fix issue」)。
- 判断仓库是否存在本地提交规则,再套用通用 Conventional Commits 的 type(
feat/fix/docs/refactor等)。 - scope 仅在能明显提升定位时添加;body 仅在需要说明原因或上下文时写;不兼容改动才用
!与BREAKING CHANGE:footer。 - 工作区存在混合改动时,先建议拆分提交或确认范围,再给出可直接使用的一条 message;若 diff 不适合单提交,会先提示拆分并给出候选信息。
适用边界与注意点
- 语义前缀默认保持英文;subject 默认中文,仅当仓库明确要求时才用纯英文命令式描述。
- 多个 skill 同时命中时,相关规则会叠加,交付前需逐条确认已落实。
- body 只写「改了什么、为什么改」,不写实现步骤清单。
使用场景
- 已 `git add` 部分文件,需要按暂存范围写一条与 diff 一致的 Conventional Commits 提交说明
- 工作区同时改了文档与业务代码,提交前需要判断是否应拆分并分别生成 subject
- 团队仓库有本地 commit 约定,改动后要先对照规则再选 type 与中文 subject
- 一次重构无对外行为变化,需要区分 `refactor` 与 `fix` 并避免空泛的 update 类描述
适合人员
- 维护 monorepo 多包改动的维护者,希望每笔提交的 type/scope 能对应真实变更范围
- 参与开源或内部 Git 流程的工程师,需要英文前缀配中文 subject 且与 `git status` 一致
- 负责 code review 的 Tech Lead,希望贡献者提交信息能说明原因而非堆砌实现步骤
- 刚接手陌生仓库的开发者,需要在无记忆的情况下套用该仓库既有提交规则