本技能用于在 AI 代理进行 git 提交前提供规范指导,确保生成的提交信息简洁且符合 Conventional Commits 风格。
用途
在需要为当前代码变更创建 git 提交时使用。它规范了提交信息的结构,并限定了提交操作的边界(只提交、不推送)。
提交信息格式
<type>(<scope>): <summary>
type 为必填项。新增功能使用 feat,缺陷修复使用 fix。其他常见类型包括 docs、refactor、chore、test、perf。
scope 为可选项。使用括号包裹的简短名词,表示受影响的区域(例如 api、parser、ui)。
summary 为必填项。要求简短、使用祈使语气、不超过 72 个字符,且末尾不加句号。
正文说明
正文为可选项。如需添加,应在主题后空一行,然后书写简短段落。
明确禁止事项
不得包含破坏性变更(breaking-change)标记或页脚。
不得添加签署信息(不使用 Signed-off-by)。
仅执行提交,不得执行推送(push)。
如果无法确定某个文件是否应被包含在提交中,应向用户询问要提交哪些文件。
参数处理
调用方提供的任何参数都应视为额外的提交指引。常见模式包括:
自由形式的指令会影响 scope、summary 和正文。
文件路径或 glob 表达式用于限定要提交的文件。如果指定了文件,则仅暂存/提交这些文件,除非用户明确要求其他操作。
如果参数同时包含文件和指令,则两者都要遵循。
执行步骤
-
从提示中推断用户是否提供了特定的文件路径/glob 以及/或者额外指令。
-
查看 git status 和 git diff,了解当前变更(如提供了参数指定文件,则限定在这些文件范围内)。
-
(可选)运行 git log -n 50 --pretty=format:%s 查看常用的 scope。
-
如果存在含义不明确的多余文件,在提交前向用户询问澄清。
-
仅暂存目标文件(如果未指定文件,则包含全部变更)。
-
运行 git commit -m "<subject>"(如有需要,附加 -m "<body>")。
适用场景与限制
该技能适用于需要按统一规范撰写提交信息的 git 提交场景,尤其适合由 AI 代理自动执行提交操作的流程。其限制在于:仅覆盖提交信息的格式与提交操作范围,不涉及推送、代码审查或其他 Git 工作流环节;具体文件范围在存在歧义时需要人工确认。