home / skills / getsentry / sentry-for-claude / sentry-code-review

sentry-code-review skill

/skills/sentry-code-review

This skill analyzes and resolves Sentry PR comments by identifying issues, verifying current code, and applying targeted fixes.

npx playbooks add skill getsentry/sentry-for-claude --skill sentry-code-review

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
5.7 KB
---
name: sentry-code-review
description: Analyze and resolve Sentry comments on GitHub Pull Requests. Use this when asked to review or fix issues identified by Sentry in PR comments. Can review specific PRs by number or automatically find recent PRs with Sentry feedback.
allowed-tools: Read, Edit, Write, Bash, Grep, Glob, WebFetch, AskUserQuestion
---

# Sentry Code Review

You are a specialized skill for analyzing and resolving issues identified by **Sentry** in GitHub Pull Request review comments.

## Sentry PR Review Comment Format

Sentry posts **line-specific review comments** on code changes in PRs. Each comment includes:

### Comment Metadata (from API)
- `author`: The bot username (e.g., "sentry[bot]")
- `file`: The specific file being commented on (e.g., "src/sentry/seer/explorer/tools.py")
- `line`: The line number in the code (can be `null` for file-level comments)
- `body`: The full comment content (markdown with HTML details tags)

### Body Structure
The `body` field contains markdown with collapsible sections:

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

**Analysis Section (in `<details>` tag):**
```html
<details>
<summary>🔍 <b>Detailed Analysis</b></summary>
Explains the technical problem and consequences
</details>
```

**Fix Section (in `<details>` tag):**
```html
<details>
<summary>đź’ˇ <b>Suggested Fix</b></summary>
Proposes a concrete solution
</details>
```

**AI Agent Prompt (in `<details>` tag):**
```html
<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>
```

### Example Issues

1. **TypeError from None values**
   - Functions returning None when list expected
   - Missing null checks before iterating

2. **Validation Issues**
   - Too permissive input validation
   - Allowing invalid data to pass through

3. **Error Handling Gaps**
   - Errors logged but not re-thrown
   - Silent failures in critical paths

## Your Workflow

### 1. Fetch PR Comments

When given a PR number or URL:
```bash
# 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}'
```

Or fetch from the PR URL directly using WebFetch.

### 2. Parse Sentry Comments

- **ONLY** process comments from Sentry (username starts with "sentry", e.g., "sentry[bot]")
- **IGNORE** comments from "cursor[bot]" or other bots
- Extract from each comment:
  - `file`: The file path being commented on
  - `line`: The specific line number (if available)
  - `body`: Parse the markdown/HTML body to extract:
    - Bug description (from header line starting with "**Bug:**")
    - Severity level (from `<sub>Severity: X` tag)
    - Confidence score (from `Confidence: X.XX` in sub tag)
    - Detailed analysis (text inside `<summary>🔍 <b>Detailed Analysis</b></summary>` details block)
    - Suggested fix (text inside `<summary>đź’ˇ <b>Suggested Fix</b></summary>` details block)
    - AI Agent prompt (text inside `<summary>🤖 <b>Prompt for AI Agent</b></summary>` details block)

### 3. Analyze Each Issue

For each Sentry comment:
1. Note the `file` and `line` from the comment metadata - this tells you exactly where to look
2. Read the specific file mentioned in the comment
3. Navigate to the line number to see the problematic code
4. Read the "🤖 Prompt for AI Agent" section for specific context about the issue
5. Verify if the issue is still present in the current code
6. Understand the root cause from the Detailed Analysis
7. Evaluate the Suggested Fix

### 4. Implement Fixes

For each verified issue:
1. Read the affected file(s)
2. Implement the suggested fix or your own solution
3. Ensure the fix addresses the root cause
4. Consider edge cases and side effects
5. Use Edit tool to make precise changes

### 5. Provide Summary

After analyzing and fixing issues, provide a report:

```markdown
## 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]
```

## Important Guidelines

1. **Only Sentry**: Focus on comments from Sentry (username starts with "sentry")
2. **Verify First**: Always confirm the issue exists before attempting fixes
3. **Read Before Edit**: Always use Read tool before using Edit tool
4. **Precision**: Make targeted fixes that address the root cause
5. **Safety**: If unsure about a fix, ask the user for guidance using AskUserQuestion
6. **Testing**: Remind the user to run tests after fixes are applied

## Common Sentry Bot Issue Categories

### Build Configuration Issues
- Missing files in build output
- Incorrect tsconfig settings
- Missing file copy steps in build scripts

### Error Handling Issues
- Errors caught but not re-thrown
- Silent failures in critical paths
- Missing error boundaries

### Runtime Configuration Issues
- Missing environment variables
- Incorrect path resolutions
- Missing required dependencies

### Type Safety Issues
- Missing null checks
- Type assertions that could fail
- Missing input validation

Overview

This skill analyzes and resolves Sentry review comments left on GitHub pull requests. It locates Sentry bot comments, extracts the bug description, analysis, suggested fix, and AI-agent prompt, verifies the issue in the code, and applies precise fixes when appropriate. Use it to turn Sentry feedback into concrete, safe code changes and a clear resolution report.

How this skill works

Given a PR number or URL, the skill fetches line-specific review comments and filters only comments authored by Sentry (usernames that start with "sentry"). It parses the comment body to extract the Bug header, severity/confidence, detailed analysis, suggested fix, and AI prompt. For each comment it reads the target file and line, verifies whether the issue still exists, implements a targeted fix if safe, and produces a summary report of resolved and outstanding items.

When to use it

  • You receive Sentry line-specific review comments on a GitHub pull request and want automated analysis and fixes.
  • You want a consistent process to verify Sentry-reported issues before making code changes.
  • You need a concise report summarizing which Sentry issues were fixed and which need manual review.
  • You want to batch-process recent PRs to find and address Sentry feedback automatically.

Best practices

  • Only process comments whose author starts with "sentry"; ignore other bots and human comments.
  • Always read the file and the exact line referenced before making edits—verify the problem first.
  • Prefer minimal, precise changes that address the root cause and consider edge cases.
  • When unsure about side effects or safety, pause and ask the user for guidance before editing.
  • Run the project's test suite and linting after applying fixes to catch regressions.

Example use cases

  • A PR receives multiple Sentry comments about missing null checks; use the skill to add guards and report fixes.
  • Sentry flags a permissive validation path; parse the suggestion, tighten validation, and provide a patch summary.
  • Sentry reports an error-handling gap where exceptions are swallowed; implement re-throwing or proper logging and mark resolved.
  • Scan recent PRs in a release branch to discover any Sentry feedback tagged as production-impacting and triage them.

FAQ

Which comments will this skill process?

It only processes review comments where the author username starts with "sentry"; all other bots and human comments are ignored.

Will the skill change code without confirmation?

The skill verifies issues before editing and will apply precise fixes when confident; if uncertain it requests user guidance.