关于 git-commit
git-commit 是用于执行 Git 提交的独立技能,适合由 Agent 或调用方提供提交时机、文件范围和要点。它区分交互与 auto 模式,并在 auto 模式下禁止推送。
主要功能
- 01检查 Git 状态、差异和提交记录
- 02将变更拆分为逻辑提交
- 03按规范编写中文提交信息
- 04auto 模式仅执行本地提交
- 05发现敏感文件时停止提交
适用场景
- 01按用户确认提交当前变更
- 02自动提交本轮指定文件
- 03检查并避免提交密钥或凭证
- 04需要时在交互模式中询问是否推送
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cabinet-fe/ prompt-engineering --skill git-commit安装后在 Claude Code 中输入/git-commit确认已加载。
详细介绍
来自项目 READMEGit 代码提交
独立工具技能。谁调用都可以。何时提交、交哪些文件、提交信息要点由调用方给出;本技能只负责怎么提交。
目标
按模式完成 Git 提交。交互模式可再问是否 push;auto 模式只做本地提交。
模式
- 交互(默认):用户显式要求提交或推送。
- auto:调用方指定 auto。本地
git add+git commit,禁止 push,禁止问要不要推送。
统一工具定义
交互式提问:大部分 Agent 都内置的一种工具, 由 Agent 向用户提出问题并提供选项和自定义输入的一种工具, 它在不同的 Agent 中的名称不同, 可能叫AskUserQuestion或AskQuestion等。auto 模式不要用它问是否 push。
交互模式
- 检查
git status/git diff/git log,理解变更意图。 - 判断是否包含密钥或不应提交的内容,使用
交互式提问工具来向用户确认。 - 将变更组织成一个或多个逻辑提交,不要把无关变更塞进一个提交。
- 按 提交规范 写中文提交信息。
- 确认安全后
git add和git commit。不要--no-verify。 - 使用
交互式提问工具来问是否 push;需要才git push。
auto 模式
git status:没有已跟踪变更且没有应入库的新文件 → 汇报「无提交」,结束。- 发现
.env、密钥、凭证、明显不该入库的文件 → 停止,不要提交,列给用户。不要用提问把风险问过去。 - 暂存范围:调用方指定了路径则只暂存这些路径;未指定则只暂存本轮应入库文件。不要顺手塞进无关脏文件。不要强制 add 已被 gitignore 的路径。
- 一个逻辑提交;按 提交规范 写中文信息。调用方给了提交信息要点则采用,否则按实际 diff 写。
git add指定路径 +git commit。不要--no-verify。不要git push。- 汇报 commit hash,并写明未推送。
提交规范
<类型>(<范围>)!: <描述>
[可选的正文]
[可选的脚注]
核心规范
- 必须使用中文编写提交信息
标题
- 使用祈使句或简洁动词短语
- 描述“做了什么”,避免空泛描述
- 尽量控制在 50 个字符以内
正文
- 解释为什么改,而不仅是改了什么
- 说明重要实现取舍
- 提及行为变化、兼容性影响、迁移事项
- 每行尽量不超过 72 字符
脚注
破坏性变更使用:
破坏性变更: <描述破坏性变更的内容>
提交类型
| 类型 | 说明 |
|---|---|
feat | 新功能 |
fix | Bug 修复 |
docs | 文档变更 |
style | 代码格式变更,不影响逻辑 |
refactor | 重构,不新增功能也不修复 bug |
perf | 性能优化 |
test | 测试相关 |
build | 构建系统或依赖变更 |
ci | CI/CD 配置变更 |
chore | 日常维护,杂项 |
revert | 撤销提交 |
评论
支持 Markdown