openai-sentry について
Sentry API を通じてプロジェクトの課題やイベント詳細を取得する、読み取り専用の可観測性スキルです。個人情報を伏せ、生のスタックトレースを避けて情報を整形します。
主な機能
- 01課題の一覧表示と絞り込み
- 02課題とイベント詳細の取得
- 03ページネーション対応
- 04個人情報のマスキング
- 05課題概要の整形
活用シーン
- 01本番環境の最近の課題を確認
- 02課題に関連するイベントを調査
- 03クエリに合う課題を検索
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ trailofbits/ skills-curated --skill openai-sentryインストール後、Claude Code で/openai-sentryを入力して読み込まれたか確認します。
同梱ファイルscripts/sentry_api.py
詳細
Sentry(読み取り専用のオブザーバビリティ)
クイックスタート
- まだ認証されていない場合は、コマンドを実行する前に、有効な
SENTRY_AUTH_TOKEN(project:read、event:readなどの読み取り専用スコープ)をユーザーに提供してもらうか、ログインしてトークンを作成してもらいます。 SENTRY_AUTH_TOKENを環境変数として設定します。- オプションのデフォルト値:
SENTRY_ORG、SENTRY_PROJECT、SENTRY_BASE_URL。 - デフォルト値:組織/プロジェクトは
{your-org}/{your-project}、期間は24h、環境はprod、上限は 20(最大 50)です。 - 必ず Sentry API を呼び出します(推測やキャッシュは使用しません)。
トークンがない場合は、ユーザーに次の手順を案内します。
- Sentry 認証トークンを作成します:https://sentry.io/settings/account/api/auth-tokens/
project:read、event:read、org:readなどの読み取り専用スコープを持つトークンを作成します。- システムの環境変数として
SENTRY_AUTH_TOKENを設定します。 - 必要に応じて、使用している OS/シェルでの環境変数の設定方法を案内します。
- チャットでトークン全体を貼り付けるようユーザーに求めてはいけません。ローカルで設定してもらい、準備ができたら知らせてもらいます。
主なタスク(同梱スクリプトを使用)
決定的な API 呼び出しには scripts/sentry_api.py を使用します。ページネーションを処理し、一時的なエラーが発生した場合は 1 回再試行します。
スクリプトとリファレンスは {baseDir}/ 配下にあります。
API 要件
必ず次のエンドポイントを使用します(GET のみ):
- イシュー一覧:
/api/0/projects/{org_slug}/{project_slug}/issues/ - イシューの詳細:
/api/0/issues/{issue_id}/ - イシューのイベント:
/api/0/issues/{issue_id}/events/ - イベントの詳細:
/api/0/projects/{org_slug}/{project_slug}/events/{event_id}/
入力とデフォルト値
org_slug、project_slug:デフォルトは{your-org}/{your-project}です(本番環境以外の組織は避けます)。time_range:デフォルトは24hです(statsPeriodとして渡します)。environment:デフォルトはprodです。limit:デフォルトは 20、最大は 50 です(上限に達するまでページネーションします)。search_query:任意のqueryパラメーターです。issue_short_id:最初にイシュー一覧のクエリで解決します。
出力形式のルール
- イシュー一覧:タイトル、short_id、ステータス、初回検出日時、最終検出日時、件数、環境、主なタグを表示します。新しい順に並べます。
- イベントの詳細:culprit、タイムスタンプ、環境、リリース、URL を含めます。
- 結果がない場合は、その旨を明示します。
- 出力では PII(メールアドレス、IP アドレス)をマスキングします。スタックトレースをそのまま出力してはいけません。
- 認証トークンを表示してはいけません。
ゴールデンテストの入力
- 組織:
{your-org} - プロジェクト:
{your-project} - イシューの short ID:
{ABC-123}
プロンプトの例:「過去 24 時間の prod の未解決イシューを上位 10 件一覧表示してください。」 期待される結果:タイトル、short ID、件数、最終検出日時を含む順序付きリスト。
使用する場合
使用しない場合
コメント
Markdown 対応