mcpField
S
ship-it

ship-it

github.com/hcaiano开发66 次安装
代码仓库

关于 ship-it

ship-it 是将代码变更推进到可合并 Pull Request 的技能,规定验证、审查和反馈处理流程,并要求合并或部署前获得明确授权。

主要功能

  1. 01在任务分支上限定变更范围
  2. 02运行针对行为的检查
  3. 03使用 review-it 审查变更
  4. 04发布并更新单个 PR
  5. 05按已验证 HEAD 记录交付证据
  6. 06合并或部署须获授权

适用场景

  1. 01准备代码变更供审查
  2. 02推送前验证分支
  3. 03处理 PR 反馈与检查结果
  4. 04移交可合并的交付成果

安装

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

$npx skills add https://github.com/hcaiano/skills --skill ship-it

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

附带文件agents/openai.yamlscripts/skill-contract.test.mjs

详细介绍

发布

交付一个可合并的 PR。合并和部署都需要用户针对本次交付的明确授权;委派或合并策略不构成授权。

如果某个现有 PR 有可访问的交付记录,且记录对应当前 head,则从第 6 步开始。否则执行完整流程。接受旧版 PR 正文中的交付凭据;更新 PR 时,将其移入内部记录。

  1. 准备。 遵循仓库说明,在任务分支上工作,并排除无关改动。

  2. 验证。 运行覆盖每项变更行为及其直接契约使用方的最小仓库检查。对于受平台限制而无法运行的检查,必须实际尝试一次,记录命令和错误,并指定一个接手的 CI 检查。

  3. 审查。 在已验证的分支上执行 review-it。其评分、修复和停止决策均为最终结论。保留其记录;不要在此处另行独立审查。

  4. 验证并推送。 先合并已更新的 origin/<target-branch>;绝不强制推送。在干净的最终 HEAD 上,重新运行针对性验证,以及针对变更代码的仓库 lint、类型检查和构建。仅当仓库要求时运行完整本地 CI,并使用其队列或租约。推送经过验证的 HEAD。

  5. 发布。 保持只有一个非草稿 PR。面向合并前快速浏览的读者撰写内容:用一两句简短的话说明变更内容和原因,然后加一行验证结果。常规 PR 通常应控制在 80 个词以内。只添加会影响审查或合并的风险、缺口、决策或证据;让重要阻塞项清晰可见。在相关处区分本地检查、CI 和生产环境。使用通俗语言和仓库要求的模板。省略流程历史、文件清单、审计细节和重复摘要,包括机器人摘要。根据最终变更重写正文。将交付凭据保留在内部记录中。

  6. 处理反馈。 获取所有审查、评论、未解决和已过时的讨论串,以及检查结果。修复失败项、重大缺陷和人工请求。无需推送即可解释并处理小问题、重复项和缺乏依据的发现。对于范围、产品或架构决策,以及相互冲突的指导,提出询问。回复讨论串时,说明修复提交或理由,然后再将其标记为已解决;保留待用户决策的事项。绝不召唤云端审查机器人,也不等待无人回应。

    每批修复作为一个提交。行为、范围、安全或架构方面的变更,只要审查次数未超限,就在该提交上运行 review-it。重复第 4 步并更新交付记录;必要时更新 PR 摘要。修复批次最多两批,基准分支合并也计为一批;之后停止,并附上建议报告剩余事项。最终推送后的反馈不会重新开启处理循环。本次交付未产生的任何远程提交都需要用户指示。

    每次交付最多进行三轮 LLM 审查,包括二次审查和用户此前运行的 /code-review。第 3 步始终必须执行。超过上限后,仅审查相对于最新提交的回归;其他发现保留为遗留问题。

    只有在重新获取最新反馈后才能结束:讨论串均已解决或正在等待用户决策;headRefOid 等于 Final validated HEAD;GitHub 报告可合并;且该 HEAD 上所有必需和委派的检查均通过。待处理或不可用的检查会阻止完成。运行时提供 PR 监视器时应使用;否则每隔 60–120 秒轮询一次。

  7. 获得授权后合并。 使用仓库规定的方法,验证合并提交;仅在授权范围内且获得授权后,才执行并验证文档所述的部署。委派的交付在 PR 可合并时返回调用方。

  8. 报告。 用几句话提供 PR 链接、就绪状态,以及任何阻塞项或待决事项。区分本地检查、CI 和生产环境证据。除非有人要求,否则将审计细节保留在内部;未解决的重大问题会阻止宣称 PR 已可合并。

内部记录

为每个已验证的 HEAD 在 $(git rev-parse --git-path agent-receipts)/ship-it/<branch>/ 下保存一条记录。将其绝对路径告知调用方;如果无法访问,则通过 Agent 传输内容。 这些是本地证据,不是 GitHub 链接。

## Delivery gate
- Focused proof: <commands and behavior covered>
- Final validated HEAD: <full SHA from git rev-parse HEAD>
- Review-checked timestamp: <UTC time of the final PR feedback fetch>
- Final checks: <commands and results on that SHA>
- Delegated to CI: <check and reason, or none>
- Residual findings: <open findings, or none>

<review-it's internal Review gate record>

评论

支持 Markdown