Community研究与数据分析github.com

BWBYB/agent-skills

使用 Conventional Commits 规范创建原子化 Git 提交。当用户要求生成或创建提交时使用;默认使用快速模式,仅在明确要求进行完整差异分析时才使用完整模式。

agent-skills 是什么?

该技能用于指导 AI 代理(如 Claude Code、Cursor、Codex)按照 Conventional Commits 规范创建原子化的 Git 提交消息。它默认采用“快速模式”,仅依赖任务摘要和 git status --short 及 git diff --stat 等轻量级信息,适合多数常规场景。当用户明确请求或需要分析完整差异时,技能切换到“完整模式”,此时会读取工作区和暂存区的全部差异、检查所有变更文件,并参考 Conventional Commits 参考文档,以识别遗漏的功能、测试、文档、配置、无关文件、敏感文件、生成文件以及独立的逻辑变更。技能支持将独立的特性、缺陷修复、重构和格式化变更拆分为多个原子提交,同时保持紧密耦合变更的完整性。它严格遵守安全规则,默认不使用 git add .,禁止提交秘密文件,并且要求用户明确确认后才执行 git add 或 git commit,确保变更的准确性和安全性。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BWBYB/agent-skills/tree/HEAD/skills/minimal-git-commit

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

最小化 Git 提交

目标

为当前代理任务创建一个或多个原子提交。每条生成的提交消息遵循 Conventional Commits 规范。对于常规提交,保持低上下文;仅在明确要求完整模式时才进行完整的差异分析。

模式选择

  • 默认使用快速模式。
  • 仅在用户说 full、要求扫描或分析完整差异、或明确要求检查每一项变更时,才使用完整模式。
  • 不要将快速模式静默升级为完整模式。如果快速模式信息不足,请询问变更摘要或请用户选择完整模式。

快速模式

首先使用代理对当前任务的明确摘要。必要时,仅检查:

git status --short
git diff --stat

不要读取完整差异或历史记录。不要猜测摘要中未提及的变更。将所述的变更分组为原子提交,并生成它们的消息。如果用户明确要求提交,请在修改索引或创建提交之前,在文件边界不明确时显示计划中的文件/消息。

完整模式

读取工作区和暂存区的完整相关差异,检查所有变更的文件,并阅读 Conventional Commits 参考文档。检查遗漏的功能、测试、文档、配置、无关文件、敏感文件、生成文件以及独立的逻辑变更。确认生成文件是否应纳入版本控制:保留项目必需的输出(如 lockfiles 或迁移文件),排除构建产物和本地输出。将独立的功能、缺陷修复、重构和仅格式化的变更拆分为原子提交;当变更紧密耦合且无法独立测试或回滚时,保持它们在一起。使用现有项目命令运行与变更文件相关的检查。默认不运行完整的测试、lint 和类型检查套件;重用任务期间已运行的检查,仅在请求或变更需要时扩展验证。除非明确要求,否则不检查历史记录。

在 git add 或 git commit 之前,保留当前任务之外的用户变更。仅在用户明确要求提交时才执行这些变更。切勿在此技能中执行推送操作。

提交规则

使用以下格式:

<类型>[可选作用域]: <描述>

[可选正文]

[可选脚注]
  • 使用 feat 表示新功能,使用 fix 表示缺陷修复。
  • 当项目的 docs、style、refactor、perf、test、build、ci、chore 和 revert 类型能准确描述变更时,优先使用它们。
  • 仅在有必要上下文时,才在括号中使用名词性作用域。
  • 使用 ! 标记在冒号之前,或使用大写的 BREAKING CHANGE: 脚注来标识重大变更。
  • 描述保持简洁、现在时、祈使句,最好在 72 个字符以内。
  • 一个提交代表一个逻辑变更。尽可能将独立的功能、修复、测试、文档和重构变更拆分开来。
  • fix 对应 SemVer PATCH,feat 对应 MINOR,任何重大变更对应 MAJOR;除非另有要求,否则不要修改版本文件。

安全和确认

  • 默认不使用 git add .;仅添加属于当前任务的文件。
  • 绝不提交 .env、凭据、令牌、私钥或其他秘密信息。
  • 在完整模式下,审查暂存内容是否包含秘密信息,并确认生成或构建文件是项目所期望的,然后再包含它们。
  • 除非用户明确要求该确切操作,否则绝不修改 Git 配置、跳过钩子、强制推送或修改现有提交。
  • 不要将用户预先存在的更改与代理的更改混在一起。
  • 当任务边界、文件所属、逻辑拆分或敏感文件状态不明确时,停止并询问。
  • 创建消息并不等同于允许创建提交;在 git add 或 git commit 之前,需要明确的提交请求。

参考

在完整模式下,或当类型、脚注、重大变更、回滚、SemVer 或 FAQ 问题需要详细处理时,请阅读 references/conventional-commits.md。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能