mcpField
C
commit-work

commit-work

github.com/hburaktasyurek开发056 次安装5 周前更新
代码仓库

关于 commit-work

commit-work 是将仓库改动整理为经过核验的 Git 提交的技能。它检查工作区、按目的归类改动,并汇报提交、检查结果和未处理内容。

主要功能

  1. 01检查分支、状态、差异和未跟踪文件
  2. 02按目的与依赖关系归组改动
  3. 03暂存并核验指定内容
  4. 04提交前运行必要检查
  5. 05核验提交并汇报剩余改动

适用场景

  1. 01将已完成的功能及测试一起提交
  2. 02把相互独立的改动拆分为多个提交
  3. 03准备或核验仅暂存的改动
  4. 04在请求推送后确认推送结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/hburaktasyurek/agent-skills-and-commands --skill commit-work

安装后在 Claude Code 中输入/commit-work确认已加载。

详细介绍

提交工作

将请求的工作整理为连贯的提交,涵盖所有范围内的内容,并核实 Git 实际记录的内容。

根据当前工作确定批次

未限制范围的提交请求涵盖所选仓库和工作树中所有已暂存、未暂存和未被忽略的未跟踪更改,包括其他任务的更改。不要仅仅因为某项更改来自另一个会话就再次询问。遵守明确指定的文件、任务或仅提交已暂存内容等限制。对于仅涉及提交说明的请求,不要更改 Git 状态;对于仅涉及暂存的请求,准备并核实索引,但不要提交。

每次调用或恢复操作时,都要检查仓库、分支、HEAD(如有)、状态、已暂存和未暂存的差异,以及未跟踪内容。阅读足够的上下文代码和历史记录,以理解每项更改;记忆和旧报告不能替代当前证据。遵循仓库说明和排除规则。绝不提交机密;指出被暂缓的路径及原因,但不要泄露敏感值。 直接核实事实上的不确定之处;只有在存在必要且尚未解决的选择时才提问。

按用途和依赖关系分组更改。将一项更改所需的代码、测试、配置和文档放在一起;将相互独立的工作分开。一项连贯的更改只需一个提交。涵盖所有范围内的更改,包括删除项;不要按文件类型拆分,也不要创建依赖后续提交的分组。

记录并核实每个分组

将该分组的内容准确准备到索引中。修改前检查已有的暂存内容;保留排除的内容和已暂存的选择。如果文件中混有多个分组或范围的更改,按块选择,不要将其他块带入提交。阅读最终完整的已暂存差异,而不只是刚添加的路径。如果操作期间内容发生变化,请重新阅读并重新分组受影响的工作。

运行 git diff --cached --check 和仓库要求的检查;允许钩子运行,不要绕过钩子。将检查结果与实际覆盖的内容对应起来;通过的工作树检查可能包含本分组之外的更改。提交核实不能替代实现审查。

遵循仓库的提交说明约定;否则使用英文 Conventional Commits 格式,主题不超过 72 个字符。描述实际更改,并在有帮助时说明原因;不要捏造验证结果,也不要添加 Co-Authored-By 或 AI 署名。使用直接的 Git 命令创建提交,并通过安全引用的字面提交说明或说明文件提供内容;避免使用 shell 包装器和命令替换。

将新建提交的差异和说明与预期分组进行比较,然后检查剩余的索引内容和工作树更改。绝不丢弃或编辑工作内容,也不重写已有提交来强行达成目标。失败、中断或钩子修改内容后,重试前检查 HEAD、索引和工作树内容。保留已成功的提交,并根据实际剩余内容继续操作。

完成请求的操作

将最终提交和剩余更改与预期批次进行核对。说明任何被排除或受阻的内容及原因;不要将部分完成称为全部完成。如果没有需要记录的内容,不要创建空提交;但仍须处理已获授权的推送。

仅在请求推送时,才在完成预期的提交批次后推送。执行正常的非强制推送前,核实远程仓库、目标分支和待推送历史;不要假设远程名为 origin,也不要假设存在上游分支。解决实质性的目标歧义;遭到拒绝后,不要悄悄发布不完整批次或重写历史。核实远程仓库已收到预期提交;区分本地提交成功与推送失败或未经核实的情况。

返回提交哈希和主题、检查结果及重要限制,以及剩余内容和原因。对于仅涉及提交说明或仅涉及暂存的工作,则返回相应结果。说明经核实的本地或推送状态,并在获授权的操作范围内停止。

评论

支持 Markdown