agent-reviews Skill 技能

把 GitHub PR 机器人评审意见变成 Agent 能自动修复并回复的闭环技能

技能简介

agent-reviews 是一个专门管理 GitHub PR 评审意见的命令行工具,并附带三个可直接安装的 Agent 技能。GitHub 上约 303 星、25 个 fork,npm 近 30 天下载量约 4.3 万,MIT 协议。它的出发点很具体:Copilot、Cursor Bugbot、CodeRabbit 这类评审机器人留下的行内评论,Agent 用原生 gh 命令经常语法出错、分页失败,也判断不了评论是否已被回复。

核心能力

  1. 三个开箱即用的技能:resolve-reviews 处理全部评论,resolve-agent-reviews 只处理机器人评论,resolve-human-reviews 只处理人工评论。
  2. 统一且可靠的接口:正确分页、可靠判断评论是否已回复,避免 Agent 反复踩 gh 命令的坑。
  3. 过滤与查看:只看未解决项、只看无人回复的机器人评论,或用 --detail 展开某条评论的 diff hunk 与回复。
  4. 直接回复:可用位置参数或 --body-file 发送回复,并可加 --resolve 顺手解决该评审线程。
  5. 脚本友好输出:--json 输出结构化结果,便于 Agent 消费与二次编排。
  6. 监听与守候:--watch 轮询新评论(默认每 30 秒一次,10 分钟空闲后退出);--wait-checks 等待 head commit 的检查项并打印失败项与未回复的机器人评论。
  7. Fork PR 正确处理:分支发现把 head 仓库与 base 仓库分离,即使 fetch 指向 upstream 也能定位正确的 push 仓库。
  8. 代理与企业版支持:内置 undici ProxyAgent,会读取 HTTPS_PROXY;GITHUB_API_URL 可指向 GitHub Enterprise 或任意兼容的 API 服务。

安装配置

  1. 全局安装 CLI:npm install -g agent-reviews。
  2. 按需安装单个技能(无需 npm install):npx skills add pbakaus/agent-reviews@resolve-agent-reviews,把技能名换成所需的一个即可。
  3. 认证按优先级取第一个命中的来源:GITHUB_TOKEN 环境变量 → GH_TOKEN 环境变量 → 仓库根目录的 .env.local → gh auth token(已执行过 gh auth login 时自动可用)。
  4. 限制目标仓库用 GH_REPO=organisation/project,指定 PR 用 --pr 42;GitHub Enterprise 主机通过 GITHUB_API_URL 配置,GraphQL 端点默认取 ${GITHUB_API_URL}/graphql。
  5. 技能遵循 Agent Skills 规范(agentskills.io),Claude Code、Cursor、Codex 等支持该规范的 Agent 都能用,技能运行时会自动拉取 CLI。

使用步骤

  1. 装好 CLI 与所需技能,在目标仓库的分支上启动编码 Agent。
  2. 让 Agent 执行 agent-reviews,先看清当前 PR 上所有未解决或未回复的评审意见。
  3. 对每条意见定位代码位置并修复,必要时用 --detail 展开完整 diff 上下文。
  4. 用 --reply 回填修复说明,需要时加 --resolve 关闭该线程。
  5. 提交推送后用 --watch 或 --wait-checks --expect "Greptile Review" 等待新一轮机器人评论,直到机器人安静下来。
  6. 收尾时用 --json 导出剩余未解决项,确认没有遗漏再合并。

适用场景

  1. 使用 Copilot、Cursor Bugbot、CodeRabbit 等机器人评审的团队日常。
  2. 修复一轮就冒出新评论的「死亡循环」场景,需要持续修到机器人不再说话。
  3. 云端或远程 Agent 环境里没有本地 GitHub CLI 可用时。
  4. 需要把评审处理过程写进脚本或 CI 步骤的工程流水线。
  5. 开源维护者同时要处理人工评审与机器人评审、需要分流处理的 PR。

适用人群

日常依赖 AI 编码助手的开发者;维护开源项目的个人与团队;需要自动化评审闭环的工程团队;做开发者工具与 Agent 评测的研究者。

工作原理

工具走 GitHub REST 与 GraphQL API,通过 push remote、remote.pushDefault、tracking remote、origin 的顺序做分支发现,head 仓库由选中 remote 的 push URL 决定,base 仓库不因此改变,因此 fork PR 不会被误判。评论按仓库配置完整分页拉取,是否解决、是否已有回复由服务端字段与回复链共同判定,CLI 不靠字符串猜测。技能层把「列出、定位、修复、回复、再等待」编排成闭环,并用 --expect 指定期望的机器人评审来确认它已经表态。

官方链接

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论