• Projects
  • Service
  • About
  • branding.bz
  • Podcast
  • Tips
  • FAQ
  • Recruit
  • Download
  • Contact
  • branding.bz(ブランド構築SaaS)
  • DESIGN NOW(デザインメディア)
  • X
  • LinkedIn
  • Spotify
  • Facebook

213-0011 神奈川県川崎市高津区久本3-6-7-303

© 2026 ID INC. All rights reserved

claude-skills/スキル
SKILLOfficialmonitoring

create-chart

プラグイン
amplitude
ソース
GitHub で見る ↗
説明

Amplitude(分析ツール)のグラフを、自然な日本語の説明文から自動で作成します。イベント(測定対象となるアクション)の選択、データの絞り込み、グループ分け、グラフの形式など、必要な設定をすべて処理します。 次のような場合に使用: 何を計測したいかは決まっているけれど、グラフを手作業で組み立てるのは避けたい場合。

原文を表示

Creates Amplitude charts from natural language descriptions, handling event selection, filters, groupings, and visualization choices. Use when you know what you want to measure but prefer not to build the chart manually.

ユースケース
  • 何を計測したいかが決まっているとき
  • グラフを手作業で組み立てるのを避けたいとき
  • 自然な日本語からAmplitudeグラフを自動作成したいとき
本文(日本語訳)

Amplitudeチャート作成

自然言語からチャートを作成します。イベントの発見、チャート定義の構築、結果の検証を行います。

計画を最初に立てる(重要)

ツール呼び出しの前に、リクエストを分解してください:

1. チャートの構成要素を特定する:

  • チャートタイプと指標(何を測定するか)
  • 時間範囲(指定がない場合のデフォルト:過去30日間)
  • 主要イベント(カウント対象のアクション)
  • セグメント条件(ユーザーフィルター/グループ)
  • フィルター、グループ化、分類
  • ファネルステップ(コンバージョン分析の場合)

2. イベント検索の計画:

  • 異なるイベント概念ごとに1つの検索
  • 複数の概念を1つの検索に組み合わせない
  • 例:「購入」と「登録」は別々に検索する

3. 並列ツール呼び出しの計画:

  • 文脈情報の取得、イベント検索、コホート(特定条件のユーザーグループ)検索は同時実行可能
  • 定義を構築する前に結果を待つ

イベント発見(重要:まず発見を優先)

重要:絞り込む前に広く網を張る

ユーザーのリクエストが曖昧、または複数のイベントに該当する可能性がある場合:

  1. 関連オプションを発見するため、まず幅広く検索する
  2. 関連する結果を確認 — 関連イベント、カスタムイベント、メタイベント(複合イベント)を探す
  3. ユーザーに選択肢を提示、またはあなたの選択根拠を説明する
  4. 探索なしに1つのイベントが唯一の答えだと仮定しない

イベントを検索:

Amplitude:search entity_types=['EVENT', 'CUSTOM_EVENT']で実行
  • 一度に1つのコンセプトを検索
  • 最初は幅広い検索用語を使う(例:「AIチャット」だけでなく「AI」)
  • ✓ 良い例:「ユーザーが購入を完了」
  • ✗ 悪い例:「登録または購入イベント」

情報に基づいた判断を下す、その後説明する:

  1. すべてのオプションを発見するために幅広く検索
  2. 結果を確認し、最も包括的で正確なアプローチを特定
  3. 最善の判断を下す(単一イベントより集約されたカスタムイベントを優先)
  4. 必ず説明する:「X、Y、Zのオプションが見つかりました。[X]を選んだ理由は[理由]です。これは[範囲]を含みます/除外します。」
  5. ユーザーが誤った仮定を指摘できる

判断基準:

  • 関連活動を集約するカスタムイベントを優先(例:「[2026] アクティベーション指標 [AIイベントのみ]」)
  • 集約されたイベントがない場合は、主要インタラクションイベントを選択
  • そのプロダクト領域で「アクティブユーザー」が通常何を意味するか考慮
  • ユーザーが特定の絞り込みを指定しない限り、より広いスコープをデフォルトにする

