sentry-pr-code-review

作者: sentry

審查專案的PR,檢查Seer Bug Prediction在程式碼審查中發現的問題。當被要求審查或修復Sentry在PR中識別的問題時使用…

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
完整的 Sentry Snapshots 設定,適用於 Apple/Cocoa 專案。當被要求「設定 SnapshotPreviews」、「設定 Apple 快照測試」、「上傳 Apple 快照至…」時使用。
official
architecture-review
sentry
員工級別的程式碼庫健康檢查。找出單體模組、靜默失敗、型別安全漏洞、測試覆蓋缺口,以及LLM友善性問題。
official
linear-type-labeler
sentry
根據每個問題的標題與描述內容,從 Sentry 工作區的標籤分類法中分類 Linear 問題,並套用對應的類型標籤。
official
sentry-flutter-sdk
sentry
完整的 Sentry SDK 設定,適用於 Flutter 和 Dart。當被要求「為 Flutter 加入 Sentry」、「安裝 sentry_flutter」、「在 Dart 中設定 Sentry」或設定錯誤…時使用。
official
sentry-svelte-sdk
sentry
完整的 Sentry SDK 設定,適用於 Svelte 和 SvelteKit。當被要求「將 Sentry 加入 Svelte」、「將 Sentry 加入 SvelteKit」、「安裝 @sentry/sveltekit」或進行設定時使用…
official
vercel-react-best-practices
sentry
來自 Vercel Engineering 的 React 與 Next.js 效能優化指南。此技能應在撰寫、審查或重構 React/Next.js… 時使用。
official
sentry-tanstack-start-sdk
sentry
完整的 Sentry SDK 設定,適用於 TanStack Start React。當被要求「將 Sentry 加入 TanStack Start」、「安裝 @sentry/tanstackstart-react」或設定錯誤…時使用。
official