analytics について
ローカルのClaude Code分析データを調べ、エージェント、スキル、フック、チーム、セッション、トークン、コスト、傾向をレポートするスキルです。データ品質の注意点を示し、実ファイルに基づいて集計します。
主な機能
- 01複数カテゴリのレポート
- 02セッションタイムラインの再生
- 03トークンとコストの分析
- 04日次活動と傾向のレポート
- 05データがある場合のOTELパネル
- 06データ品質の保護
活用シーン
- 01エージェントやスキルの利用状況確認
- 02遅い、または失敗するフックの特定
- 03トークンコストとキャッシュ節約の推定
- 04セッション活動の傾向確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ yonatangross/ orchestkit --skill analyticsインストール後、Claude Code で/analyticsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
test-cases.jsonreferences/data-locations.mdtrends-analysis.mdsession-replay.mdotel-gateway-source.mdjq-queries.mdcost-estimation.mdotel-fields.mdrules/_template.md_sections.mddata-privacy.mdlarge-file-streaming.mdcost-calculation.mdvisualization-dashboards.mdvisualization-recharts.md詳細
プロジェクト横断分析
~/.claude/analytics/ からローカルの分析データを照会します。データはすべてローカルにのみ保存され、プライバシーに配慮しています(プロジェクト ID はハッシュ化され、個人を特定できる情報は含まれません)。
使用状況に関する質問には、推測ではなくローカルファイルの情報で回答してください。エージェントの使用状況(どのエージェントをどれくらいの頻度で使用したか。どのモデルかは含まれません。注意事項を参照)は ~/.claude/analytics/agent-usage.jsonl に、フックのパフォーマンスと失敗は ~/.claude/analytics/hook-timing.jsonl に、トークンとコストの合計は ~/.claude/stats-cache.json に保存されています。これらは以下の jq ワンライナーで照会し、ダッシュボードの場所を示すのではなく、実際の件数を提示してください。
サブコマンド
ユーザーの引数を解析して、表示するレポートを判断してください。引数が指定されていない場合は、AskUserQuestion を使って選択してもらいます。
| サブコマンド | 説明 | データソース | リファレンス |
|---|---|---|---|
agents | 頻度と成功率が高いエージェント(実行時間/モデルは取得できません — #3034) | agent-usage.jsonl | references/jq-queries.md |
models | stats-cache.json のトークン合計に基づくモデルへの委任。起動ごとの帰属情報は取得できません(#3034) | stats-cache.json | references/jq-queries.md |
skills | 呼び出し回数が多いスキル | skill-usage.jsonl | references/jq-queries.md |
hooks | 処理が最も遅いフックと失敗率 | hook-timing.jsonl | references/jq-queries.md |
teams | チームの起動回数、アイドル時間、タスク完了数 | team-activity.jsonl | references/jq-queries.md |
session | ツール、トークン、タイミングを含むセッションのタイムラインを再生 | CC セッション JSONL | references/session-replay.md |
cost | キャッシュによる節約を含むトークンコストの推定 | stats-cache.json | references/cost-estimation.md |
trends | 日ごとのアクティビティ、モデルへの委任、ピーク時間 | stats-cache.json | references/trends-analysis.md |
summary | すべてのカテゴリを統合したビュー | すべてのファイル | references/jq-queries.md |
otel | CC 2.1.117 + 2.1.122 + 2.1.126 の OTEL 拡張情報:使用頻度が高いスラッシュコマンド(ユーザーとモデル別)、エフォート別コスト、エフォートと成功率の相関、トリガーの種類別スキル有効化、最も多く言及された @ の対象 | ~/.claude/otel/*.jsonl、またはスキーマ検出後に指定するユーザー名付きの Loki + Prometheus エンドポイント | references/otel-fields.md、references/otel-gateway-source.md |
クイックスタートの例
# Top agents by spawn frequency. Excludes phantom rows (see caveat below).
jq -s 'map(select(.agent != "unknown")) | group_by(.agent) | map({agent: .[0].agent, count: length}) | sort_by(-.count)' ~/.claude/analytics/agent-usage.jsonl
# Cost per model: input + output token counts (multiply by per-model pricing;
# count cache-read tokens separately — prompt-cache hits are ~90% cheaper, so
# cache savings materially lower the real total)
jq '.modelUsage | to_entries | map({model: .key, input: .value.inputTokens, output: .value.outputTokens, cacheRead: .value.cacheReadInputTokens})' ~/.claude/stats-cache.json
# Slowest hooks by average duration, and failure rate as a percentage
jq -s 'group_by(.hook) | map({hook: .[0].hook, avg_ms: (map(.duration_ms) | add / length), fail_pct: (100 * (map(select(.ok != true)) | length) / length)}) | sort_by(-.avg_ms)' ~/.claude/analytics/hook-timing.jsonl
サブコマンドのクイックガイド
agents、models、skills、hooks、teams、summary — 該当するサブコマンドの jq クエリを Read("references/jq-queries.md") から実行します。結果は Markdown の表で提示します。
session — Read("references/session-replay.md") の 4 ステップの手順に従います:セッションファイルの特定、参照先の解決(最新/部分 ID/完全 ID)、JSONL の解析、タイムラインの提示。
cost — CC の stats-cache.json に Read("references/cost-estimation.md") のモデル別料金を適用します。モデル別の内訳、合計、キャッシュによる節約額を表示します。CC ≥ 2.1.174 では、CC ネイティブの /usage によるコンポーネント別の内訳と照合します(下記の「CC ネイティブの /usage による内訳」を参照)。
trends — Read("references/trends-analysis.md") の 4 ステップの手順に従います:日別アクティビティ、モデルへの委任、ピーク時間、全期間の統計。
summary — すべてのサブコマンドを実行し、統合ビューを提示します:セッション総数、上位 5 エージェント、上位 5 スキル、チームのアクティビティ、ユニークなプロジェクト。~/.claude/otel/*.jsonl が存在し、内容が空でない場合は、otel-fields.md の 3 つの OTEL パネルを追加します。それ以外の場合は省略します(空のパネルは表示しません)。
otel — OTEL パネルを表示します:CC 2.1.117 の 3 パネル(スラッシュコマンドのユーザー対モデルの上位項目、労力別コスト、労力と成功率の相関)、CC 2.1.119 の 3 パネル(過大な入力、処理前後のレイテンシ、otel-fields.md を参照)、CC 2.1.122 の 1 パネル(最も多く言及された @ の対象)、CC 2.1.126 の 1 パネル(トリガータイプ別のスキル有効化)。クエリ、フォールバック処理のルール、パネルの意味については Read("references/otel-fields.md") を参照してください。各パネルは、該当するファイルがないか空の場合、「no OTEL data available (upgrade to CC ≥ X)」に適切にフォールバックします。データがあるパネルのみ表示してください。
データ品質に関する注意事項 — 数値を報告する前にお読みください
agent-usage.jsonl には、実測で確認された 2 つの不具合があり、このファイルから正確に回答できる内容に影響します。2026-07-20 に実データ 11,249 行を検証しました。
1. 8 フィールド中 4 フィールドは、全行で機能していません(#3034)。 すべての行で model はリテラル文字列 "unknown"、agent_name は null、output_len は 0 で、duration_ms は完全に欠落しています。シグナルを持つのは ts、pid、agent、success のみです。このファイルからモデルへの委任、エージェントの所要時間、出力サイズを報告しないでください。.model でグループ化すると、内訳ではなく単一の unknown バケットが返されます。問い合わせがあった場合は、単一バケットの結果を回答として提示せず、データが利用できないことを伝え、#3034 を示してください。
2. 行の約 38% は起動イベントではなく、実体のないイベントです(#3035)。 agent == "unknown" の行には SubagentStart がなく、読み取り可能なトランスクリプトもありません。また、該当するエージェント ID は Claude Code 独自のセッションデータにも存在しません。これらの行は分母を水増しするため、ファイル全体を使って算出した有効化率は誤りです。割合、パーセンテージ、順位を計算する前に、select(.agent != "unknown") で必ずフィルターしてください。 生データを使って専門型と汎用型を比較すると、専門型の割合が約 3 分の 1 過少になります。
いずれもクエリの不具合ではなく、データ書き込み側の不具合です。より適切な jq 式を使っても、欠落したシグナルは復元できません。
データファイル
データソースの詳細については、Read("references/data-locations.md") を読み込んでください。
| ファイル | 内容 |
|---|---|
agent-usage.jsonl | エージェントの起動 — 使用可能なフィールドは ts、pid、agent、success のみです。model/agent_name/output_len/duration_ms は機能しておらず(#3034)、行の約 38% は実体のないイベントです(#3035) |
skill-usage.jsonl | スキルの呼び出し |
hook-timing.jsonl | フックの実行時間と失敗率 |
session-summary.jsonl | セッション終了時のサマリー |
task-usage.jsonl | タスクの完了 |
team-activity.jsonl | チームの起動とアイドルイベント |
ルール
各カテゴリには個別のルールファイルがあり、必要に応じて rules/ から読み込まれます。
| カテゴリ | ルール | 影響度 | 主なパターン |
|---|---|---|---|
| データ整合性 | rules/data-privacy.md | CRITICAL | プロジェクト ID をハッシュ化し、個人情報を記録せず、ローカルのみで処理する |
| コストとトークン | rules/cost-calculation.md | HIGH | トークン種別ごとに料金を分け、キャッシュによる節約を考慮する |
| パフォーマンス | rules/large-file-streaming.md | HIGH | 50MB 超ではストリーミング jq を使用し、ローテーションを考慮したクエリを実行する |
| 可視化 | rules/visualization-recharts.md | HIGH | Recharts のチャート、ResponsiveContainer、ツールチップ |
| 可視化 | rules/visualization-dashboards.md | HIGH | ダッシュボードのグリッド、統計カード、ウィジェットレジストリ |
合計:4 カテゴリにわたる 5 つのルール
参考資料
| 参考資料 | 内容 |
|---|---|
references/jq-queries.md | すべての JSONL サブコマンドですぐに実行できる jq クエリ |
references/session-replay.md | セッション JSONL の解析、タイムラインの抽出、表示 |
references/cost-estimation.md | 料金表、コスト計算式、日別コストクエリ |
references/trends-analysis.md | 日別アクティビティ、モデルへの委任、ピーク時間帯のクエリ |
references/data-locations.md | すべてのデータソース、ファイル形式、CC セッションの構造 |
references/otel-fields.md | CC 2.1.117 の OTEL フィールド(command_name、command_source、effort)、クエリ、ダッシュボードパネル |
重要な注意事項
- すべてのファイルは JSONL(改行区切りの JSON)形式です
- 大きなファイル(50MB 超)では、
-sを付けずにストリーミングjqを使用してください —Read("rules/large-file-streaming.md")を読み込みます - ローテーションされたファイル:
<name>.<YYYY-MM>.jsonl— 過去のクエリにも含めてください teamフィールドは、チーム/スウォームセッション中にのみ存在しますpidは 12 文字の SHA256 ハッシュで、元に戻せません。グループ化のみに使用します
CC ネイティブの /usage アトリビューション(2.1.174+)
CC 2.1.174 では、/usage にコンポーネントごとのアトリビューションが追加されました。キャッシュミス、長いコンテキストの使用量、サブエージェントのコスト、過去 24 時間/7 日間のスキル/エージェント/プラグイン/MCP ごとのコスト内訳を確認できます。現在、VSCode の「アカウントと使用状況」ダイアログに表示されます。ターミナルでは /usage を実行してください。
ユーザーから「実際に最もコストがかかっているスキル/エージェントはどれか」と質問された場合や、ork のローカル推定値に疑問が示された場合は、信頼できる情報源として /usage を案内してください。対象期間については、CC 独自のアトリビューションが ork のヒューリスティックな cost 推定値より優先されます。CC の 7 日間の対象期間より古い履歴やプロジェクト横断の分析には ork の cost/otel ビューを使用し、直近 24 時間/7 日間の正確なデータには /usage を使用してください。
出力形式
結果は、見やすい Markdown の表で提示してください。件数、割合、平均値を含めてください。ファイルが存在しない場合、そのカテゴリのデータはまだ収集されていないことを記載してください。
関連スキル
ork:explore- コードベースの探索と分析ork:remember- プロジェクトの知識を保存ork:doctor- ヘルスチェック診断ork:prompt-focus- ユーザーのプロンプトに基づく、ユーザー自身の注意の向け先(ツールのテレメトリではなく、ユーザー自身のプロンプト)