sentry-code-review
SentryがGitHub Pull Requestのコメントで指摘した問題を分析・解決します。PRコメント内のSentryによる指摘をレビューまたは修正するよう依頼された際に使用します。PR番号を指定して特定のPRをレビューしたり、Sentryのフィードバックがある最近のPRを自動的に検出することもできます。
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.
SKILL.md 本文
All Skills>Workflow> Code Review
Sentry Code Review
GitHub Pull Request のレビューコメント内で Sentry が特定した問題を分析・解決するための専門的なスキルです。
Sentry PR レビューコメント形式
Sentry は PR 内のコード変更に対して行単位のレビューコメントを投稿します。各コメントには以下が含まれます。
コメントメタデータ(API から)
author: ボットのユーザー名(例:"sentry[bot]")file: コメント対象のファイル(例:"src/sentry/seer/explorer/tools.py")line: コード内の行番号(ファイル全体へのコメントの場合はnull)body: コメント本文(HTML の details タグを含む Markdown)
Body の構造
body フィールドには折りたたみ可能なセクションを含む Markdown が含まれます。
ヘッダー:
**Bug:** [問題の説明]
<sub>Severity: CRITICAL | Confidence: 1.00</sub>
分析セクション(<details> タグ内):
<details>
<summary>🔍 <b>Detailed Analysis</b></summary>
技術的な問題とその影響を説明します
</details>
修正提案セクション(<details> タグ内):
<details>
<summary>💡 <b>Suggested Fix</b></summary>
具体的な解決策を提案します
</details>
AI エージェントプロンプト(<details> タグ内):
<details>
<summary>🤖 <b>Prompt for AI Agent</b></summary>
問題を確認し修正するための具体的な指示
含むもの: 位置情報(file#line)、潜在的な問題の説明
</details>
問題の例
-
None 値による TypeError
- リスト返却時に None を返す関数
- イテレーション前の null チェック不足
-
入力検証の問題
- 過度に寛容な入力検証
- 無効なデータが通過している
-
エラーハンドリングの抜け
- エラーはログされるが再スロー されない
- 重要なパスでの無声な失敗
ワークフロー
1. PR コメントの取得
PR 番号または URL を指定された場合:
# GitHub API を使用して PR レビューコメント(行単位のコード コメント)を取得
gh api repos/{owner}/{repo}/pulls/<PR_NUMBER>/comments --jq '.[] | select(.user.login | startswith("sentry")) | {author: .user.login, file: .path, line: .line, body: .body}'
または WebFetch を使用して PR URL から直接取得してください。
2. Sentry コメントの解析
- のみ Sentry からのコメントを処理(ユーザー名が "sentry" で始まる、例:"sentry[bot]")
- "cursor[bot]" または他のボットからのコメントは無視
- 各コメントから以下を抽出:
file: コメント対象のファイルパスline: 特定の行番号(利用可能な場合)body: Markdown/HTML body から以下を解析:- バグの説明("Bug:" で始まるヘッダー行から)
- 重大度レベル(
<sub>Severity: Xタグから) - 信頼度スコア(sub タグ内の
Confidence: X.XXから) - 詳細な分析(
<summary>🔍 <b>Detailed Analysis</b></summary>details ブロック内のテキスト) - 修正提案(
<summary>💡 <b>Suggested Fix</b></summary>details ブロック内のテキスト) - AI エージェントプロンプト(
<summary>🤖 <b>Prompt for AI Agent</b></summary>details ブロック内のテキスト)
3. 各問題の分析
各 Sentry コメントについて:
- コメントメタデータから
fileとlineに注目 - ここが確認場所です - コメント内に記載された特定のファイルを読み取る
- 行番号にナビゲートして問題のあるコードを確認
- 「🤖 Prompt for AI Agent」セクションで問題の具体的なコンテキストを読む
- 現在のコード内で問題が存在するかどうかを確認
- 詳細な分析から根本原因を理解
- 修正提案を評価
4. 修正の実装
各検証済みの問題について:
- 影響を受けるファイルを読み取る
- 提案された修正またはあなた自身の解決策を実装
- 修正が根本原因に対応していることを確認
- エッジケースと副作用を考慮
- Edit ツールを使用して正確な変更を加える
5. サマリーの提供
問題を分析・修正した後、レポートを提供してください:
## Sentry Code Review サマリー
**PR:** #[番号] - [タイトル]
**発見された Sentry コメント:** [件数]
### 解決された問題
#### 1. [問題タイトル] - [重大度]
- **信頼度:** [スコア]
- **位置:** [file:line]
- **問題:** [簡潔な説明]
- **適用された修正:** [実施内容]
- **ステータス:** 解決済み
#### 2. [問題タイトル] - [重大度]
- **信頼度:** [スコア]
- **位置:** [file:line]
- **問題:** [簡潔な説明]
- **適用された修正:** [実施内容]
- **ステータス:** 解決済み
### 手動レビューが必要な問題
#### 1. [問題タイトル] - [重大度]
- **理由:** [手動レビューが必要な理由]
- **推奨事項:** [提案するアプローチ]
### サマリー
- **合計問題数:** [件数]
- **解決済み:** [件数]
- **手動レビュー必要:** [件数]
重要なガイドライン
- Sentry のみ: Sentry からのコメント(ユーザー名が "sentry" で始まる)に焦点を当てる
- まず検証: 修正を試みる前に問題の存在を常に確認
- 読み取ってから編集: Edit ツールを使用する前に常に Read ツールを使用
- 正確さ: 根本原因に対応したターゲット限定の修正を実施
- 安全性: 修正について不確実な場合、AskUserQuestion を使用してユーザーに指導を求める
- テスト: 修正適用後にテストを実行するようユーザーに通知
よくある Sentry ボット問題カテゴリ
ビルド設定の問題
- ビルド出力で欠落しているファイル
- 不正な tsconfig 設定
- ビルドスクリプトのファイルコピーステップが欠落
エラーハンドリングの問題
- キャッチされたエラーが再スローされない
- 重要なパスでの無声な失敗
- エラーバウンダリが欠落
ランタイム設定の問題
- 欠落している環境変数
- パス解決の不正
- 欠落している必須の依存関係
タイプセーフティの問題
- null チェック欠落
- 失敗する可能性のあるタイプアサーション
- 欠落している入力検証
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- getsentry
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/getsentry/sentry-for-ai / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。