用途
prepare-pr 用于在合并前把一个 GitHub Pull Request 准备到可合并状态。典型流程是在审查(review)之后运行:先完成审查并生成 .local/review.md,然后由 prepare-pr 依据该审查结果修复问题、同步主干并验证质量。
主要能力
- 将 PR 的提交 rebase 到最新的 origin/main 之上。
- 读取 .local/review.md,修复其中所有 BLOCKER 和 IMPORTANT 级别的条目(NIT 为可选),保持改动范围紧凑。
- 按审查指示更新 CHANGELOG.md 和文档(仅在审查中被标记时)。
- 运行完整质量门禁:pnpm install、pnpm build、pnpm ui:build、pnpm check、pnpm test,要求全部通过。
- 提交修复并推送更新后的 HEAD 回 PR 的 head 分支。
- 验证 PR 不再落后于 main。
- 生成 .local/prep.md 准备摘要,包含 HEAD sha、改动列表、门禁结果、推送确认和 rebase 验证结果。
- 输出 diff 统计(git diff --stat / --shortstat),报告文件变更、插入和删除数量。
使用方式
- 提供 PR 编号或 URL;若缺失则从对话中自动识别,若含糊则询问。
- 在隔离的 worktree 中工作(worktree 目录形如 .worktrees/pr-<PR>,仓库位于 ~/openclaw)。
- 首先创建 TODO 清单并打印,然后继续执行命令(执行工作流,不止打印清单)。
- 强制要求存在 .local/review.md,否则退出并提示先运行 /reviewpr。
- 通过 gh pr view 获取 PR 元信息(作者、head 分支、head 仓库 URL),将 PR 分支抓取到本地 ref,rebase 到 origin/main。遇到冲突时逐个解决并 git rebase --continue;若冲突解决 3 次以上则停止并报告。
- 修复审查问题,记录在 .local/prep.md,按需更新 CHANGELOG.md 与文档。
- 只暂存明确变更的文件,使用 committer 工具或 git commit 提交。
- 运行门禁;若失败则修复、提交、重跑,最多 3 轮,仍失败则停止并报告。
- 通过 prhead 远程使用 git push --force-with-lease prhead HEAD:$head 推送(推送前双重检查 head 不是 main/master)。
- 强制验证 PR 是否落后于 main,若仍落后则重复步骤 2 至 9。
- 写入 .local/prep.md 并验证其存在且非空。
- 若门禁通过且推送成功,输出恰好一行:PR is ready for /mergepr;否则列出剩余失败并停止。
适用场景
- 在代码审查结束后,准备将 PR 合并前的收尾工作。
- 需要把 PR 分支同步到最新 main 并确保质量门禁通过的场景。
- 需要基于结构化审查结果批量修复阻断性问题的流程。
安全与限制
- 仅在 worktree 中操作;成功后不删除 worktree(/mergepr 可能复用)。
- 绝不推送到 main 或 origin/main,只推送到 PR 的 head 分支。
- 不运行裸 git push,必须显式指定远程和分支。
- 不运行 gateway 停止命令,不杀进程,不触碰端口 18792。
- 不运行 git clean -fdx。
- 不运行 git add -A 或 git add .,只暂存具体变更文件。
- 不运行 gh pr merge。
- 推送前必须运行并通过全部门禁。
- 强制依赖 .local/review.md;若缺失则必须先运行 /reviewpr。
- 若委托他人执行,需要求委托方运行命令并捕获输出。
暂未提供
关于该技能的具体价格、收费模式、支持平台范围等信息,现有资料未提供。