sentry-pr-code-review

작성자: sentry

프로젝트의 PR을 검토하여 Seer Bug Prediction이 코드 리뷰에서 감지한 문제를 확인합니다. PR에서 Sentry가 식별한 문제를 검토하거나 수정하라는 요청을 받았을 때 사용합니다.

npx skills add https://github.com/getsentry/sentry-agent-skills --skill 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

  • gh CLI 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:

  1. Read the file at the specified line
  2. Confirm issue still exists in current code (not already fixed in a later commit)
  3. Review surrounding code to assess if it's an actual issue or false positive
  4. Implement fix (use suggested fix as starting point, or write your own)
  5. 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

TriggerWhen
PR set to "Ready for Review"Automatic error prediction
Commit pushed while PR is readyRe-runs prediction
@sentry review commentManual trigger for full review + suggestions
Draft PRSkipped — no review until marked ready

Troubleshooting

IssueSolution
No Seer comments foundVerify the Seer GitHub App is installed on the repo
Bot name mismatchThe login is seer-by-sentry[bot], not sentry[bot]
Comments not appearing on new PRsPR must be "Ready for Review" (not draft)
gh api returns partial resultsEnsure --paginate flag is included

Common Issue Types

CategoryExamples
Type SafetyMissing null checks, unsafe type assertions
Error HandlingSwallowed errors, missing boundaries
ValidationPermissive inputs, missing sanitization
ConfigMissing env vars, incorrect paths

sentry의 다른 스킬

generate-frontend-forms
sentry
Sentry의 새로운 폼 시스템을 사용하여 폼을 생성하는 가이드입니다. 폼, 폼 필드, 유효성 검사 또는 자동 저장 기능을 구현할 때 사용하세요.
official
sentry-snapshots-cocoa
sentry
Apple/Cocoa 프로젝트를 위한 전체 Sentry Snapshots 설정입니다. "SnapshotPreviews 설정", "Apple 스냅샷 테스트 설정", "Apple 스냅샷 업로드" 요청 시 사용하세요.
official
architecture-review
sentry
직원 수준의 코드베이스 건강 검토. 모놀리식 모듈, 무음 실패, 타입 안전성 격차, 테스트 커버리지 구멍, LLM 친화성 문제를 찾습니다.
official
linear-type-labeler
sentry
Linear 이슈를 분류하고, 각 이슈의 제목과 설명 내용을 기반으로 Sentry 워크스페이스의 레이블 분류 체계에서 Type 레이블을 적용합니다.
official
sentry-flutter-sdk
sentry
Flutter 및 Dart를 위한 완전한 Sentry SDK 설정입니다. "Flutter에 Sentry 추가", "sentry_flutter 설치", "Dart에서 Sentry 설정" 또는 오류 구성을 요청받았을 때 사용하세요.
official
sentry-svelte-sdk
sentry
Svelte 및 SvelteKit을 위한 완전한 Sentry SDK 설정입니다. "Svelte에 Sentry 추가", "SvelteKit에 Sentry 추가", "@sentry/sveltekit 설치" 또는 구성 요청 시 사용하세요.
official
vercel-react-best-practices
sentry
Vercel Engineering의 React 및 Next.js 성능 최적화 가이드라인입니다. 이 스킬은 React/Next.js 코드를 작성, 검토 또는 리팩토링할 때 사용해야 합니다.
official
sentry-tanstack-start-sdk
sentry
TanStack Start React용 전체 Sentry SDK 설정. "TanStack Start에 Sentry 추가", "@sentry/tanstackstart-react 설치" 또는 오류 구성 요청 시 사용…
official