Claude Media
Claude CodeにSentry CLIのスキルを入れてissue調査を任せる

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の導入やアラート設定まで頼めます。

別記事

Sentry MCP

リモートMCPサーバーにOAuthで接続します。組織・プロジェクト単位に範囲を絞った接続は、Sentry MCPの追加手順にあります。

選ぶ基準は、作業をどこで回すかです。ローカルの端末で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の状態変更は確認に回す設定から始めると、調査の自動化を安全に広げられます。

この記事を共有:XはてブLinkedIn