SuperAPI AI 工具集

ship-it

部署与运维

查看项目

更新于 10-29 18:03

技能介绍

ship-it 是 vladm3105/aidoc-flow-framework 仓库中的一项技能实例,其措辞为引擎无关(engine-agnostic),与框架内 ship-it 技能文件保持一致;在 canon 指定 Claude 专属 agent 类型处,改用对应引擎的只读子代理,并保留独立性约定。该技能只覆盖一个明确区间:从“PR 已打开、CI 正在运行”到“PR 已合并”,不负责打开 PR,也不负责合并后的收尾。

用途:填补 wrap-session 开始之前、打开 PR 之后的管理空档。它不授权在本地无 PR 情况下合并,也不替代 superpowers:finishing-a-development-branch 中“实现完成、选择集成路线”的菜单环节;两者是时序关系,而非竞争关系。

权限与优先级:仓库根目录的 CLAUDE.md 或 AGENTS.md 负责授权与声明,包括是否允许智能体自动合并、合并约定、受保护分支、谁可合并,其优先级高于全局默认值;全局安全排除项优先于本技能;本技能只负责机制,即如何观察、何为“绿色”、如何合并。若本文件与仓库策略冲突,以策略为准。

主要能力:

  1. 观察检查。先读 mergeStateStatus(CLEAN/BLOCKED/BEHIND/UNKNOWN),若为 BLOCKED 需先确认是检查还是评审阻塞;再使用 gh pr checks --required --watch 仅观察必需检查,并以 --json 输出过滤非 pass 项。强调三点:必须使用 --required,否则非必需检查的红色或等待项会造成误判;应看 bucket 而非 state,skipping 不等于 pass;退出码 8 表示 pending 而非失败。零长度 rollup 需明确区分三种情形:仓库未配置 CI(需在 CLAUDE.md/workflows 中核实)、工作流尚未触发(竞态,需等待重读)、查询了错误的 PR/head。还须防范 stale-SHA:推送后 gh pr checks 可能仍描述旧 head,需比对 headRefOid 与 HEAD。
  2. 合并决策。仓库必须明确授予智能体自动合并,否则停止并询问用户。授权后按排除项清单检查:用户要求等待则停止;CI 红或不完整则报告并修复,绝不合并失败项(这是禁止项,不是审批请求);不是自己打开的 PR 则停止;仓库规则保留人工合并则停止;不确定是否适用则先询问。
  3. CI 红色处理循环。诊断后在分支上修复、推送,并从 stale-SHA 复查重新进入观察;同一检查在修复后仍红两次,或修复超出 PR 范围,则停止、向人工报告诊断与尝试的修复,保持 PR 打开;上下文中断可转 context-handoff。被取消的检查视为红色,需重新运行。
  4. 合并与清理。使用仓库声明的合并约定(不默认 squash),执行 gh pr merge 并回读 state 与 mergedAt 验证;若 PR 正文含 Closes #N,合并会关闭 issue,不应再手动关闭;PR 被关闭未合并需报告原因,并判断线程是否真正结束。
  5. 交接。合并后的 PR 是 wrap 点,应在当前会话运行 wrap-session;该技能自身不写交接、变更日志或记忆。

适用场景:仓库已明确授权智能体自动合并、且已有自己打开的 PR 处于 CI 运行阶段的场景。

限制:未授权自动合并时不得合并;不允许跳过集成菜单;不提供打开 PR、收尾或记忆写入功能;合并约定、分支保护等须以仓库策略为准。其他细节暂未提供。