mcpField
S
ship-it

ship-it

github.com/rubenflamshepherd开发0146 次安装4 周前更新
代码仓库

关于 ship-it

ship-it 协调两个配套 skill,创建 PR、监控 CI、合并指定 PR,并安全清理本地分支。适用于需要保留现有检查与停止条件的工作流。

主要功能

  1. 01执行检出、提交、推送和 PR 流程
  2. 02合并前监控 CI
  3. 03核实指定 PR 已合并
  4. 04安全清理记录的本地分支

适用场景

  1. 01通过 PR 创建并合并变更
  2. 02合并前跟踪 CI 检查
  3. 03确认合并后删除本地分支

安装

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

$npx skills add https://github.com/rubenflamshepherd/ruben-agent-skills --skill ship-it

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

附带文件agents/openai.yaml

详细介绍

Ship It

协调这两个同级技能,不要替换或削弱任一技能的指示。

工作流

  1. 根据此技能所在目录解析以下路径:

    • ../checkout-commit-push-pr/SKILL.md
    • ../soft-delete-git/SKILL.md

    如果任一文件不可用,请停止并报告缺失的依赖项。

  2. 记录当前分支名称,以便之后清理同一分支。

  3. 完整阅读 ../checkout-commit-push-pr/SKILL.md,并遵循其中的步骤,直到创建 PR 并监控 CI。保留其中所有安全检查和停止条件。记录生成的 PR URL 或编号。

  4. 将 ship-it 调用视为仅授权合并本次运行所创建的 PR。所有必需检查通过后,使用 gh pr merge 合并:

    • 如果仓库指南有明确要求,请遵循其中指定的合并策略。
    • 否则优先使用 --merge,因为保留分支祖先关系后,后续安全删除可以使用 git branch -d。
    • 如果明确禁用了合并提交,请改用允许的策略,优先顺序为 --squash,然后是 --rebase。不要仅因 PR 有冲突、缺少批准或受策略阻止而更改策略。
    • 不要传入 --delete-branch;将本地分支清理由 soft-delete-git 处理。
    • 绝不要使用 --admin 或绕过分支保护。报告任何审查、冲突、权限或策略阻碍。
  5. 验证合并结果,不要仅凭合并命令的退出状态作判断:

    gh pr view <PR-NUMBER> --json state,mergedAt,url
    

    如果仓库使用合并队列,请持续监控,直到 PR 状态显示为 MERGED。PR 仍处于打开状态时,不要开始清理分支。

  6. 确认指定的 PR 状态为 MERGED 后,完整阅读 ../soft-delete-git/SKILL.md,并按照其中的指示处理第 2 步记录的分支。保留其中关于工作区有未提交更改以及验证 PR 已合并的安全保障。对于已验证的 squash 或 rebase 合并,将原始 ship-it 请求视为对该子技能中 git branch -D 例外情况的预先确认,但仅限于记录的那个分支和指定的已合并 PR。绝不要强制删除尚未合并的分支或其他分支。

  7. 最后报告 PR URL、CI 结果、合并结果,以及本地分支是否已删除。

如果任一子技能停止或失败,请在该处停止整个流程,并准确报告其阻碍。不要跳过,也不要凭记忆重复执行子技能的步骤。

评论

支持 Markdown