mcpField
S
sentry-pr-code-review

sentry-pr-code-review

github.com/getsentry测试与质量2722.3k 次安装今天更新
代码仓库

关于 sentry-pr-code-review

用于处理 GitHub Pull Request 评论中 Seer by Sentry 提出的问题的工作流技能。它通过 gh CLI 查找评论、对照当前代码核实问题、实施修复,并汇报已解决或跳过的项。

主要功能

  1. 01通过 gh CLI 获取 Seer 评论
  2. 02查找含 Seer 问题的开放 PR
  3. 03解析问题详情和修复建议
  4. 04对照当前代码核实问题
  5. 05汇总已解决和跳过的问题

适用场景

  1. 01审查 Pull Request 中的 Seer 反馈
  2. 02查找含未解决 Seer 评论的开放 PR
  3. 03核查并修复报告的代码问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/getsentry/sentry-for-ai --skill sentry-pr-code-review

安装后在 Claude Code 中输入/sentry-pr-code-review确认已加载。

详细介绍

所有技能 > 工作流 > PR 代码审查

Sentry 代码审查

审查并修复 Seer(由 Sentry 提供)在 GitHub PR 评论中指出的问题。

适用场景

  • 用户要求在 PR 中“审查 Sentry 评论”或“修复 Sentry 问题”
  • 用户分享 PR URL/编号并提到 Sentry 或 Seer 反馈
  • 用户要求“处理 Sentry 审查意见”或“解决 Sentry 发现的问题”
  • 用户想查找包含未解决 Sentry 评论的 PR

前置条件

  • 已安装并完成身份验证的 gh CLI
  • 仓库已安装 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:核实并修复

针对每个问题:

  1. 阅读指定行所在的文件
  2. 确认当前代码中仍存在此问题(尚未在后续提交中修复)
  3. 检查周边代码,判断这是真实问题还是误报
  4. 实施修复(以建议的修复为起点,或自行编写)
  5. 考虑边缘情况和回归风险

阶段 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