| name | commit-msg |
| description | 分析 git 变更并生成规范的 commit message,遵循 Conventional Commits 格式和中文结构化正文。 自动过滤 AI 供应商文案。仅当用户明确说出"使用 commit-msg"时触发。 |
Git Commit Message Generator
触发约束
此 skill 仅通过显式调用触发。
⛔ 不触发的场景
- 用户完成代码变更但未提及 commit-msg
- 用户提到"提交"、"commit"等通用请求但未提及 commit-msg
- 用户未显式引用 @commit-msg
✅ 触发条件
必须同时满足:
- 用户明确说出"使用 commit-msg"或"启动 commit-msg",或显式引用 @commit-msg
- 用户提供了明确需求或上下文
语言与沟通规范
- 所有面向用户的回复、分析结论使用简体中文
- 命令、代码、路径、配置键、API 名称、技术专名保留原文
- Commit message 的 subject 和 body 必须使用中文(type、scope、代码标识除外)
执行流程
Phase 1: 收集变更信息
执行以下命令获取变更状态:
git status
git diff --cached
git diff
分析变更内容,理解:
- 修改了哪些文件
- 变更的性质(新增、修改、删除、重构)
- 变更的业务/技术含义
Phase 2: 生成 Commit Message
遵循 Conventional Commits 规范,采用以下格式:
<type>(<scope>): <中文摘要>
背景与目的:
- <修改原因,可按需省略本节>
主要改动:
- <具体改动点>
- <具体改动点>
影响范围:
- <兼容性、数据或行为影响,可按需省略本节>
验证结果:
- <执行的命令或检查>
- <通过结果,或未执行测试的原因>
Type 类型:
feat: 新功能
fix: 修复 bug
docs: 文档变更
style: 代码格式(不影响代码运行)
refactor: 重构
perf: 性能优化
test: 测试相关
chore: 构建/辅助工具变动
ci: CI 配置变更
skills: skill 相关变更
Scope(可选):变更影响的模块或范围,使用英文标识
中文摘要:简短描述(不超过 50 字符,结尾不加句号)
强制要求:
- 每次提交必须包含正文,禁止只有标题
- 正文必须包含"主要改动"和"验证结果"
- "主要改动"必须列出具体内容点,禁止使用"更新代码""修复问题"等笼统描述
- "验证结果"必须记录执行的测试或检查;未运行测试时必须明确说明原因
Phase 3: 清理供应商文案
严格过滤以下内容:
Made-with: Cursor
Made-with: claude
Made-with: openclaw
Made-with: codex
- 任何包含
Made-with、Generated by、Created with AI 等 AI 供应商标识的文案
- 类似的供应商标记或水印
过滤规则:
- 从 commit message 中完全移除这些内容
- 不要解释为什么移除,直接清理
- 确保最终输出不包含任何 AI 工具供应商信息
Phase 4: 执行提交
直接执行提交:
git add -A
git commit -m "<subject>" -m "<body>"
输出提交完成信息和 commit hash。
约束与原则
- 直接执行提交:分析变更后直接生成并提交,不再询问确认
- 必须过滤供应商文案:这是硬性要求,不得以任何形式保留
- 遵循 Conventional Commits:确保提交历史规范统一
- 中文优先:subject 和 body 使用中文,type/scope/代码标识保留原文
- 正文必填:每次提交必须包含正文,禁止只有标题
- 具体明确:主要改动必须列出具体内容,禁止笼统描述
- 验证透明:必须记录验证结果或说明未测试原因
- 多文件合并:如果多个相关文件属于同一逻辑变更,合并为一个 commit
示例
示例 1:功能开发
feat(create-skill): 添加质量校验阶段
背景与目的:
- 提升生成 skill 的质量,确保符合项目规范
主要改动:
- Phase 5 新增 quality validation 阶段
- 添加触发规则、结构完整性、命名公约等校验项
- 校验失败时输出详细错误信息
影响范围:
- 新增 skill 生成流程增加校验步骤
- 不影响已有 skill
验证结果:
- 手动测试新建 skill 流程,校验功能正常
- 测试用例: skills/test-skill/ 创建成功
示例 2:Bug 修复
fix(task-executor): 修复任务状态不同步问题
主要改动:
- 修复 round 完成后 BUG_TASKS.md 未正确更新状态的 bug
- 添加状态同步逻辑,确保文档与实际任务状态一致
验证结果:
- 运行测试用例 `test_sync_status` 通过
- 手动模拟 round 完成,状态同步正常
示例 3:重构
refactor: 统一 skill 配置结构
背景与目的:
- 消除不同 skill 的配置格式差异,便于维护
主要改动:
- 将所有 skill 的 config.json 改为统一的 schema
- 移除冗余字段 version、deprecated
- 增加必填字段校验
影响范围:
- 所有 skill 的 config.json 需要按新 schema 更新
验证结果:
- 未执行测试,配置变更无运行时影响