提交信息生成器

SkillCommunication

Generates commit messages from Git diff (strictly follows project style). Use when the user needs to generate a git commit message, commit code, or mentions commit/提交/commit message, even if they don't explicitly say "generate a commit message"; whenever code is being committed, this skill applies.

Use 提交信息生成器 in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add 提交信息生成器 and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the 提交信息生成器 skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

提交信息生成器Start free

What this skill tells your AI

The instructions your AI receives, as published by bd-dxg/my-pi in skills/gencom/SKILL.md and read by Ahel’s review.

核心约束(必读)

  1. 不展示 git 原始信息:生成结果中不要输出 STAGED_FILES、DIFF 等内容,只输出最终的提交信息。
  2. 实时获取数据:每次执行必须实时调用 git 命令,不要使用缓存或假设。
  3. 严格只读,禁止写操作:本 skill 只做「读取暂存区 → 生成提交信息」。禁止执行任何改变 git 状态的命令,包括 git add、git restore、git reset、git commit、git rm、git stash 等。暂存区内容由用户自己管理,agent 绝不代劳、绝不自行 add。
  4. 不脑补暂存区外内容:分析仅基于 git diff --cached 的输出。工作区未暂存的文件(如 Task/ 会话文件、Cargo.toml 等)一律不引用、不纳入提交信息,也不主动提示。
  5. 该停就停:暂存区为空 → 输出「暂存区没有待提交的文件,请先 git add」并结束,绝不自己动手 add。

工作流程

第 1 步:收集信息(以下 4 条为唯一允许的命令,全部只读,禁止追加写命令)

执行以下 git 命令获取当前状态:

git diff --cached --name-only
git diff --cached --stat
git branch --show-current
git log --oneline -10

第 2 步:分析变更内容

根据 git diff --cached --name-only 的文件名和 git diff --cached --stat 的统计信息,推断变更类型和范围。

读取 git log --oneline -10 的输出,分析最近 5-10 条提交的风格,包括:

  • emoji 前缀风格(中文 vs 英文)
  • 标题格式和长度
  • 主体内容格式

风格一致性很重要:项目的提交历史形成了团队约定的风格,遵守它能让提交记录保持可读性和专业性。如果历史中没有统一风格,按下方默认规范执行。

第 3 步:生成提交信息

根据 diff 内容选择 emoji,按模板生成。

提交信息模板

[emoji] [中文标题,不超过 50 字]
- 具体变更 1
- 具体变更 2
- 具体变更 3

规则:

  • 标题必须有 emoji 前缀
  • 标题使用中文,简短清晰(不超过 50 字)
  • 使用中文标点
  • 主体用 - 列表,每个条目描述一个具体变更

类型与 Emoji 对照表

这是唯一权威的类型映射表。根据变更内容选择最匹配的类型;如果涉及多种类型,选择主要变更对应的 emoji。

场景emoji示例
新功能、新增工具/组件✨✨ 新增 sidebar 自动化生成工具
部署、发布相关🚀🚀 更新部署配置
性能优化⚡⚡ 优化列表渲染性能
Bug 修复🐛🐛 修复侧边栏显示问题
紧急热修复🚑️🚑️ 修复线上白屏问题
安全修复🔒🔒 修复 token 泄露风险
新增/修改文档📝📝 新增 Vite 打包结构控制文章
更新文档/教程📚📚 更新 API 文档
UI/样式更新💄💄 调整按钮颜色和间距
代码格式化🎨🎨 代码格式化优化
代码重构♻️♻️ 重构文件结构
重构(语义等价)🔄🔄 重构工具函数命名
新增测试✅✅ 添加鉴权模块测试用例
新增依赖➕➕ 添加 dayjs 日期库
删除依赖➖➖ 移除 lodash 依赖
升级依赖⬆️⬆️ 升级 React 到 19
构建/打包配置📦📦 新增文章图片资源并优化图片格式
配置修改、路径调整🔧🔧 优化图片资源路径并更新配置
删除代码🔥🔥 删除废弃的旧版接口
删除废弃代码/文件🗑️🗑️ 清理已废弃的 demo 文件
文件重命名/移动🚚🚚 重命名 GoInt64On32Bit 文件

边界情况处理

场景处理方式
暂存区为空输出提示:"暂存区没有待提交的文件,请先 git add",然后结束(不要自己执行 git add)
涉及多种变更类型选择影响最大/文件最多的类型作为主 emoji
新仓库无历史提交直接按上方默认规范(中文 emoji + 中文标题)生成
变更内容极小(如修改标点)标题简洁即可,不需要主体列表

示例

示例 1:修复 Bug

Input: git diff --cached 显示修复了 sidebar.tsx 中的溢出 bug,并更新了相关 CSS
Output: 🐛 修复侧边栏内容溢出问题
- 修复 sidebar.tsx 中列表项溢出容器的问题
- 更新 sidebar.css 添加 max-height 和 overflow 控制

示例 2:新增功能

Input: 新增了 login.tsx 和 auth.ts 两个文件
Output: ✨ 新增用户登录功能
- 新增 Login 登录页面组件
- 新增 auth 工具模块,封装登录请求逻辑

示例 3:文档 + 配置混合(选主要变更)

Input: 修改了 vite.config.ts 并更新了 README.md 中的安装说明
Output: 🔧 优化 Vite 构建配置并更新文档
- 优化 vite.config.ts 中的路径别名配置
- 更新 README 安装说明以匹配新配置

提交执行(仅当用户明确指示)

只有用户明确说「提交」/「commit」时,才允许执行 git 写命令:

  1. 提交前先跑 git diff --cached --name-only 核对暂存区,确认与生成的提交信息范围一致
  2. git commit 使用已生成的提交信息原文
  3. 除此之外(仅让生成信息)禁止执行任何 git 写命令

Signals

GitHub stars
88
Forks
13
Last commit
Oct 2026
Advanced
Item type
skill
Key
gencom
Source
github.com/bd-dxg/my-pi