提交信息生成器
SkillCommunicationGenerates 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.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
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.
核心约束(必读)
- 不展示 git 原始信息:生成结果中不要输出 STAGED_FILES、DIFF 等内容,只输出最终的提交信息。
- 实时获取数据:每次执行必须实时调用 git 命令,不要使用缓存或假设。
- 严格只读,禁止写操作:本 skill 只做「读取暂存区 → 生成提交信息」。禁止执行任何改变 git 状态的命令,包括
git add、git restore、git reset、git commit、git rm、git stash等。暂存区内容由用户自己管理,agent 绝不代劳、绝不自行 add。 - 不脑补暂存区外内容:分析仅基于
git diff --cached的输出。工作区未暂存的文件(如 Task/ 会话文件、Cargo.toml 等)一律不引用、不纳入提交信息,也不主动提示。 - 该停就停:暂存区为空 → 输出「暂存区没有待提交的文件,请先 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 写命令:
- 提交前先跑
git diff --cached --name-only核对暂存区,确认与生成的提交信息范围一致 git commit使用已生成的提交信息原文- 除此之外(仅让生成信息)禁止执行任何 git 写命令
Signals
- GitHub stars
- 88
- Forks
- 13
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
gencom- Source
- github.com/bd-dxg/my-pi
Related picks
Skill · mattpocock
The pick for TypeScripttypescript-pro
Skill · jeffallan
The pick for TypeScriptreact-component-performance
Skill · davila7
The pick for Reactreact-doctor
Skill · millionco
The pick for Reactslack-gif-creator
Skill · anthropics
More in Communicationerror-handling
Skill · affaan-m
More in Communication