SuperAPI AI 工具集

fetch-pr-feedback

编程与开发

查看项目

更新于 10-15 21:39

技能介绍

用途:从当前拉取请求(PR)抓取所有评审者的评审评论,格式化为文档,并交由 receive-feedback 技能评估。默认排除 PR 作者与当前用户的评论,默认排除属于已解决评审线程的行级评论。

用法:调用 fetch-pr-feedback,可附带参数 fetch-pr-feedback [--pr <number>] [--include-author] [--include-resolved]。--pr <number> 指定目标 PR,默认使用当前分支的 PR;--include-author 包含 PR 作者自己的评论(默认排除);--include-resolved 包含已解决评审线程中的行级评论(默认排除)。

流程:先做门控校验(不可跳过)——确定 PR 上下文(用 gh pr view / gh api 获取 PR 编号、作者、仓库 owner/name 和当前用户;若当前分支无 PR 则报错“No PR found for current branch. Use --pr to specify a PR number.”);再抓取数据,未指定 --include-resolved 时先用 GraphQL 查询已解决线程评论的 databaseId,然后分别分页拉取 issue 评论(repos/$OWNER/$REPO/issues/$PR_NUMBER/comments)与评审评论(repos/$OWNER/$REPO/pulls/$PR_NUMBER/comments),经 jq 过滤与清洗后输出;门控要求输出为符合格式的 markdown(标题 # PR #$PR_NUMBER Review Feedback,按评审者分组 ## Reviewer: …,含 Summary 与 Line-Specific 小节)或精确输出“No review comments found on this PR (excluding PR author, current user, and resolved threads).”;最后加载 receive-feedback 技能,执行其 verify → evaluate → execute 循环。

清洗规则:先移除 suggestion 注释块,再移除剩余 HTML 注释,然后移除已知噪声 details 块(Analysis chain、Prompt for AI Agents、Committable suggestion、Past reviewee、Recent review details、Tips),最后移除页脚样板;实质性 details 块保留;超过 4000 字符的评论截断并标记 [comment truncated]。

限制:GraphQL 查询用 first: 100,超过 100 个线程或单线程超过 100 条评论的大型 PR 需要额外分页,当前为已知限制;仅在 fetch-pr-feedback 加载成功后才运行 receive-feedback;本技能依赖 gh CLI 与 jq。其他功能、收费与平台信息暂未提供。