sentry-pr-code-review について
GitHub のプルリクエストに付いた Seer by Sentry のコメントを扱うコードレビュー用スキルです。指摘の取得と確認から修正、結果報告までの手順を案内します。
主な機能
- 01gh CLI で Seer コメントを取得
- 02問題の詳細と修正案を抽出
- 03指摘が現状も該当するか確認
- 04修正し回帰リスクを検討
- 05解決・保留した指摘を報告
活用シーン
- 01PR の未解決 Seer コメントへの対応
- 02自動コードレビュー指摘の検証
- 03Seer コメント付きのオープン PR の検索
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ getsentry/ sentry-agent-skills --skill sentry-pr-code-reviewインストール後、Claude Code で/sentry-pr-code-reviewを入力して読み込まれたか確認します。
詳細
Sentry コードレビュー
GitHub PR のコメントで Seer(Sentry 提供)が指摘した問題をレビューして修正します。
このスキルを使う場面
- PR の「Sentry のコメントをレビューして」または「Sentry の問題を修正して」と依頼された場合
- ユーザーが PR の URL/番号を共有し、Sentry または Seer のフィードバックに言及した場合
- 「Sentry のレビューに対応して」または「Seer の指摘を解決して」と依頼された場合
- 未解決の Sentry コメントがある PR を探したい場合
前提条件
ghCLI がインストールされ、認証済みであること- リポジトリに Seer by Sentry GitHub アプリがインストールされていること
重要: 以下で解析するコメント形式は、Seer の現在の出力に基づいています。これは API の仕様ではなく、変更される可能性があります。必ず実際のコメント構造を確認してください。
フェーズ 1:Seer のコメントを取得する
gh api repos/{owner}/{repo}/pulls/{PR_NUMBER}/comments --paginate \
--jq '.[] | select(.user.login == "seer-by-sentry[bot]") | {file: .path, line: .line, body: .body}'
ボットのログイン名は seer-by-sentry[bot] です — sentry[bot] や sentry-io[bot] ではありません。
PR 番号が指定されていない場合は、Seer のコメントがある最近の PR を探します。
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
フェーズ 2:各コメントを解析する
Markdown の本文から以下を抽出します。
- バグの説明:
**Bug:**で始まる行 - 重大度/信頼度:
<sub>Severity: X | Confidence: X.XX</sub>内 - 分析:
<summary>🔍 <b>Detailed Analysis</b></summary>ブロック内 - 修正案:
<summary>💡 <b>Suggested Fix</b></summary>ブロック内 - AI プロンプト:
<summary>🤖 <b>Prompt for AI Agent</b></summary>ブロック内
フェーズ 3:確認して修正する
各問題について、次の手順を実施します。
- 指定された行のファイルを読みます
- 現在のコードに問題がまだ存在することを確認します(後続のコミットですでに修正されていないか確認します)
- 周辺のコードを確認し、実際の問題か誤検知かを判断します
- 修正を実装します(修正案を出発点として使うか、独自に修正を作成します)
- エッジケースとリグレッションのリスクを考慮します
フェーズ 4:結果を要約して報告する
## 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 レビューのトリガー
| トリガー | タイミング |
|---|---|
| PR が「Ready for Review」に設定されたとき | エラー予測を自動実行 |
| PR がレビュー可能な状態のときにコミットがプッシュされたとき | 予測を再実行 |
@sentry review コメント | レビューと提案を手動で実行 |
| ドラフト PR | スキップ — レビュー可能な状態になるまでレビューなし |
トラブルシューティング
| 問題 | 解決策 |
|---|---|
| Seer のコメントが見つからない | Seer GitHub アプリがリポジトリにインストールされていることを確認します |
| ボット名が一致しない | ログイン名は seer-by-sentry[bot] です。sentry[bot] ではありません |
| 新しい PR にコメントが表示されない | PR がドラフトではなく「Ready for Review」である必要があります |
gh api が一部の結果しか返さない | --paginate フラグが含まれていることを確認します |
よくある問題の種類
| カテゴリー | 例 |
|---|---|
| 型の安全性 | null チェックの欠落、安全でない型アサーション |
| エラー処理 | エラーの握りつぶし、境界処理の欠落 |
| 検証 | 許容範囲が広すぎる入力、サニタイズの欠落 |
| 設定 | 環境変数の欠落、パスの誤り |
コメント
Markdown 対応