关于 sentry-pr-code-review
用于处理 GitHub Pull Request 评论中 Seer by Sentry 提出的问题的工作流技能。它通过 gh CLI 查找评论、对照当前代码核实问题、实施修复,并汇报已解决或跳过的项。
主要功能
- 01通过 gh CLI 获取 Seer 评论
- 02查找含 Seer 问题的开放 PR
- 03解析问题详情和修复建议
- 04对照当前代码核实问题
- 05汇总已解决和跳过的问题
适用场景
- 01审查 Pull Request 中的 Seer 反馈
- 02查找含未解决 Seer 评论的开放 PR
- 03核查并修复报告的代码问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ getsentry/ sentry-for-ai --skill sentry-pr-code-review安装后在 Claude Code 中输入/sentry-pr-code-review确认已加载。
详细介绍
Sentry 代码审查
审查并修复 Seer(由 Sentry 提供)在 GitHub PR 评论中指出的问题。
适用场景
- 用户要求在 PR 中“审查 Sentry 评论”或“修复 Sentry 问题”
- 用户分享 PR URL/编号并提到 Sentry 或 Seer 反馈
- 用户要求“处理 Sentry 审查意见”或“解决 Sentry 发现的问题”
- 用户想查找包含未解决 Sentry 评论的 PR
前置条件
- 已安装并完成身份验证的
ghCLI - 仓库已安装 Seer by Sentry GitHub App
**重要提示:**下文解析的评论格式基于 Seer 当前的输出。这并非 API 合约,格式可能会变。请始终核实评论的实际结构。
阶段 1:获取 Seer 评论
gh api repos/{owner}/{repo}/pulls/{PR_NUMBER}/comments --paginate \
--jq '.[] | select(.user.login == "seer-by-sentry[bot]") | {file: .path, line: .line, body: .body}'
机器人的登录名是 seer-by-sentry[bot],而不是 sentry[bot] 或 sentry-io[bot]。
如果未提供 PR 编号,请查找近期包含 Seer 评论的 PR:
gh pr list --state open --json number,title --limit 20 | \
jq -r '.[].number' | while read pr; do
count=$(gh api "repos/{owner}/{repo}/pulls/$pr/comments" --paginate \
--jq '[.[] | select(.user.login == "seer-by-sentry[bot]")] | length')
[ "$count" -gt 0 ] && echo "PR #$pr: $count Seer comments"
done
阶段 2:解析每条评论
从 Markdown 正文中提取:
- 错误描述:以
**Bug:**开头的行 - 严重性/置信度:位于
<sub>Severity: X | Confidence: X.XX</sub>中 - 分析:位于
<summary>🔍 <b>Detailed Analysis</b></summary>块中 - 建议修复:位于
<summary>💡 <b>Suggested Fix</b></summary>块中 - AI 提示词:位于
<summary>🤖 <b>Prompt for AI Agent</b></summary>块中
阶段 3:核实并修复
针对每个问题:
- 阅读指定行所在的文件
- 确认当前代码中仍存在此问题(尚未在后续提交中修复)
- 检查周边代码,判断这是真实问题还是误报
- 实施修复(以建议的修复为起点,或自行编写)
- 考虑边缘情况和回归风险
阶段 4:总结并报告结果
## Seer Review: PR #[number]
### Resolved
| File:Line | Issue | Severity | Fix Applied |
|-----------|-------|----------|-------------|
| path:123 | desc | HIGH | what done |
### Skipped (false positive or already fixed)
| File:Line | Issue | Reason |
|-----------|-------|--------|
**Summary:** X resolved, Y skipped
Seer 审查触发条件
| 触发条件 | 时机 |
|---|---|
| PR 设为“准备审查” | 自动预测错误 |
| PR 处于准备审查状态时推送提交 | 重新运行预测 |
评论 @sentry review | 手动触发完整审查和建议 |
| 草稿 PR | 跳过——标记为准备审查前不会进行审查 |
故障排查
| 问题 | 解决方案 |
|---|---|
| 未找到 Seer 评论 | 确认仓库已安装 Seer GitHub App |
| 机器人名称不匹配 | 登录名是 seer-by-sentry[bot],而不是 sentry[bot] |
| 新 PR 中未显示评论 | PR 必须处于“准备审查”状态(而非草稿) |
gh api 返回不完整结果 | 确保包含 --paginate 标志 |
常见问题类型
| 类别 | 示例 |
|---|---|
| 类型安全 | 缺少 null 检查、不安全的类型断言 |
| 错误处理 | 忽略错误、缺少边界处理 |
| 验证 | 输入限制过宽、缺少清理 |
| 配置 | 缺少环境变量、路径不正确 |
评论
支持 Markdown