例:

  • ❌ 悪い例:ユーザーが「週間AIユーザー」と質問 → 探索せず「ai-chat: send message」を即選択、説明なし
  • ✅ 良い例:ユーザーが「週間AIユーザー」と質問 → 「AI」を検索、Ask AI、Agents、Visibility、カスタム集約イベントを発見。返答:「Ask AI、Agents、Visibility全体のAIアクティビティが見つかりました。すべてのAIプロダクト操作を含む『[2026] アクティベーション指標 [AIイベントのみ]』カスタムイベントを使用します。これにより、すべての機能のAIユーザーの総数が得られます。特定のAIプロダクトに絞り込みたい場合はお知らせください。」

使用前に検証:

  • そのイベントを使用している既存チャートを検索で確認
  • イベントが実際のデータを持っているか確認(ゼロまたは古いデータでないこと)
  • 関連活動を集約するカスタムイベントを探す
  • 結果がゼロの場合は、別のイベントを検索

プロパティ(属性情報)を取得:

Amplitude:get_propertiesで正確なプロパティ名/値を取得

コホートを検索:

Amplitude:search entity_types=['COHORT']で実行
Amplitude:get_cohortsで完全な定義を取得

チャートタイプの選択

チャートタイプ 次のような場合に使用
eventsSegmentation イベント/ユーザーを時系列でカウント、トレンド、比較、KPI(重要指標)、分布、プロパティ分析
funnels 既知の順序を持つ複数ステップのコンバージョン分析、落ちこぼれ分析、特定イベント間の経過時間、コンバージョン時間指標
retention ユーザーの戻り傾向、コホート(ユーザーグループ)の維持率曲線、チャーン(離脱)分析
dataTableV2 表形式の比較、ランキング、多次元分類
customerJourney パス探索、ユーザーが実際に取る未知のパスの発見、コンバージョン達成ユーザーと落ちこぼれユーザーのパス比較
sessions セッション期間、セッション頻度、ユーザーあたりの時間費やし、セッション長分布

クイックリファレンス

eventsSegmentation — 最も汎用性が高い。以下に使用:

  • uniques指標を使用したユーザー数(日次アクティブユーザー、週間アクティブユーザー、月間アクティブユーザー)
  • イベント総数、平均値、プロパティの合計
  • パーセンタイル、分布、計算式
  • ローリングウィンドウ(移動平均)付き時系列

集約スコープ(eventsSegmentation):

  • PROPSUM(A) / metric: "sums" = すべてのイベント全体の合計
  • metric: "frequency" = ユーザーあたりのイベント数の分布(1回実行したユーザー数、2回、3回など)
  • 「ユーザーあたりのプロパティ合計の分布」について:Amplitudeは直接サポートしません。イベント数分布にはmetric: "frequency"を使用するか、user_idでグループ化したdataTableV2をPROPSUMで使用してから外部分析用にエクスポートしてください。

funnels — 事前に決められたステップでのコンバージョン分析。以下に使用:

  • 期待される順序がわかっている段階的なコンバージョン率
  • 順序ありまたは順序なしシーケンス
  • コンバージョン時間(イベント間の中央値時間)
  • 除外イベント、コンバージョンウィンドウ(対象期間)
  • 重複イベント:ユーザーが複数イベントを実行した(任意の順序で)ことを検出するには、「任意の順序」でファネルを使用し、コンバージョンウィンドウをチャート日付範囲に合わせてください
  • 注:ユーザーが実際にどのパスを取るかを発見したい場合は、customerJourneyを使用してください

retention — 戻り傾向。以下に使用:

  • N日間またはローリング維持率曲線
  • コホート分析(新規ユーザー対リターンユーザー)
  • 開始イベント → リターンイベントパターン

dataTableV2 — 表形式データ。以下に使用:

  • ディメンション(国、プラットフォームなど)による分類
  • 表形式での複数指標比較

customerJourney — パス探索と発見。以下に使用:

  • ユーザーが実際に取るパスの理解(ファネル内の期待されるパスではなく)
  • 特定イベントで開始、終了、またはイベント間のパスを分析
  • コンバージョン達成ユーザーと落ちこぼれユーザーのパスを並べて比較
  • 予期しないナビゲーションパターンや問題点の発見
  • パスの頻度、類似性、完了までの平均時間を探索
  • 理想的なカスタマージャーニーと実際のユーザー行動のギャップを橋渡け

