用途:ship 用于把已完成的分支走完最后一段交付流程——干净提交、推送、创建拉取请求、关联工作项,并在合并后清理分支与工作树。它会自动识别 Azure Repos 或 GitHub 并走对应路径。它刻意保持窄范围:不在本地合并、不运行流水线、不管理待办列表。
主要能力:先运行 bun scripts/ship-detect.ts 检测平台、Azure 组织/项目/仓库、分支与推断的工作项 ID。流程包括:预检(bun scripts/ship-preflight.ts,输出待交付提交与工作树范围审计,scope_clean=false 时需先向用户确认);提交(仅暂存本任务文件,禁止添加 AI 署名);分支姿态处理(在 main 上时创建分支并迁移提交);推送(bun scripts/ship-push.ts,Azure 认证失败时自动用 az OAuth Bearer 重试);创建 PR(bun scripts/ship-pr.ts,自动解析、校验、必要时创建并分配、关联工作项,支持 --transition 状态流转、--tag 标签、--reviewer/--required-reviewer 评审人);可选在浏览器指定账号打开 PR(bun scripts/ship-open.ts);合并后清理(git worktree remove、git branch -d、git push origin --delete);可选快照(bun scripts/ship-snapshot.ts,创建带注释的 git 标签)。
使用方式:脚本为 TypeScript,通过 bun 运行,首次使用需在技能目录(~/.claude/skills/ship/)执行 bun install 安装 azure-devops-node-api 与 @octokit/rest。PR 描述从 assets/pr-template.md 起步。平台细节见 references/azure-devops.md 与 references/github.md。
限制:不负责合并、流水线或待办管理;GitHub 无每 PR 必需评审人(属分支保护);Azure 状态名依流程而异;标签为自由格式;快照标签默认仅本地,需 --push 才推送。其余细节资料未提供。