用途:管理 Ralph 工作树分支的收尾合并。工作树位于 .claude/worktrees/ralph/<feature>/,每个工作树内有 scripts/ralph/prd.json;当 PRD 中所有 userStories 的 passes 均为 true 时视为已完成。
主要能力:
- 扫描并识别已完成工作树,跳过存在 passes:false 或无 prd.json 的工作树。
- 用 git diff main...<branchName> --stat、--name-only 和 git log main..<branchName> --oneline 分析分支,统计改动文件、按 terraform/types/graphql/services/composables/components/pages/layouts/content/config/other 分类、提交数与故事数,并计算多分支文件重叠。
- 构建优先队列:按基础设施 → 数据/API → UI 的依赖层级自底向上排序;同层按文件重叠少、改动小、提交少优先;仅改 content/ 的视为低风险,触及 terraform-scaffold.config.ts 或 terraform/envs/staging/main.tf 的建议早合并。
- 以表格展示合并队列和文件重叠警告,等待用户确认后执行。
- 逐个执行:确认 main 干净后用 /squash 技能 squash 合并(含 git merge --squash、经 /commit 提交、合并后校验与本地分支清理);冲突时 git merge --abort,报告冲突文件并询问跳过或停止。
- 合并成功后执行 git worktree remove .claude/worktrees/ralph/<feature-name>(必要时 --force),再 git worktree prune 并输出结果日志。
- 最后汇总已合并、已跳过、剩余未完成工作树,并建议对冲突分支执行 git rebase main 后重新运行本技能。
使用方式:在项目主仓库根目录调用该技能,按提示确认队列;结束后建议在 main 上运行 bun run lint 验证。含空格的路径需加引号。
限制与注意:合并队列与工作树删除是破坏性操作,必须先获得用户确认;PRD 从各工作树目录读取而非 main;工作树路径使用不含 ralph/ 前缀的特性名;若 git worktree remove 后目录仍存在,可能需手动清理。其余细节资料未提供。