用途
该技能用于集中处理 Pull Request 中由 AI 工具产生的审查反馈,主要面向 CodeRabbit 和 Gemini 两类审查者。它帮助开发者拉取评论、筛选未解决项、修复代码、关闭对应线程并请求重新审查。
主要能力
- 收集上下文:识别仓库 owner/name 与 PR 编号。
- 拉取 AI 评论:同时获取 review comments 和 issue comments,按作者名匹配 coderabbitai 或 gemini(不区分大小写),仅跟踪未解决项。
- 汇总与确认:以日语输出当前状态(已扫描的 AI 评论数与未解决数)、未解决清单(文件/路径 + 动作)、已执行命令,以及需要决策的问题。
- 应用修复并验证:以最小 diff 实现改动,遵循项目约定;在可行时运行相关测试/lint,若跳过则说明。
- 处理 Gemini 审查线程:不关闭 CodeRabbit 线程(其自动关闭);修复完成后手动关闭 Gemini 线程,关闭前先添加简短回复说明修复内容。
- 推送并请求重新审查:在适合仓库工作流时提交并推送,随后在 PR 上发布 /gemini review。
- 回报结果:确认已应用的修复、已运行的测试、已解决的 Gemini 线程和已请求的重新审查,并列出剩余未解决项或待决策事项。
使用方式
技能通过 gh CLI 执行。关键命令包括:
获取仓库与 PR 信息:
OWNER=$(gh repo view --json owner --jq .owner.login)
REPO=$(gh repo view --json name --jq .name)
PR=$(gh pr view --json number --jq .number) # or set PR explicitly
拉取 review comments:
gh api repos/$OWNER/$REPO/pulls/$PR/comments --paginate --jq \
'.[] | select(.user.login | test("coderabbitai|gemini"; "i")) |
{id, user: .user.login, path, line, body, url: .html_url}'
拉取 issue comments:
gh api repos/$OWNER/$REPO/issues/$PR/comments --paginate --jq \
'.[] | select(.user.login | test("coderabbitai|gemini"; "i")) |
{id, user: .user.login, body, url: .html_url}'
获取未解决的 Gemini 审查线程 ID:
THREAD_IDS=$(gh api graphql -f query='
query($owner:String!, $repo:String!, $number:Int!) {
repository(owner:$owner, name:$repo) {
pullRequest(number:$number) {
reviewThreads(first:100) {
nodes {
id
isResolved
comments(first:50) {
nodes { author { login } }
}
}
}
}
}
}' -F owner=$OWNER -F repo=$REPO -F number=$PR --jq \
'.data.repository.pullRequest.reviewThreads.nodes[] |
select(.isResolved == false) |
select([.comments.nodes[].author.login] | any(test("gemini"; "i"))) |
.id')
关闭 Gemini 线程:
for id in $THREAD_IDS; do
gh api graphql -f query='
mutation($id:ID!) {
resolveReviewThread(input: {threadId: $id}) {
thread { isResolved }
}
}' -F id=$id
done
请求重新审查:
gh pr comment $PR --body "/gemini review"
适用场景
- 需要批量清理 CodeRabbit 与 Gemini 在 PR 中留下的审查意见。
- 希望以日语获得结构化的未解决项汇总与决策请求。
- 需要区分处理两类 AI 审查线程(Gemini 手动关闭、CodeRabbit 自动关闭)。
限制
- 依赖 gh CLI 与相应 API 权限。
- 仅针对作者名匹配 coderabbitai 或 gemini 的评论。
- 当评论与当前策略或实现冲突时,需向用户请求方向。
- 发布 /gemini review 后耗时较长,需用户确认后再重新执行该技能。
- 资料未提供收费、价格、平台支持范围等信息。