用途:使用 gh CLI 创建或更新 GitHub Pull Request,并根据当前分支已有 PR 的合并状态决定动作,避免重复或空 PR。
主要能力与规则:不创建或切换分支,始终以当前分支为 head;操作前用 git status --porcelain 检查工作区,若有改动则暂停并让用户选择继续、终止或手动清理,不自动执行 git stash/git commit/git clean。用 gh pr list --head <head> --state all 查已有 PR:无 PR 则新建;存在未合并(mergedAt 为 null,含 OPEN 或 CLOSED)则仅推送;全部已合并则检查 merge commit 之后是否有新提交(git rev-list --count <merge_commit>..HEAD),有则新建,无则报告无变化。多个 PR 时以最近更新者用于报告,但新建/推送依据 mergedAt。
标题与正文:标题遵循 Conventional Commits(<type>(<scope>): <subject>,subject 70 字内、命令式、首字母小写、无句末句号);正文含 Summary、Changes、Testing、Closing Issues、Related Issues/Links、Checklist 等必填段及条件段,必填段残留 TODO 时不得创建,条件段不适用则整段删除;Closing Issues 仅允许 Closes #N 或 None。评论须用真实换行,不得含转义 \n、\t。
使用方式(按资料步骤):确认仓库与分支(git rev-parse --show-toplevel、git rev-parse --abbrev-ref HEAD,base 默认 develop)、预检工作区、git fetch origin、判断动作、必要时 git push / git push -u origin <head>、从技能路径读取模板(GH_PR_SKILL_DIR 默认 $HOME/.codex/skills/gh-pr,模板 references/pr-body-template.md)、用 gh pr create -B <base> -H <head> --title ... --body-file <file> 创建,更新用 gh pr edit <number> --title ... --body-file <file>,最后 gh pr view <number> --json url -q .url 返回 URL,并按 gh-fix-ci 技能检查 CI、合并状态与评审反馈。
适用场景:在开发分支完成改动后提交/推送 PR,或在已有未合并 PR 时仅推送更新。
限制:具体价格、平台支持范围等暂未提供;资料未说明安装方式,仅给出技能目录与模板路径。