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 与分支规则不会按栈底分支触发。
- 下层分支必须有 open PR(
2. 推送并创建 PR
- 执行
git push origin <branch>。 - 检查已有 PR: