用途:在 pr-feedback 完成评审项分类后,按用户选定的条目执行处理,包括应用代码修改、发布回复、添加表情反应,以及解决内联评审线程,全部在一次确认后统一提交。
前置条件:依赖对话中已有的 pr-feedback 分类结果。每个选中项需带有 disposition(fix 应用修改 / reply 仅回复 / decline 不修 / defer 延后)、内联线程的 GraphQL node id、首条评论的 databaseId,以及 owner / repo / PR 编号。若缺少这些上下文,需先运行 pr-feedback,本技能不会重新抓取。
主要能力与流程:按优先级 P1 → P2 → Nit 处理,并按文件批量编辑。对 fix 项应用约定修改;reply、decline、defer 跳过编辑。为每项起草 1–3 句回复,说明已做修改及方式或拒绝原因,且必须经 humanizer 技能处理,不得直接发布原始草稿。表情反应:fix / agreed 用 👍(+1),decline 用 👎(-1),reply / defer 默认不加反应。随后展示一次批量预览,仅在单次确认后发布全部内容。
发布命令:内联回复使用 gh api repos/{owner}/{repo}/pulls/<n>/comments -f body='…' -F in_reply_to=<databaseId>;会话/issue 评论回复使用 gh api repos/{owner}/{repo}/issues/<n>/comments -f body='…';评审评论反应使用 gh api repos/{owner}/{repo}/pulls/comments/<databaseId>/reactions -f content=+1(或 -1);issue 评论反应使用 gh api repos/{owner}/{repo}/issues/comments/<databaseId>/reactions -f content=+1(或 -1);解决内联线程使用 gh api graphql -f query='mutation($id:ID!){ resolveReviewThread(input:{threadId:$id}){ thread{ isResolved } } }' -f id=<thread-id>。
限制:选择不等于强制修改,disposition 优先于用户指令,冲突时在预览中标注而非静默编辑。issue 级会话评论无线程,无法解决,只能回复和反应。CI 检查项无需回复,通过改代码修复。完成条件是每个选中项都已应用并回复或明确跳过并说明原因,摘要列出各项结果。