mcpField
S
sentry-code-review

sentry-code-review

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

关于 sentry-code-review

Sentry Code Review 是用于分析 GitHub 拉取请求中 Sentry 评审评论并处理已确认问题的技能。它筛选 Sentry 评论、检查相关代码,并指导针对性修复。

主要功能

  1. 01获取拉取请求中的 Sentry 评论
  2. 02提取问题详情和修复建议
  3. 03在相关代码中验证问题
  4. 04指导针对性问题修复

适用场景

  1. 01检查 GitHub 拉取请求中的 Sentry 发现
  2. 02确认报告的问题是否仍存在
  3. 03应用并总结已验证的修复

安装

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

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

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

详细介绍

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

Sentry 代码审查

你是一项专门用于分析和解决 Sentry 在 GitHub 拉取请求审查评论中指出的问题的技能。

Sentry PR 审查评论格式

Sentry 会针对 PR 中的代码更改发布指定行的审查评论。每条评论都包含:

评论元数据(来自 API)
  • author:机器人用户名(例如,“sentry[bot]”)
  • file:评论针对的具体文件(例如,“src/sentry/seer/explorer/tools.py”)
  • line:代码中的行号(文件级评论可能为 null)
  • body:完整的评论内容(包含 HTML details 标签的 Markdown)
正文结构

body 字段包含带有可折叠部分的 Markdown:

标题:

**Bug:** [Issue description]
<sub>Severity: CRITICAL | Confidence: 1.00</sub>

分析部分(位于 <details> 标签中):

<details>
<summary>🔍 <b>Detailed Analysis</b></summary>
Explains the technical problem and consequences
</details>

修复部分(位于 <details> 标签中):

<details>
<summary>💡 <b>Suggested Fix</b></summary>
Proposes a concrete solution
</details>

AI Agent 提示词(位于 <details> 标签中):

<details>
<summary>🤖 <b>Prompt for AI Agent</b></summary>
Specific instructions for reviewing and fixing the issue
Includes: Location (file#line), Potential issue description
</details>
问题示例
  1. None 值导致的 TypeError

    • 函数在预期返回列表时返回 None
    • 遍历前缺少空值检查
  2. 验证问题

    • 输入验证过于宽松
    • 允许无效数据通过
  3. 错误处理缺失

    • 错误已记录但未重新抛出
    • 关键路径中发生静默失败

工作流程

1. 获取 PR 评论

提供 PR 编号或 URL 时:

# Get PR review comments (line-by-line code comments) using GitHub API
gh api repos/{owner}/{repo}/pulls/<PR_NUMBER>/comments --jq '.[] | select(.user.login | startswith("sentry")) | {author: .user.login, file: .path, line: .line, body: .body}'

或者直接使用 WebFetch 从 PR URL 获取。

2. 解析 Sentry 评论
  • 仅处理来自 Sentry 的评论(用户名以 "sentry" 开头,例如 "sentry[bot]")
  • 忽略来自 "cursor[bot]" 或其他机器人的评论
  • 从每条评论中提取:
    • file:评论针对的文件路径
    • line:具体行号(如果有)
    • body:解析 Markdown/HTML 正文,提取:
      • Bug 描述(来自以 "Bug:" 开头的标题行)
      • 严重级别(来自 <sub>Severity: X 标签)
      • 置信度分数(来自 sub 标签中的 Confidence: X.XX)
      • 详细分析(来自 <summary>🔍 <b>Detailed Analysis</b></summary> details 块中的文本)
      • 建议修复(来自 <summary>💡 <b>Suggested Fix</b></summary> details 块中的文本)
      • AI Agent 提示词(来自 <summary>🤖 <b>Prompt for AI Agent</b></summary> details 块中的文本)
3. 分析每个问题

对于每条 Sentry 评论:

  1. 记录评论元数据中的 file 和 line——它们会告诉你要查看的确切位置
  2. 阅读评论中提到的具体文件
  3. 跳转到对应行号,查看有问题的代码
  4. 阅读“🤖 Prompt for AI Agent”部分,了解问题的具体上下文
  5. 确认当前代码中是否仍存在该问题
  6. 根据详细分析了解根本原因
  7. 评估建议的修复方案
4. 实施修复

对于每个已确认的问题:

  1. 阅读受影响的文件
  2. 实施建议的修复方案或自行解决
  3. 确保修复解决了根本原因
  4. 考虑边缘情况和副作用
  5. 使用 Edit 工具进行精确修改
5. 提供总结

分析并修复问题后,提供报告:

## Sentry Code Review Summary

**PR:** #[number] - [title]
**Sentry Comments Found:** [count]

### Issues Resolved

#### 1. [Issue Title] - [SEVERITY]
- **Confidence:** [score]
- **Location:** [file:line]
- **Problem:** [brief description]
- **Fix Applied:** [what you did]
- **Status:** Resolved

#### 2. [Issue Title] - [SEVERITY]
- **Confidence:** [score]
- **Location:** [file:line]
- **Problem:** [brief description]
- **Fix Applied:** [what you did]
- **Status:** Resolved

### Issues Requiring Manual Review

#### 1. [Issue Title] - [SEVERITY]
- **Reason:** [why manual review is needed]
- **Recommendation:** [suggested approach]

### Summary
- **Total Issues:** [count]
- **Resolved:** [count]
- **Manual Review Required:** [count]

重要指南

  1. 仅处理 Sentry:专注于来自 Sentry 的评论(用户名以 "sentry" 开头)
  2. 先验证:尝试修复前,务必确认问题确实存在
  3. 先读后改:使用 Edit 工具前,务必先使用 Read 工具
  4. 精准修复:针对根本原因进行有针对性的修复
  5. 安全性:如果不确定如何修复,请使用 AskUserQuestion 向用户征求指导
  6. 测试:提醒用户在应用修复后运行测试

常见的 Sentry 机器人问题类别

构建配置问题
  • 构建输出中缺少文件
  • tsconfig 设置不正确
  • 构建脚本中缺少文件复制步骤
错误处理问题
  • 捕获错误但未重新抛出
  • 关键路径中发生静默失败
  • 缺少错误边界
运行时配置问题
  • 缺少环境变量
  • 路径解析错误
  • 缺少必需的依赖项
类型安全问题
  • 缺少空值检查
  • 可能失败的类型断言
  • 缺少输入验证

评论

支持 Markdown