用途:针对已存在的 GitHub PR 进行修复,包括诊断问题、应用针对性修改、推送提交并在评审线程中回复。适用于修复已有 PR 的 CI 失败、处理评审反馈或请求的修改、更新 PR 分支并发布回复。不适用于从 issue 新建 PR、仅做评审不改代码、或项目级整体排查与路线规划。
前提:需要 gh CLI 认证,GITHUB_TOKEN/GH_TOKEN 须具备 PR 读写权限。运行时路径:GITHUB_OUTPUT_DIR 为输出产物目录(优先由调用方提供,否则用临时目录);GITHUB_CONTEXT_DIR 为上下文目录,默认 ${GITHUB_OUTPUT_DIR}/github-context。
输入:优先使用 ${GITHUB_CONTEXT_DIR}/manifest.json;可选输入为 manifest.artifacts[] 中 status=present 的产物。若无 manifest,则用 gh 直接采集 PR 上下文,例如 gh pr view <pr_number> --repo <owner/repo> --json number,title,body,state,url,baseRefName,headRefName,headRefOid,author,createdAt,updatedAt,mergeable,reviews,changedFiles,additions,deletions,以及 gh pr view <pr_number> --repo <owner/repo> --json files、gh api repos/<owner>/<repo>/issues/<pr_number>/comments --paginate 和 GraphQL 查询 reviewThreads。不要假定存在固定的 github/*.json 文件,应通过产物元数据(id、path、status、description)解析可用上下文。
工作流:1)采集上下文;2)诊断并按优先级排序:构建/编译失败、测试失败与运行时回归、类型/导入/模块错误、lint/风格问题、非阻塞重构建议,并利用已有评审线程避免重复或过期回复;3)实施修复,先处理阻塞问题,运行相关验证命令,提交并推送后再发布评审回复;4)发布回复,使用 gh api repos/<owner>/<repo>/pulls/<pr_number>/comments -X POST -F in_reply_to=<comment_id> -f body='...';5)在 ${GITHUB_OUTPUT_DIR} 下输出 summary.md 与 manifest.json。
修复标准:未经验证不得标记为已修复;验证不完整时须说明具体限制与风险;非阻塞的大型重构应明确理由后延后;回复要具体说明改了什么、在哪里、剩余风险。输出契约:summary.md 须包含 PR 引用与诊断摘要、已应用修复、验证命令与结果、回复发布结果摘要、延后/后续事项;manifest.json 包含 provider: "github-pr-fix"、PR 引用、修复/回复计数、status(completed|partial|failed)。完成标准:阻塞修复已提交并推送到 PR 分支;本次计划的回复已成功发布;summary.md 记录变更、已发布回复与剩余风险。若计划回复但未发布,则运行不算成功。