bd-dxg/my-pi/gencom
Claude Code and agent skill by bd-dxg/my-pi
- community
Checking that the SKILL.md file is still in the repository.
根据 Git diff 生成提交信息(严格遵循项目风格)。当用户需要生成 git commit message、提交代码、或提到 commit/提交/commit message 时使用,即使他们没有明确说"生成提交信息",只要涉及代码提交就该用这个 skill。
Install
npx vskill@latest install bd-dxg/my-pi/gencomSKILL.md
提交信息生成器
核心约束(必读)
- 不展示 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 命令获取当前状态:
第 2 步:分析变更内容
根据 git diff --cached --name-only 的文件名和 git diff --cached --stat 的统计信息,推断变更类型和范围。
读取 git log --oneline -10 的输出,分析最近 5-10 条提交的风格,包括:
- emoji 前缀风格(中文 vs 英文)
- 标题格式和长度
- 主体内容格式
风格一致性很重要:项目的提交历史形成了团队约定的风格,遵守它能让提交记录保持可读性和专业性。如果历史中没有统一风格,按下方默认规范执行。
第 3 步:生成提交信息
根据 diff 内容选择 emoji,按模板生成。
提交信息模板
规则:
- 标题必须有 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
示例 2:新增功能
示例 3:文档 + 配置混合(选主要变更)
提交执行(仅当用户明确指示)
只有用户明确说「提交」/「commit」时,才允许执行 git 写命令:
- 提交前先跑
git diff --cached --name-only核对暂存区,确认与生成的提交信息范围一致 git commit使用已生成的提交信息原文- 除此之外(仅让生成信息)禁止执行任何 git 写命令
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/gencom/SKILL.md
Popularity
- Repository stars
- 89
- Repository forks
- 13
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/bd-dxg/my-pi/gencom)