用途:当用户明确要求“准备可评审的提交”或“在推送前让分支达到可评审状态”时,把分支上所有未提交、未被忽略的改动整理成有序的提交序列。仅限人工显式调用(disable-model-invocation: true),泛化的“提交我的改动”不在范围内。
主要能力:覆盖已跟踪的修改与删除、已暂存改动、未被忽略的未跟踪文件;按依赖关系规划纵向提交,每个提交对应一个可评审行为并包含其测试;生成提交信息;发现仓库中的校验命令并在提交后运行;全程不推送、不改写已有提交、不绕过钩子或签名。
使用方式:通过 /prepare-review-commits 或点名该技能触发。先做预检(读取仓库说明、检查分支、HEAD、状态、差异、忽略文件、历史与候选基线),基线可显式指定或从跟踪配置、默认分支、PR 上下文推断,无法确定则中止。随后按计划暂存并提交,必要时用补丁文件对索引应用部分改动(git apply --cached),不使用交互式 git add -p。
事务与恢复:首次改动前在仓库外创建状态目录并建立工作树与索引备份引用(refs/prepare-review-commits/<run_id>/...),失败时按顺序执行 git reset --hard、git clean -fd、git read-tree --reset -u、git read-tree 恢复,并通过四项校验确认后才清理备份。
限制:忽略内容不还原;空目录不重建;运行中新建的嵌套 Git 仓库无法安全清理;无校验命令时提交标记为未验证;提交数超过八个会警告;不执行 git fetch、git rebase、git push 等远程变更。