open-pr
Installation
SKILL.md
推送分支、创建带 AI 标记的 PR、评审改动,报告结果。合并、CI 预检与清理在 /merge-pr。分支属于 GitHub 栈时,base 指向下层分支,并把这一层入栈。
1. 确认分支与 base
- 分支取参数第一项。没有参数则运行
git rev-parse --abbrev-ref HEAD。 - 识别默认分支:
git remote show origin取 HEAD 分支。查询失败时用仓库中存在的main/master。 - 定 base(本分支是栈的一层时是下层分支,否则是默认分支):
- 参数给了下层分支:base 取它。
- 否则查当前分支已有 PR:
gh pr list --head <branch> --json baseRefName --jq '.[0].baseRefName'。有值且不是默认分支时 base 取它。 - 否则 base 是默认分支。
- 当前分支是默认分支、没有 GitHub remote,或
git log <base>..<branch> --oneline为空时,停止并说明原因。 - base 不是默认分支时(本分支是栈的一层):
- 下层分支必须有 open PR(
gh pr list --head <base> --json number,state --jq '.[0]')。没有就停止,让用户先对下层分支跑/open-pr。gh stack link会给缺 PR 的下层自动建 draft PR,不借它做这件事。 gh stack --version失败时停止,请用户跑gh extension install github/gh-stack。链式 PR 不入栈时,上层 PR 的 CI 与分支规则不会按栈底分支触发。- 不用
gh stack view反推 base:piw 的 worktree 读不到.git/gh-stack(跟踪文件在主仓库 git 目录下),它必然报 not part of a stack。
- 下层分支必须有 open PR(