sessions — セッションベースのエンゲージメント指標。以下に使用:

  • セッション期間分析(平均長、費やされた時間、分布)
  • セッション頻度(ユーザーあたりの平均セッション数、総セッション数)
  • 時系列でのユーザーあたりの費やし時間
  • セッション内で実行されたイベント(セッションあたりの平均イベント数)
  • ユーザーセグメント全体でのセッション行動の比較

特殊指標:

  • ユーザー数:metric: "uniques"
  • イベント数:metric: "totals"
  • プロパティ合計:metric: "sums"(group_byにプロパティを指定)
  • 率/パーセンテージ:異なるサイズのグループを比較するときに使用

メタイベント:

  • _active:任意のアクティブイベント(日次アクティブユーザー、月間アクティブユーザー)
  • _new:新規ユーザー(初回イベント)
  • _any_revenue_event:売上イベント

チャート定義の構造

共通パラメーター(すべてのチャートタイプ):

{
  "name": "説明的なチャートタイトル",
  "projectId": "12345",
  "definition": {
    "app": "12345",
    "type": "eventsSegmentation",
    "params": {
      "range": "Last 30 Days",
      "events": [{
        "event_type": "Purchase Completed",
        "filters": [],
        "group_by": []
      }],
      "metric": "uniques",
      "countGroup": "User",
      "interval": 1,
      "segments": [{"conditions": []}]
    }
  }
}

主要パラメーター:

  • countGroup:「User」(ユニークユーザー)または「Event」(イベント発生数)
  • interval:1(日次)、7(週次)、30(月次)
  • segments:ユーザーフィルター/グループ(空配列 = すべてのユーザー)

イベントフィルター(インラインOR論理):

"filters": [{
  "group_type": "User",
  "subprop_key": "country",
  "subprop_op": "is",
  "subprop_type": "event",
  "subprop_value": ["United States", "Canada"]
}]

ここのgroup_typeはカウント対象のエンティティ(「User」、またはグループタイプ)です — プロパティのスコープではありません。アカウントレベルのプロパティでフィルターするには、subprop_typeを「group」に設定し、group_typeをそのプロパティを所有するグループタイプに設定し、get_properties({propertyType: 'group', groupType: '<type>'})の正確な名前を使用してください。プロパティ名に「grp:」をプレフィックスとしないでください。レスポンスが「Invalid group property … for group type …」の場合、そのペアはこのプロジェクトでクエリできません — バリエーションを再試行しないでください。ユーザーレベルまたはイベントレベルの同等物を使用してください。

ユーザーセグメント(条件AND論理):

"segments": [{
  "name": "Active Users",
  "conditions": [{
    "type": "property",
    "group_type": "User",
    "prop_type": "user",
    "prop": "plan",
    "op": "is",
    "values": ["Pro", "Enterprise"]
  }]
}]

コホートセグメント: コホートを検索してIDを取得してから:

"segments": [{
  "name": "My Cohort",
  "conditions": [{
    "type": "cohort",
    "group_type": "User",
    "cohort_id": "abc123",
    "op": "is_in"
  }]
}]

ワークフロー:チャート作成

  1. 文脈情報を取得:
Amplitude:get_amplitude_context(projectIdのため)
  1. イベントを発見(最初に幅広く検索):
Amplitude:searchで各異なるコンセプトを検索
- 最初は
原文(English)を表示

Create Amplitude Chart

Create charts from natural language by discovering events, building chart definitions, and verifying results.

Planning First (Critical)

Before any tool calls, decompose the request:

