Answers questions from an Amplitude chart or dashboard link — fetch the definition, pull the data, explain or adapt it. Use when the user pastes an Amplitude URL, asks "what does this chart show", wants a report refreshed from a dashboard, or wants to clone/adapt an existing analysis.
Installs into .claude/skills of the current project.
Are you the author of Source 1bd73fd27cac8017a2b0a56b?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/gutsofpratik-source-1bd73fd27cac8017a2b0a56b)
---
name: chart-link-analysis
description: Answers questions from an Amplitude chart or dashboard link — fetch the definition, pull the data, explain or adapt it. Use when the user pastes an Amplitude URL, asks "what does this chart show", wants a report refreshed from a dashboard, or wants to clone/adapt an existing analysis.
---
# Chart Link Analysis
Second most common job: the user pastes a link and wants the analysis
understood, refreshed, or adapted.
## The arc
1. **Resolve the URL.** `get_from_url` returns the entity type, IDs, and
(for charts) the current definition. One call handles chart, dashboard,
experiment, notebook, and cohort links — use it instead of asking the
user for IDs.
2. **Read the definition.** For a chart: `get_amplitude_charts` with
`include: 'typed'` — the typed params mirror the chart-builder UI and are
the fastest way to see how the project spells events/properties. If
`typed` fails to lower the chart ("advanced features are not modeled"),
fall back to `include: 'definition'` for the raw form. For a dashboard:
`use_amp_dashboards` `action: 'get'` (batch ≤3) to get its chart list,
then read the charts that matter.
3. **Pull the data.** `get_amplitude_charts` `include: 'data'` with the
chart IDs, ≤3 IDs per call. For a report refresh, request the granularity
the report needs (daily for week-over-week, weekly for monthlies).
4. **Adapt or fork.** Edit the typed params, then call
`query_amplitude_data` with the edited `chart` **and** `chartId` set to
the saved chart's id — the parent's params fill gaps the typed model
omits, and the edit stays linked to its parent. Render the result with
`render_amplitude_chart`; the user saves it from the widget's **Save
chart** button (there is no model-facing save tool). To replicate a whole
dashboard in a new context: read the reference dashboard, then rebuild
each chart — do not try to "copy" in one call.
## Expectations to set
- `get_from_url` does not run the chart — it returns metadata/definition.
Data always comes from `get_amplitude_charts` `include: 'data'` (saved
charts) or `query_amplitude_data` (ad hoc).
- `include: 'data'` returns the same numbers the UI shows, including
Amplitude's timezone bucketing — when comparing against external sources
(e.g. BigQuery), call out timezone and partial-day differences explicitly.
- Definition reads are cheap; data reads are the expensive calls. Read all
definitions first, then decide which 1–3 charts actually need data.
- Just need the link for the user? `include: 'link'` (the default) validates
the ids and returns URLs without running anything.