关于 pr-review
pr-review 是处理 GitHub 拉取请求评审意见的技能,可落实经确认的可执行修改,并通过测试验证。它接受 PR URL 或编号,也可检测当前分支关联的未关闭 PR。
主要功能
- 01按 URL、编号或分支识别 PR
- 02使用 gh 获取评审线程和评论
- 03分类评论并跟踪解决状态
- 04落实已确认的修改并运行检查
- 05提取评论并生成优先级报告
适用场景
- 01处理 GitHub PR 中可执行的反馈
- 02审查并验证当前分支 PR 的评论
- 03根据评审评论生成优先级待办清单
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jellydn/ my-ai-tools --skill pr-review安装后在 Claude Code 中输入/pr-review确认已加载。
附带文件scripts/extract-pr-comments.js
详细介绍
修复 PR 审查意见
根据 PR 审查意见实现所要求的更改。
用法
/pr-review <PR_URL> # Review PR by URL (expects full GitHub URL)
/pr-review <PR_NUMBER> # Review PR by number (expects number, e.g., 123)
/pr-review # Auto-detect PR from current branch
📋 参数处理
命令从 $ARGUMENTS 接受 PR 标识符:
- PR URL:完整的 GitHub PR URL(例如:
https://github.com/owner/repo/pull/123) - PR 编号:仅 PR 编号(例如:
123) - 无参数:自动检测与当前 Git 分支关联的 PR
如果提供了 $ARGUMENTS,则将其用作 PR 标识符。否则,使用以下命令自动检测当前分支的 PR:
gh pr view --json number,url -q '.number'
此命令会从当前分支的未关闭 PR 中提取 PR 编号,供后续命令使用。
如果当前分支没有未关闭的 PR,则显示以下错误:
Error: No open pull request found for the current branch.
To review a specific PR:
/pr-review <PR_URL>
/pr-review <PR_NUMBER>
Or create a PR first:
gh pr create
流程
- 解析
$ARGUMENTS,确定 PR 标识符(URL、编号或自动检测) - 使用
gh获取 PR 详情、审查讨论串、Issue 评论以及权威的讨论串解决状态 - 将每条评论分类为可执行、仅供参考、有争议或含糊不清、已解决;更改有争议或含糊不清的请求前先询问
- 对于每条可执行的评论,记录评论 ID、计划的更改和验证命令
- 实施已批准的修复
- 先运行针对性测试,再运行相关的更广泛检查
- 重新检查评论与更改列表,确认每条可执行的讨论串均已解决或明确延期
- 提交更改
可用脚本
提取 PR 评论
extract-pr-comments.js 脚本会处理 GitHub PR 审查评论和 Issue 评论,并生成可执行的待办列表。
# Usage
node $SKILL_PATH/scripts/extract-pr-comments.js <review-comments-file> <issue-comments-file> <threads-file> [output-file]
# Example
gh api graphql \
-f owner=OWNER -f name=REPO -F number=4972 \
-f query='query($owner:String!, $name:String!, $number:Int!) { repository(owner:$owner, name:$name) { pullRequest(number:$number) { reviewThreads(first:100) { nodes { isResolved comments(first:100) { nodes { databaseId } } } } } } }' \
> pr-4972-threads.json
node $SKILL_PATH/scripts/extract-pr-comments.js \
pr-4972-review-comments-raw.json \
pr-4972-issue-comments-raw.json \
pr-4972-threads.json \
pr-4972-comments.ndjson
功能:
- 要求提供 GitHub 审查讨论串文件;仅当某条讨论串的
isResolved: true时,才会跳过其中的审查评论 - 不会将回复视为已解决;未获回复的讨论串仍视为可执行
- 按严重程度分类评论(严重、高、中、低)
- 按类别整理评论(安全性、性能、可维护性等)
- 创建 3 个输出文件:
.ndjson- 结构化评论数据-todo.md- 按优先级排列的待办列表-summary.md- 带表情符号的分析摘要
严重程度分类:
- 🔴 严重:安全性、漏洞、利用
- 🟠 高:错误、异常、破坏性变更、崩溃、失败
- 🟡 中:性能、改进、重构、优化
- 🟢 低:其他所有内容
类别:
- 🔒 安全性
- ⚡ 性能
- 🔧 可维护性
- ♿ 无障碍
- 🧪 测试
- 📚 文档
- 🏷️ 类型
- 🎨 风格
- ✨ 代码质量
示例
# Fix review comments for a PR using URL
/pr-review https://github.com/owner/repo/pull/123
# Fix review comments using PR number
/pr-review 123
# Auto-detect PR from current branch
/pr-review
# After extracting comments with the script, work through the TODO list
# The TODO list is ordered by priority: Critical → High → Medium → Low
评论
支持 Markdown