sentry-pr-code-review
Sentry Code Review
Review and fix issues identified by Seer (by Sentry) in GitHub PR comments.
Invoke This Skill When
- User asks to "review Sentry comments" or "fix Sentry issues" on a PR
- User shares a PR URL/number and mentions Sentry or Seer feedback
- User asks to "address Sentry review" or "resolve Sentry findings"
- User wants to find PRs with unresolved Sentry comments
Prerequisites
ghCLI installed and authenticated- Repository has the Seer by Sentry GitHub App installed
Important: The comment format parsed below is based on Seer's current output. This is not an API contract and may change. Always verify the actual comment structure.
Phase 1: Fetch Seer Comments
gh api repos/{owner}/{repo}/pulls/{PR_NUMBER}/comments --paginate \
--jq '.[] | select(.user.login == "seer-by-sentry[bot]") | {file: .path, line: .line, body: .body}'
The bot login is seer-by-sentry[bot] — not sentry[bot] or sentry-io[bot].
If no PR number is given, find recent PRs with Seer comments:
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
Phase 2: Parse Each Comment
Extract from the markdown body:
- Bug description: Line starting with
**Bug:** - Severity/Confidence: In
<sub>Severity: X | Confidence: X.XX</sub> - Analysis: Inside
<summary>🔍 <b>Detailed Analysis</b></summary>block - Suggested Fix: Inside
<summary>💡 <b>Suggested Fix</b></summary>block - AI Prompt: Inside
<summary>🤖 <b>Prompt for AI Agent</b></summary>block
Phase 3: Verify & Fix
For each issue:
- Read the file at the specified line
- Confirm issue still exists in current code (not already fixed in a later commit)
- Review surrounding code to assess if it's an actual issue or false positive
- Implement fix (use suggested fix as starting point, or write your own)
- Consider edge cases and regression risk
Phase 4: Summarize and Report Results
## 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 Review Triggers
| Trigger | When |
|---|---|
| PR set to "Ready for Review" | Automatic error prediction |
| Commit pushed while PR is ready | Re-runs prediction |
@sentry review comment |
Manual trigger for full review + suggestions |
| Draft PR | Skipped — no review until marked ready |
Troubleshooting
| Issue | Solution |
|---|---|
| No Seer comments found | Verify the Seer GitHub App is installed on the repo |
| Bot name mismatch | The login is seer-by-sentry[bot], not sentry[bot] |
| Comments not appearing on new PRs | PR must be "Ready for Review" (not draft) |
gh api returns partial results |
Ensure --paginate flag is included |
Common Issue Types
| Category | Examples |
|---|---|
| Type Safety | Missing null checks, unsafe type assertions |
| Error Handling | Swallowed errors, missing boundaries |
| Validation | Permissive inputs, missing sanitization |
| Config | Missing env vars, incorrect paths |
More from jaffrepaul/agent-skills
sentry-ios-swift-setup
Setup Sentry in iOS/Swift apps. Use when asked to add Sentry to iOS, install sentry-cocoa SDK, or configure error monitoring for iOS applications using Swift and SwiftUI.
3sentry-react-setup
Setup Sentry in React apps. Use when asked to add Sentry to React, install @sentry/react, or configure error monitoring, error boundaries, session replay, or browser tracing for React applications.
3sentry-ruby-setup
Setup Sentry in Ruby apps. Use when asked to add Sentry to Ruby, install sentry-ruby gem, or configure error monitoring for Ruby applications, Rails, or Sidekiq.
3sentry-fix-issues
Find and fix issues from Sentry using MCP. Use when asked to fix Sentry errors, debug production issues, investigate exceptions, or resolve bugs reported in Sentry. Methodically analyzes stack traces, breadcrumbs, traces, and context to identify root causes.
3sentry-setup-tracing
Setup Sentry Tracing (Performance Monitoring) in any project. Use when asked to enable tracing, track transactions/spans, measure latency, or add performance monitoring. Supports JavaScript, Python, and Ruby.
3sentry-python-setup
Setup Sentry in Python apps. Use when asked to add Sentry to Python, install sentry-sdk, or configure error monitoring, profiling, or logging for Python applications, Django, Flask, FastAPI.
3