关于 commit
用于创建和验证 Git 提交的结构化 Skill。它控制选定的变更、消息格式、钩子和尾注,并且不会推送提交。
主要功能
- 01按哈希锁定选定变更
- 02依据差异证据拟定消息
- 03控制钩子和尾注
- 04根据快照验证提交
- 05报告状态但不推送
适用场景
- 01为暂存变更创建经过检查的提交
- 02安全提交未暂存的已跟踪变更
- 03排查受阻的提交或验证差异
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ prathamdby/ skills --skill commit安装后在 Claude Code 中输入/commit确认已加载。
附带文件REFERENCE.md
详细介绍
提交
选项
默认:暂存内容、约定式提交、禁止尾注;仅当宿主策略允许绕过时才关闭钩子,否则启用钩子。“未暂存工作”要求索引为空;未跟踪文件仍会排除。“普通主题”/“简单消息”选择简单风格。“运行钩子”/“不要跳过钩子”选择启用。明确请求身份尾注时,仅允许这些尾注。范围或风格冲突,或缺少必需值时会阻止操作;钩子失败不会改变所选策略。
1. 锁定
读取状态和所选差异(暂存内容用缓存区,未暂存内容用工作树)。
内容为空 → NO_CHANGES,并注明其他层,不切换层。使用 git hash-object
对所选字节计算哈希。对于未暂存内容,如果索引非空则阻止操作。
记录 scope | style | hooks | requested trailers | hash | paths | message | command | SHA | terminal。
当目标字节和范围外工作均已固定时,即完成。
2. 起草并追溯
加载 REFERENCE.md 中所选风格和拒绝检查。
仅根据已锁定的差异块起草,不使用会话/工单/计划/分支/审阅者上下文
或先前的审阅跟进草稿。
将消息的每一行对应到能够佐证它的差异块。
改写未经佐证的内容和所有被拒绝的形式。使用一个主题 -m,正文最多一个 -m;不要使用编辑器、HEREDOC、-F、-a,或为每个项目单独提供参数。
当风格、洁净室追溯和请求尾注策略均通过时,即完成。
3. 提交
在修改前立即重新计算哈希;内容发生变化则重新开始锁定。对于未暂存内容, 仅暂存已锁定的受跟踪路径,并要求缓存区字节与快照一致。 主题/正文使用独立的字面 argv 值;shell 变量必须 保留引号、反引号、美元符号、反斜杠和换行符。 按要求/选择运行钩子;仅当记录的策略和宿主均允许时才绕过。 当一个提交已生成时,即完成;发生错误/中断时状态为 BLOCKED,并记录 stderr 及任何索引变更,绝不悄悄更改钩子策略。
4. 验证
将提交差异/路径和 %B 与锁定的快照/消息进行比较,检查命令
格式/钩子策略,并确认无关工作得到保留。若不匹配,则阻止操作并提供 SHA
和具体差异。对于禁止的尾注,始终应用
REFERENCE.md 中的尾注规范;对于选择加入的情况,若出现未请求的禁用行,则应用该规范。
保留 REPL strip 和未发布/由运行生成的 HEAD 检查;干净的 -m 不能
证明 HEAD 干净。完成任何安全修正后,提交和消息均匹配时,即完成。
报告 SHA、主题、范围、钩子/尾注、追溯情况、修正状态,以及剩余的受跟踪/未跟踪工作。 终态:SUCCESS、NO_CHANGES、BLOCKED。绝不推送。