一键导入
ship
全流程实施:探索→计划→worktree→TDD→实施→PR→review→/fix Cx1/Cx2→人工确认。L1(跳过探索,1 reviewer)/L2(单agent探索,1 reviewer)/L3(默认,三agent探索,按diff行数1/2/3/6 reviewer自动)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
全流程实施:探索→计划→worktree→TDD→实施→PR→review→/fix Cx1/Cx2→人工确认。L1(跳过探索,1 reviewer)/L2(单agent探索,1 reviewer)/L3(默认,三agent探索,按diff行数1/2/3/6 reviewer自动)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
问题诊断与修复: 验证+根因+复杂度分级+修复方案+backlog登记。当用户说'这个问题存在吗''帮我分析这个bug''诊断一下这个模块''修复这个问题'时触发。输入优先 PR 号(自动读 PR 评论),也支持 文件:行号 / 自然语言;多 findings 自动批量。issue 号不再受理——issue triage 走 `issues` 技能(建议 /ship 或 close)。
GitHub Issues + Project v2 #3 项目管理单源技能。Part A:epic 拆解 + wave 实施顺序评论(找子任务 → blocked-by DAG → wave 1-4 容量装箱排序:每 wave ≤4、pri 优先、wave 内切并行组/串行链、OPEN 重排、已完成不动、装箱溢出顺延下一 wave、仅超窗(Wave 4 后仍未分配)单列 → 只追加 epic 评论;不写 Project 字段、不改 epic body)。Part B:issue/PR 原子操作(建/改 backlog issue、area/type/pri label、PR 双轴状态 label 流转、统一 PR 评论格式 + 冲突预检/CI watch 跟进,ship/fix 共用)。非 epic issue 号 → 查代码判状态(只判不修,建议 /ship 或 close)。当用户要整理 epic 排 wave、建/改 backlog issue、贴 label、切 PR 状态、给 PR 留评论、核一个 issue 是否还成立时使用。
PR 状态自动接力检查器:ship/fix 收尾约 10min 后必须启动;读取外部 app/review 已产生的 label + 最新机器块,在 needs-fix + 机器可判定 Cx1/Cx2 + 未熔断时 dispatch /fix。文件级/禁止域安全裁决交由 /fix 的 [AUTO-FIX] 门把关;pr-monitor 自身不贴评论、不切 label。
GitHub Issues + Project v2 #3 项目管理单源技能。Part A:epic 拆解 + wave 实施顺序评论(找子任务 → blocked-by DAG → wave 1-4 容量装箱排序:每 wave ≤4、pri 优先、wave 内切并行组/串行链、OPEN 重排、已完成与超窗单列 → 只追加 epic 评论;不写 Project 字段、不改 epic body)。Part B:issue/PR 原子操作(建/改 backlog issue、area/type/pri label、PR 双轴状态 label 流转、统一 PR 评论格式 + 冲突预检/CI watch 跟进,ship/fix 共用)。非 epic issue 号 → 查代码判状态(只判不修,建议 /ship 或 close)。当用户要整理 epic 排 wave、建/改 backlog issue、贴 label、切 PR 状态、给 PR 留评论、核一个 issue 是否还成立时使用。
Git Worktree 项目约定(编号、基准分支、权限兼容、删除安全)。
对指定 PR 跑自动分级六维度 review(默认);或 --check 模式验证上一轮 findings 是否修复 + 抓回归。按 diff 净增删行数自动分配 2/3/6 reviewer agent 并行(< 200 行不派发,主 agent 自审);主 agent 做根因聚类 + Cx 分级 + 修复分流建议,不自动 fix。
| name | ship |
| description | 全流程实施:探索→计划→worktree→TDD→实施→PR→review→/fix Cx1/Cx2→人工确认。L1(跳过探索,1 reviewer)/L2(单agent探索,1 reviewer)/L3(默认,三agent探索,按diff行数1/2/3/6 reviewer自动) |
| argument-hint | [--level=L1|L2|L3] <#issue-number 或任务描述> |
| allowed-tools | ["Read","Write","Edit","Glob","Grep","Bash","Agent","AskUserQuestion"] |
多沟通原则(默认多问、有歧义即停):L2/L3 在创建 worktree(阶段 3)之前必须完整呈现「方案方向 (阶段 1)+ 改动计划(阶段 2)」并经 AskUserQuestion 确认——不在未对齐时就开工。实施中(阶段 5)surface 阶段性进度与 blocker;阶段 7→8 呈现内置 review findings 表,Cx1/Cx2 IN_SCOPE 自动修,仅 Cx3/Cx4 / 归属-取舍 不清才停下问。任何方案歧义 / 范围不清 / 取舍没把握 → 停下问,不默默假设。
剥离 --level= flag 后,剩余参数匹配 ^#?[0-9]+$ 时视为 issue 号,先 gh issue view <N> --json title,body,labels,state 拉取作为任务上下文;后续阶段以 issue title/body 替代自由文本任务描述,阶段 6 PR body 追加 Closes #<N>。state != "OPEN"(CLOSED / MERGED 等)或 gh issue view 失败均用 AskUserQuestion 让用户裁定是否继续。
| 等级 | 探索 | 计划确认 | 实施 agent | review |
|---|---|---|---|---|
| L1 | 不探索 | 不需要 | 1-2 并行 | 1 reviewer |
| L2 | 1 explorer | 展示给用户 | 1-2 并行 | 1 reviewer |
| L3(默认) | 3 并行 explorer | AskUserQuestion 确认 | ≤ 4 并行 | 1/2/3/6 reviewer(按 diff 行数自动,见阶段 7) |
L2:启动 1 个 explorer agent,研究对标开源项目实现方案,查 docs/references/framework-comparison.md 找 primary 对标框架,用 WebFetch 拉取源码(raw.githubusercontent.com),提取接口签名、生命周期、错误处理关键设计,输出采纳建议和偏离理由。
L3(默认):并行启动 3 个 explorer agent:
全部完成后按「方案与计划原则(含自检)」汇总并逐条自查,再用 AskUserQuestion 与用户确认方案方向后继续。
阶段 1 汇总 / 阶段 2 计划必须满足下列原则;L3 在 AskUserQuestion 前逐条自查,任一不通过 → 在确认问题中显式列出取舍及理由,不默认放行:
按「方案与计划原则(含自检)」生成改动文件清单(按依赖顺序)、任务分组(串行/并行批次)、TDD 测试先写清单、对标参考(ref: framework file)。生成后逐条自查,L3 用 AskUserQuestion 与用户确认计划后继续。
并行批次分析(改动文件 ≥ 4 时必须在计划中明确):
基于 origin/develop 创建(依照 git-worktree skill 约定):
git fetch origin
git worktree add worktrees/<type>/<issue#-short-name> -b <type>/<issue#-short-name> origin/develop
命名依 git-worktree skill:编号 = 关联 issue#(无 issue 不编号),path 与分支首段含 type(feature/fix/refactor/docs/experiment,一律小写)。下文 worktrees/<wt> 简写指该 worktree 目录。
在 worktree 中先写 *_test.go,覆盖正常/边界/错误路径(kernel/ ≥ 90%,其余 ≥ 80%)。运行 go -C worktrees/<wt> test ./... 确认测试先 FAIL,再进入实施。
主 agent 根据阶段 2 的改动文件清单和批次依赖关系,自主决定:
硬约束:
每个 developer sub-agent prompt 必须包含:
worktrees/<wt>)go -C worktrees/<wt> test ./...<type>(<scope>): <描述>每个 sub-agent 在自己负责的任务上串行执行 Edit-Test Loop,完成后跑 golangci-lint run ./...(0 issues 才 commit)。
go -C worktrees/<wt> build ./...
go -C worktrees/<wt> test ./...
golangci-lint run ./... # 0 issues 才进阶段 6
git -C worktrees/<wt> push -u origin <branch>
gh pr create --title "..." --body-file <填好的 pull_request_template.md>
gh pr edit <PR#> --add-label pr-status/in-progress # 进入 ship→review→fix→check 流程(见 .github/project-template/PROJECT.md §5)
PR body 结构单源 = .github/project-template/pull_request_template.md;读模版填占位(Refs: Closes #<ID> + ref: framework file),不在技能内重述结构。本仓 PR 全程 CLI 创建,必须 --body-file 读填好的模版。
ship 的 review 是 ship→review→fix→check 流程里的内置首审(6 维 reviewer);外部再审(codex /
/pr-review)由你在外部跑, 续修走/fix <PR#>(见.github/project-template/PROJECT.md§5)。ship 单独使用只做内置审。
L1/L2:1 个 reviewer agent(GoCell 六维度)。
L3:按 PR diff 净增删行数确定 reviewer agent 数量:
git -C worktrees/<wt> diff --shortstat origin/develop # N files changed, X insertions(+), Y deletions(-)
diff 行数 = X + Y(缺项按 0 计)。阶段 7 被单独调用(无 worktree)时回退仓库根 git diff --shortstat origin/develop。
GoCell 六维度 = 架构合规 / 安全 / 测试 / 运维可观测 / DX / 产品。reviewer 数 + 维度切分单源 = .claude/agents/reviewer.md §派发分档(按上面算出的 diff 行数定档,区间左闭右开,边界归更高档)。
多 agent 时并行启动,每个 agent prompt 自包含其负责维度 + 必读 .github/project-template/PROJECT.md §3(P/Cx 评级单源);全部完成后由主 agent 汇总去重 findings 表(含 Cx 分级)。
file:line),再贴 pm:ship 评论留痕——窗口=主输出、评论=无损留痕,两者都做(输出纪律单源见 PROJECT.md §5)。developer agent 按 fix 的 [AUTO-FIX] 流程直接 Edit-Test 修——developer 无 Skill 工具,不真调 /fix,是复用其判定 + 修复循环;不逐条问);Cx3/Cx4 遗留与 OUT_OF_SCOPE 不进主评论详表(移至下面步骤 4 的独立 pm:oos 评论)。仅当归属不清 / 取舍没把握 / 有 Cx3+ 需现在做时才 AskUserQuestion。git -C worktrees/<wt> push 推送内置修复 commits;按 issues B5 ① 先验无文件冲突(冲突则 merge origin/develop --no-edit 解冲突再 push)。冲突预检通过后立即执行步骤 4(不等 CI)。issues Part B;评论用 .github/project-template/pr-comment.md 的 <!-- pm:ship --> 模板,含 footer,评论必留):
issues B4):IN_SCOPE findings 无损写入(无损约定见 pr-comment.md:每条带 file:line、详表入 <details>,供再审 / /fix 直接读取);含 reviewer 数 / 已修 Cx1-Cx2 / 遗留 Cx3/Cx4 / OUT_OF_SCOPE 数量(OOS 仅一行指针:🚦 OUT_OF_SCOPE(详见本 PR 的 pm:oos 评论),全量无损记录由步骤 5 独立 pm:oos 承载)。pr-comment.md §机器块):bash hack/automation/pr-meta.sh emit-block --kind=ship --pr=<PR#> --findings='<计数 json>'(phase/verdict/round/refs/session/worktree 全派生),输出单行追加到填好的 pm:ship body 末尾(footer 之后),再走 issues B4 贴评论。issues B1):从 finding 字段无损填 .github/project-template/backlog.md body(现状←证据+三维根因+影响 / 修复方向←三级方案种子 / Files←file:line 全集 / Source←PR #<PR#> F + Discovered via /ship);四轴标签派生:cx←finding [Cx…] tag、area←finding 文件路径(PROJECT.md §2.1 path-glob)、type←finding 性质、pri←finding [P…](无则默认 pri-p2);先 bash hack/automation/issue-labels.sh validate --labels "backlog,pri-pX,area-XX,type-XX,cx-X" 过四轴门,再 gh issue create …,回显 issue #N/URL。pri-p0(incident:线上故障/数据完整性/CVE)→ 停下 AskUserQuestion 确认后再决定;issue-labels.sh validate 失败(area/type 判不定)→ 该条标 deferred=labels-underivable(机器块 item 仍写 deferred,XOR funnel 照常满足),pm:oos 正文回退打印草稿命令待人工。<!-- pm:oos --> 模板):bash hack/automation/pr-meta.sh emit-block --kind=oos --pr=<PR#> --oos='{"items":[{"fileLine":"…","rootCause":{"code":"…","arch":"…","history":"…"},"solutionSeeds":{"minimal":"…","thorough":"…","refactor":"…"},"issue":"#<N>"},…]}'——每个 item 必须带 issue(已建号/URL)或 deferred(pri-p0-incident|labels-underivable)之一,否则 emit-block 拒绝(Hard 闸门:没建 issue 也没显式 defer 就发不出 pm:oos 评论)。输出追加到 pm:oos body 末尾,再走 issues B4 贴评论;评论正文每条回填 ✅ 已建 #N <url> 或 🟡 deferred:<原因>。gh pr edit 切 pr-status/needs-review-again(移除 pr-status/in-progress)——OOS artifact(步骤 5)已先落地、pm:ship 的 OOS 指针不悬空,此刻 review-side 执行器可立即开始,无需等待 CI。issues B5 ② 等 CI 收敛 + 失败回 fix 修复循环再推再等(时限 / 3 轮熔断单源在 B5 ②);CI 收敛后贴独立 pm:ci 评论(用 .github/project-template/pr-comment.md 的 <!-- pm:ci --> 模板):
verdict=ci-green;B5 ② 熔断仍红 → verdict=ci-failed(含失败 check 摘要 + run 链接)。bash hack/automation/pr-meta.sh emit-block --kind=ci --pr=<PR#> --ci='{"failedChecks":[{"name":"…","url":"…"},…],"passedChecks":<n>,"totalChecks":<m>}'(verdict 由 failedChecks 派生、round carry),输出追加到 pm:ci body 末尾,再走 issues B4 贴评论。/pr-monitor <PR#> --mode=auto(review-side)。外部 app 已实时监听 pr-status/needs-review-again 并执行 review;pr-monitor 负责检查 review 产生的 label + 机器块,并在 needs-fix + 机器可判定 Cx1/Cx2 + 未熔断时自动 dispatch /fix。Cx3+ 仍转人工边界;单次跑完即止。收尾不变式(artifact-before-trigger):OOS 留痕(建 issue + 贴 pm:oos)必须在切
needs-review-again(步骤 6)之前完成——切 label 即触发 review-side 执行器,pm:ship 的🚦 OUT_OF_SCOPE指针在那一刻必须已指向真实的 pm:oos/issue,不得悬空;CI(步骤 7)异步在后,不阻塞 backlog 落地。/fix4.6 step 3 同序(pm:fix → OOS 留痕 → 切needs-check-fix→ CI)。
ship 到此结束(内置审 + 修;评论 + OOS 留痕 + 状态已先行;CI 异步收敛在后)。再审(codex /
/pr-review)后,续修走/fix <PR#>。
PR: #<编号> <URL>
评论: <pm:ship 评论 URL,含 #issuecomment-<id>(来自 issues B4 回显)>
已完成:TDD / 实施 / PR / review(实跑 reviewer 数:按 diff 1/2/3/6 自动) / Cx1-Cx2 fix / CI 绿
未处理问题(需人工确认)——本表仅摘要 + 指针;完整无损详表(证据/三维根因/三级方案种子)见 pm:ship
评论的 `<details>`;OUT_OF_SCOPE findings **已自动建 issue**(#N / deferred 原因见本 PR 的 pm:oos 评论):
| # | Finding (file:line) | Cx | 归属 | 建议方案 | 原因 |
|---|---------------------|----|------|---------|----|
--no-verify;不 amend 已 push commitgit worktree remove,不自动删除