GitHub PR Workflow 是一份完整管理 GitHub Pull Request 生命周期的操作指南。其核心特点是每个环节先给出 gh(GitHub CLI)的用法,再提供 git + curl 的等价回退方案,供未安装 gh 的机器使用。
前置条件
使用前需要满足两个条件:已通过 GitHub 认证(参见 github-auth 技能);当前位于一个带有 GitHub remote 的 git 仓库中。
认证方式检测
技能提供了一段检测脚本,用于确定整个流程中采用哪种认证方式:若系统存在 gh 且 gh auth status 成功,则使用 gh;否则使用 git,并确保存在可用于 API 调用的 GITHUB_TOKEN。token 的来源包括环境变量、HERMES 主目录下的 .env 文件,或通过 git 凭据脚本获取。
从 Git Remote 提取 Owner/Repo
许多 curl 命令需要 owner/repo,技能给出了从 git remote get-url origin 中提取的脚本,同时适用于 HTTPS 和 SSH 形式的远程 URL。
分支创建
这一步是纯 git 操作,两种方式一致:先 git fetch origin 并切换、拉取 main,再用 git checkout -b 创建并切换到新分支。分支命名约定包括:feat/ 新功能、fix/ 缺陷修复、refactor/ 代码重构、docs/ 文档、ci/ CI/CD 变更。
提交代码
使用文件工具(write_file、patch)进行修改后提交,先 git add 指定文件,再用 Conventional Commits 格式提交,格式为 type(scope): 简短描述,正文按 72 字符换行。类型包括 feat、fix、refactor、docs、test、ci、chore、perf。
推送与创建 PR
推送使用 git push -u origin HEAD。创建 PR 时可使用 gh pr create,支持 --title、--body,以及 --draft、--reviewer、--label、--base 等选项;也可用 curl 向 GitHub pulls API 发送 POST 请求,body 中包含 title、body、head、base 字段。响应 JSON 会返回 PR 编号,需保存以供后续命令使用。创建草稿可在 JSON body 中加入 "draft": true。
监控 CI 状态
使用 gh 可通过 gh pr checks 一次性检查,或用 gh pr checks --watch 每 10 秒轮询直到全部完成。使用 curl 时,先取当前分支最新提交 SHA(git rev-parse HEAD),再查询 commits/{SHA}/status 获取合并状态,以及 commits/{SHA}/check-runs 获取 GitHub Actions 检查运行。技能还给出了一个简单轮询循环示例:每 30 秒检查一次,最多 10 分钟,直到状态为 success、failure 或 error。
自动修复 CI 失败
当 CI 失败时进行诊断与修复,该循环对两种认证方式都适用。第一步获取失败详情:使用 gh 可用 gh run list 列出分支上的工作流运行,用 gh run view <RUN_ID> --log-failed 查看失败日志;使用 curl 时可查询 actions/runs 列出运行,并下载日志 zip 后解压阅读。第二步修复并推送:定位问题后用 patch、write_file 修复,再 git add、git commit、git push。第三步用前述检查命令验证状态。技能还给出了自动修复循环模式:检查状态、读日志、修复、提交推送、等待并重新检查,若仍失败最多重试 3 次,之后询问用户。
合并
使用 gh 可用 gh pr merge --squash --delete-branch 进行 squash 合并并删除分支,或用 --auto 启用自动合并(在所有检查通过后合并)。使用 curl 时向 pulls/{PR_NUMBER}/merge 发送 PUT 请求,指定 merge_method 与 commit_title,然后在合并后删除远程分支、切回 main、拉取并删除本地分支。合并方式有 merge(合并提交)、squash、rebase。启用自动合并需仓库在设置中开启该功能,且因 REST 不支持,需改用 GraphQL API,技能给出了获取 PR node_id 并调用 enablePullRequestAutoMerge 变更的示例。
完整流程示例
技能给出了一个从干净 main 开始、创建分支、修改代码、提交、推送、创建 PR、监控 CI、绿灯后合并的完整工作流示例。
常用 PR 命令参考
最后以表格形式列出常见操作在 gh 与 git + curl 两种方式下的写法,包括:列出我的 PR、查看 PR diff、添加评论、请求评审、关闭 PR、检出他人 PR。
关于该技能的收费模式、价格、平台支持范围、性能效果或其它未在上述资料中出现的细节,暂未提供。