Claude CodeにSentry CLIのスキルを入れてissue調査を任せる
Sentry CLIを入れるとClaude Code用のスキルも一緒に入ります。インストール、認証、権限の絞り方と、MCP・プラグインとの使い分けをまとめます。
Sentry CLI(sentryコマンド)をインストールすると、Claude Code用のスキルが~/.claudeに同時に入ります。スキルの実体はバイナリに埋め込まれているので、別途ダウンロードする作業はありません。Claude Codeは「SentryのPROJECT-123を調べて」と頼まれると、このスキルを通じてsentry issue viewなどを自分で実行します。この記事では、導入の手順、権限の絞り方、MCP・プラグインとの使い分けを扱います。
CLIスキル・プラグイン・MCPのどれを選ぶか
SentryがAIエージェント向けに用意している入口は3つあります。Sentry for AIのページは、Agent Plugin、MCPサーバー、Sentry CLIを別々の項目として並べています。
Sentryをエージェントにつなぐ3つの入口
CLIスキル
端末のsentryコマンドをエージェントに使わせます。認証はCLIのログイン状態を使い、出力は--jsonで絞れます。
Agent Plugin
npx @sentry/agent-plugin installで入れます。インストール時にSentry MCPサーバーの設定も済み、SDKの導入やアラート設定まで頼めます。
選ぶ基準は、作業をどこで回すかです。ローカルの端末でjqやシェルスクリプトと組み合わせたいならCLIスキルが向きます。sentry issue view A B C --jsonのように出力を整形して後続のコマンドへ渡せるためです。エラー調査に加えて、プロジェクトへのSentry導入や通知設定まで会話で頼みたいなら、プラグインのほうが守備範囲は広くなります。
CLIスキルにしかない特徴が1つあります。sentry local runのように、ローカルでアプリを動かしながらエラーやトレースを手元に流すコマンドまで同じ道具に含まれることです。これはSentryの組織に届く前の確認に使えます。
Sentry CLIを入れてスキルを有効にする
インストーラーは複数あり、スキルが自動で入るかどうかが方式で変わります。
| 導入方法 | コマンド | スキルの導入 |
|---|---|---|
| インストールスクリプト | コマンドcurl https://cli.sentry.dev/install -fsS | bash | スキルの導入自動 |
| Homebrew | コマンドbrew install getsentry/tools/sentry | スキルの導入自動 |
| npm / pnpm / yarn / bun | コマンドnpm install -g sentry など | スキルの導入自動では入らない |
パッケージマネージャー経由のときは、導入後にsentry cli setupを一度実行します。このコマンドが検出したエージェントのルートディレクトリ(~/.claudeと~/.agents)へスキルを書き込みます。スキルを入れたくない場合は、インストールスクリプトに--no-agent-skillsを付けるか、sentry cli setupに同じフラグを渡します。
# macOS / Linux(スキルも自動で入る)
curl https://cli.sentry.dev/install -fsS | bash
# npm で入れた場合はスキルを別途セットアップする
npm install -g sentry
sentry cli setup対応OSはmacOS(x64・arm64)、Linux(x64・arm64)、Windows(x64、Git Bash・MSYS2・WSL経由)です。AlpineなどmuslベースのLinuxでは、スタンドアロンのバイナリが使えないため、Node.jsを入れてnpm install -g sentryを使います。npm版にはNode.js 20以上が必要です。
dotagentsで入れる方法
Sentryは、エージェント用スキルの導入ツールとしてdotagentsを用意しています。~/.agentsディレクトリの規約を使い、Claude、Cursor、Codexなどへ1つのagents.tomlから設定を配ります。
# 全プロジェクト共通(~/.agents/ に入る)
npx @sentry/dotagents add https://cli.sentry.dev sentry-cli
# 1つのリポジトリだけに入れる場合
npx @sentry/dotagents --project init
npx @sentry/dotagents --project add https://cli.sentry.dev sentry-cliスキルをリポジトリ単位に閉じたい場合は、--projectを付けたプロジェクトスコープの導入が合います。sentry cli setupは検出したエージェントのルートディレクトリに書き込む手順です。skillsCLIを使うnpx skills add https://cli.sentry.devという方法も案内されています。
認証と組織・プロジェクトの解決
スキルは、CLIの既存の認証を使います。最初に一度だけログインします。
sentry auth # ブラウザでOAuthのデバイスフロー
sentry auth status # 認証状態の確認URLとコードが表示されるので、ブラウザで承認すると資格情報が保存されます。リフレッシュトークンが返る場合、アクセストークンは自動で更新されます。保存先は~/.config/sentry/で、SENTRY_CONFIG_DIRで変えられます。
CIや使い捨てのサンドボックスなど、設定ディレクトリを残せない環境ではAPIトークンを使います。sentry auth --token <トークン>で渡すか、環境変数SENTRY_AUTH_TOKENを設定します。
セルフホストのSentryなら、公開OAuthアプリを作ってクライアントIDとURLを渡します。
SENTRY_CLIENT_ID=your-client-id sentry auth login --url https://sentry.example.com組織とプロジェクトは、毎回指定する必要がありません。CLIは.sentryclirc、.envやソースコード中のDSN、ディレクトリ名から対象を推測します。エージェント向けの指針も、sentry org listとsentry project listで自分から探しに行かず、CLIの検出に任せるよう勧めています。検出が外れたときだけ<org>/<project>を明示します。
Claude Codeに任せるときの使い方
導入後は、Sentryの話題をふつうに頼むだけでスキルが使われます。たとえば次のような依頼が、それぞれのコマンドに対応します。
| 頼み方 | 実行されるコマンド |
|---|---|
| 未解決のissueを新しい順に5件見せて | 実行されるコマンドsentry issue list --query "is:unresolved" --limit 5 |
| PROJECT-123のスタックトレースは | 実行されるコマンドsentry issue view PROJECT-123 |
| このissueの根本原因を調べて | 実行されるコマンドsentry issue explain PROJECT-123 |
| 修正の計画を出して | 実行されるコマンドsentry issue plan PROJECT-123 |
| Next.jsのソースマップ設定は | 実行されるコマンドsentry docs "source maps Next.js" |
調査の流れは、一覧、詳細、Seerの分析、修正計画の順です。Claude Code側では分析結果から該当ファイルを読み、修正案をコードに落とします。
出力を絞らせてコンテキストを節約する
issueの詳細には、最新イベントのリクエスト情報が含まれます。Cookieやヘッダー、リクエスト本文が入ることがあるので、丸ごと読ませるのは避けます。--json --fieldsで必要な項目だけ取る形が指針に載っています。
sentry issue view PROJECT-123 --json \
--fields shortId,title,culprit,count,userCount,permalink
# 複数のissueをまとめて渡す(ループにしない)
sentry issue view A-1 B-2 C-3 --jsonループで1件ずつ呼ぶより、複数IDを1回の呼び出しに渡すほうが往復が減ります。sentry issue explain A B Cも同じです。
issue以外に任せられる作業
スキルの対象はissueの閲覧だけではありません。指針には、トレース、ログ、リリース管理のワークフローも載っています。
| 作業 | コマンドの例 |
|---|---|
| 直近のトレースを見る | コマンドの例sentry trace list --limit 5 |
| トレースのスパンを見る | コマンドの例sentry span list <トレースID> |
| トレースに紐づくログ | コマンドの例sentry trace logs <トレースID> |
| ログをリアルタイムで追う | コマンドの例sentry log list --follow |
| 重大度でログを絞る | コマンドの例sentry log list --query "severity:error" |
| リリースを作ってデプロイを記録 | コマンドの例sentry release create → finalize → deploy |
リリース管理では、バージョン文字列がSentry.init()のreleaseと完全に一致している必要があります。sentry release create my-org/1.0.0の書式では、スラッシュの左が組織、右がバージョンです。コミットの関連付けは--autoか--localで選びます。--autoはSentryのリポジトリ連携とローカルのgit checkoutが要り、連携が無い環境では--localでローカルのgit履歴から読みます。フラグを付けないset-commitsは、まず--autoを試して失敗したら--localに落ちます。
リリース操作はSentry側の状態を変える書き込みです。権限の許可には入れず、毎回内容を見て承認するほうが安全です。
CLAUDE.mdと権限で動きを縛る
スキルの本文に頼るだけでなく、プロジェクト側にも作法を書いておくと、Claude Codeの動きが安定します。次は、上の指針をCLAUDE.mdに写した例です。
## Sentry の調べ方
- issue は `sentry issue view <ID> --json --fields ...` で必要な項目だけ取る
- org / project は自分で探さず、検出に任せる。外れたときだけ <org>/<project> を指定
- 認証エラー(終了コード10〜19)が出たら、ユーザーに `sentry auth login` を頼む
- `project delete` と `trial start` は実行前に必ず確認する終了コードは範囲ごとに意味が決まっています。10〜19が認証エラー、20〜29が入力エラー、30〜39がAPIエラー、40〜49がプランや設定の制約で使えない機能です。エージェントには「30番台は再試行か報告、40番台はプランや設定の問題としてユーザーに伝える」といった分岐を持たせられます。
権限は.claude/settings.jsonで絞ります。読み取り専用のコマンドだけを許可に入れ、状態を変えるものは確認に回す構成です。
{
"permissions": {
"allow": [
"Bash(sentry issue list *)",
"Bash(sentry issue view *)",
"Bash(sentry docs *)",
"Bash(sentry status *)"
]
}
}許可に書いていないsentry issue resolve、sentry issue merge、sentry apiなどは、通常の権限確認に回ります。sentry apiは--method POSTで任意のSentry APIを叩けるため、許可に入れないほうが安全側です。sentry issue explainとsentry issue planはSeerを呼びます。Seerはアドオンの課金対象です。詳しい条件はSentry MCPの記事で説明しています。呼び出しを都度確認したいなら、許可に入れないでおく選択肢があります。
権限ルールの書式は、完全一致のBash(npm run build)と、末尾に*を付けるワイルドカード形式の2種類です。スキル自体の置き場所や優先順位はClaude Codeのスキル入門にまとめています。
詰まりやすい点
sentryが見つからない: npmのグローバルインストール先がPATHに無い可能性があります。npx sentry --helpなら導入なしで動くので、切り分けに使えます- スキルが入っていない: パッケージマネージャー経由は自動で入りません。
sentry cli setupを実行し、Claude Codeを再起動します - issue IDの解釈ミス:
sentry issue explain issue-1のように、コマンド名issueをIDの接頭辞にすると、プロジェクト名issueの1番として解釈されます。実在するプロジェクトの接頭辞(FRONT-1)か数値IDを使います - 別の組織のissueが出る: プロジェクトの自動検出が外れています。
<org>/<project>を明示して指定し直します
CLIをスキルとしてClaude Codeに使わせる例は、Mergify CLIとTeamCity CLIの記事にもあります。
まとめ
Sentry CLIを入れると、スキルは同時に入ります。npm系の導入だけはsentry cli setupが必要です。端末で出力を整形して使うならCLIスキル、導入や通知設定まで会話で頼むならAgent Plugin、範囲を絞った接続をチームで管理するならMCPという分担になります。どれを選んでも、読み取り系だけを許可に入れ、sentry apiやissueの状態変更は確認に回す設定から始めると、調査の自動化を安全に広げられます。