1. Identify chart components:

  • Chart type and metric (what's being measured)
  • Time range (default: Last 30 Days if not specified)
  • Primary event (the action being counted)
  • Segment conditions (user filters/groups)
  • Filters, groupings, breakdowns
  • Funnel steps (if conversion analysis)

2. Plan event searches:

  • ONE search per distinct event concept
  • Never combine multiple concepts in one search
  • Example: "purchase" and "signup" need separate searches

3. Plan parallel tool calls:

  • Get context, search events, find cohorts can run together
  • Wait for results before building definition

Event Discovery (Critical: Discovery First)

IMPORTANT: Cast a wide net before narrowing down

When the user's request is ambiguous or could map to multiple events:

  1. Search BROADLY first to discover relevant options
  2. Review relevant results - look for related events, custom events, meta events
  3. Present options to user OR explain your selection rationale
  4. Try not to assume a single event is the only answer without exploration

Search for events:

Amplitude:search with entity_types=['EVENT', 'CUSTOM_EVENT']
  • Search ONE concept at a time
  • Use broad search terms first (e.g., "AI" not just "AI chat")
  • ✓ Good: "user completes purchase"
  • ✗ Bad: "signup or purchase events"

Make informed decisions, then explain:

  1. Search broadly to discover all options
  2. Review results and identify the most comprehensive/accurate approach
  3. Make your best judgment call (prefer aggregated custom events over single events)
  4. Always explain: "I found X, Y, Z options. I chose [X] because [reason]. This includes/excludes [scope]."
  5. User can correct if your assumption was wrong

Decision criteria:

  • Prefer custom events that aggregate related activity (e.g., "[2026] Activation Metric [AI events only]")
  • If no aggregated event exists, choose the primary interaction event
  • Consider what "active user" typically means for that product area
  • Default to broader scope unless user specifies narrow focus

Examples:

  • ❌ BAD: User asks "weekly AI users" → immediately pick "ai-chat: send message" without exploring, no explanation
  • ✅ GOOD: User asks "weekly AI users" → search "AI", find Ask AI, Agents, Visibility, custom aggregated event. Respond: "I found AI activity across Ask AI, Agents, and Visibility. I'm using the '[2026] Activation Metric [AI events only]' custom event which includes all AI product interactions. This gives you total AI users across all features. Let me know if you want to focus on a specific AI product instead."

Verify before use:

  • Get existing charts using the event via search
  • Check event has actual volume (not zero/stale)
  • Look for custom events that aggregate related activity
  • If zero results, search for alternatives

Get properties:

Amplitude:get_properties for exact property names/values

Find cohorts:

Amplitude:search with entity_types=['COHORT']
Amplitude:get_cohorts to get full definitions

Chart Type Selection

Chart Type Use When
eventsSegmentation Counting events/users over time, trends, comparisons, KPIs, distributions, property analytics
funnels Multi-step conversion analysis with a known sequence, drop-off analysis, time between specific events, time-to-convert metrics
retention User return behavior, cohort retention curves, churn analysis
dataTableV2 Tabular comparisons, rankings, multi-dimensional breakdowns
customerJourney Path exploration, discovering unknown paths users take, comparing converted vs dropped-off paths
sessions Session duration, session frequency, time spent per user, session length distributions

Quick Reference

eventsSegmentation - Most versatile. Use for:

  • User counts (DAU, WAU, MAU) with uniques metric
  • Event totals, averages, sums of properties
  • Percentiles, distributions, formulas
  • Time series with rolling windows

Aggregation Scope (eventsSegmentation):

  • PROPSUM(A) / metric: "sums" = Global sum across ALL events
  • metric: "frequency" = Distribution of per-user event counts (how many users did it 1x, 2x, 3x)
  • For "distribution of property sum per user": Amplitude does not support this directly. Use metric: "frequency" for event count distributions, or use dataTableV2 grouped by user_id with PROPSUM, then export for external analysis.

funnels - Conversion analysis with predefined steps. Use for:

  • Step-by-step conversion rates when you know the expected sequence
  • Ordered or unordered sequences
  • Time-to-convert (median time between events)
  • Exclusion events, conversion windows
  • Overlapping events: To find users who performed multiple events (in any order), use a funnel with "any order" and set the conversion window to match the chart date range
  • Note: If you want to discover what paths users take, use customerJourney instead

retention - Return behavior. Use for:

  • N-day or rolling retention curves
  • Cohort analysis (new vs returning users)
  • Start event → Return event patterns

dataTableV2 - Tabular data. Use for:

  • Breakdowns by dimensions (country, platform, etc.)
  • Multi-metric comparisons in table format

customerJourney - Path exploration and discovery. Use for:

  • Understanding the actual paths users take (vs. expected paths in funnels)
  • Analyzing paths starting with, ending with, or between two specific events
  • Comparing converted vs dropped-off user paths side by side
  • Discovering unexpected navigation patterns or friction points
  • Exploring path frequency, similarity, or average time to complete
  • Bridging the gap between ideal customer journeys and actual user behavior

sessions - Session-based engagement metrics. Use for:

  • Session duration analysis (average length, time spent, distributions)
  • Session frequency (average sessions per user, total sessions)
  • Time spent per user over time
  • Events performed within sessions (average events per session)
  • Comparing session behavior across user segments

Special metrics:

  • User counts: metric: "uniques"
  • Event counts: metric: "totals"
  • Property sums: metric: "sums" with property in group_by
  • Rates/percentages: Use when comparing groups of different sizes

Meta events:

  • _active: Any active event (DAU, MAU)
  • _new: New users (first-time event)
  • _any_revenue_event: Revenue events

Chart Definition Structure

Core parameters (all chart types):

{
  "name": "Descriptive Chart Title",
  "projectId": "12345",
  "definition": {
    "app": "12345",
    "type": "eventsSegmentation",
    "params": {
      "range": "Last 30 Days",
      "events": [{
        "event_type": "Purchase Completed",
        "filters": [],
        "group_by": []
      }],
      "metric": "uniques",
      "countGroup": "User",
      "interval": 1,
      "segments": [{"conditions": []}]
    }
  }
}

Key parameters:

  • countGroup: "User" (unique users) or "Event" (event occurrences)
  • interval: 1 (daily), 7 (weekly), 30 (monthly)
  • segments: User filters/groups (empty array = all users)

Event filters (inline OR logic):

"filters": [{
  "group_type": "User",
  "subprop_key": "country",
  "subprop_op": "is",
  "subprop_type": "event",
  "subprop_value": ["United States", "Canada"]
}]

group_type here is the counting entity ("User", or a group like "org id") — not the scope of the property. To filter on an account-level property, set subprop_type to "group" and group_type to the group type that owns it, using the exact name from get_properties({propertyType: 'group', groupType: '<type>'}). Never prefix the property name with grp:. If the response is Invalid group property … for group type …, that pair is not queryable in this project — do not retry variants; use a user- or event-level equivalent.

User segments (conditions AND logic):

"segments": [{
  "name": "Active Users",
  "conditions": [{
    "type": "property",
    "group_type": "User",
    "prop_type": "user",
    "prop": "plan",
    "op": "is",
    "values": ["Pro", "Enterprise"]
  }]
}]

Cohort segments: Search for cohort, get ID, then:

"segments": [{
  "name": "My Cohort",
  "conditions": [{
    "type": "cohort",
    "group_type": "User",
    "cohort_id": "abc123",
    "op": "is_in"
  }]
}]

Workflow: Create Chart

  1. Get context:
Amplitude:get_amplitude_context (for projectId)
  1. Discover events (BROAD search first):
Amplitude:search for each distinct concept
- Use broad search terms initially
- Look for all related events, custom events, cohorts
- Review ALL results before selecting
  1. Evaluate and decide:
  • Review all discovered events and custom events
  • Make informed decision (prefer aggregated events)
  • Prepare clear explanation of what you found and your choice
  1. Find similar charts (see examples):
Amplitude:search entity_types=['CHART'] query="similar concept"
Amplitude:get_charts to see definition structure
  1. Get properties if needed:
Amplitude:get_properties
  1. Build definition using discovered names
  • Explain event selection rationale in response
  1. Create chart:
Amplitude:query_dataset with full definition
  1. Verify results - check data makes sense

  2. Save chart:

Amplitude:save_chart_edits with editId from query_dataset

Error Handling

If query_dataset fails:

  • Read error message carefully
  • Common issues: incorrect event names, invalid filters, wrong parameter types
  • Fix definition and retry
  • Verify events exist via search first

If zero results:

  • Check filters aren't too restrictive
  • Verify event has data (search for charts using it)
  • Try broader time range
  • Check segment conditions

Best Practices

Naming:

  • Include metric + time context: "Weekly Active Users Last 90 Days"
  • Not: "WAU" or "Users"

Time ranges:

  • Default to "Last 30 Days"
  • Use inclusive ranges for specific periods
  • State interpreted range explicitly

Verification:

  • Always verify event exists before using
  • Check similar charts to understand event usage
  • Confirm properties with get_properties

Comparisons:

  • Use segments for comparing user groups on same chart
  • Use rates/percentages for different-sized groups

Always include:

  • Chart URL in response
  • What the chart shows
  • Key insights from initial data
  • Methodology used

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。