Discover Event Surfaces skill for Claude Code: list analytics events worth tracking
Amplitude's skill that makes Claude turn a pull request's change brief into a ranked list of analytics events worth tracking.
- Installs
- 48.8K
- on skills.sh
- Stars
- 46
- on GitHub
- Updated
- Oct 2026
- last repo commit
discover-event-surfaces is step 2 of Amplitude's instrumentation flow. You give Claude a change_brief YAML from the diff-intake skill. It reads the code the change touches, traces the user flow, and returns candidate events grouped into four categories with a priority from 1 to 3.
It calls the Amplitude MCP server to pull your existing events so it can drop duplicates, and it runs discover-analytics-patterns for naming. It also reads the taxonomy skill. So it needs an Amplitude account, a change brief, and those sibling skills installed.
Good for
- Engineers with a PM mindset who ask "what should I track for this PR?"
- Product managers who want a reviewable event list before anyone writes tracking code
- Teams using Amplitude's diff-intake, discover-event-surfaces, instrument-events flow
Install discover-event-surfaces
Claude Code
- 1
Copy this prompt.
Install the discover-event-surfaces skill in Claude Code. Run this command: claude plugin install amplitude Then check that it loaded and tell me how to use it.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
The plugin route installs every skill in the Amplitude plugin and the Amplitude MCP server from its .mcp.json (https://mcp.amplitude.com/mcp). In Claude Code the README tells you to authenticate when prompted. The skills CLI route is listed with discover-analytics-patterns and taxonomy because this skill invokes the first and reads the second. diff-intake, which produces the change_brief this skill takes as input, is not in the command. The skills CLI route copies the skill folders. For the Amplitude MCP server, use the plugin route or add https://mcp.amplitude.com/mcp to your client yourself.
From the project README. Source.
What's in the skill
When it loads
Given a change_brief YAML (output from diff-intake), generates an exhaustive list of candidate analytics events to instrument. Takes the perspective of an engineer with a PM mindset — surfaces everything worth considering so a PM can decide what actually matters. Use this as step 2 of the analytics instrumentation workflow, immediately after diff-intake produces a change_brief. Trigger whenever a user has a change_brief YAML and wants to know what analytics events to add, or asks "what should I track for this PR", "what events should I instrument", "generate event candidates", or any request to surface analytics coverage gaps for a code change.
Sections in SKILL.md
- 1. Parse the change_brief
- 2. Scan the codebase and map user flows
- What to read
- What to look for
- Produce a funnel hypothesis
- 3. Determine naming conventions and fetch existing events
- Resolve the project
- Pull existing events
- Build naming references and an existing event index
- 4. Generate candidate events
- Deduplicate against existing events
- 5. Quality filter
- 6. Name events
- 7. Determine file and instrumentation point
- 8. Deepen understanding, then prioritize
- 9. Emit YAML output
Key facts
- License
- MIT (LICENSE and README)
- Installs on skills.sh
- 48,757 as of Nov 2, 2026
- Last commit to the repo
- Oct 31, 2026
What it includes
Reads the summary, user-facing changes and components
Stops and tells you there is nothing to instrument if classification.analytics_scope is none. Otherwise it uses summary, user_facing_changes, surfaces.components and file_summary_map.
Read ·
1. Parse the change_briefReads touched files and traces entry to outcome
Reads each listed component, follows imports one level out, and writes a funnel hypothesis with a start and an end step. It says when a change has no multi-step flow.
Files ·
2. Scan code and map user flowsCalls discover-analytics-patterns and the Amplitude MCP
Uses the naming conventions from discover-analytics-patterns. Resolves the project with get_amplitude_context if the brief has no projectId, then reads the first page of existing events to build a duplicate index.
Network ·
3. Naming and existing eventsProposes events in four categories
Categories in priority order: business_outcome, user_journey, feature_success and friction_failure. Duplicates of existing events are dropped and listed under already_tracked.
Read ·
4. Generate candidatesKeeps only decision-useful, outcome-focused events
Each event must be useful for a product decision, record that something happened rather than a click, and stay stable across redesigns.
Read ·
5. Quality filterNames events by convention and gives file plus firing point
Uses the project naming style and product-domain names. Each candidate gets a file and a one- or two-sentence note on when it fires.
Read ·
6 and 7. Name events and place themAdds analysis_recipe, stakeholder_narrative and priority 1 to 3
Priority 3 means you would block a release without it; funnel start and end events are always 3. Most changes produce only one or two.
Read ·
8. PrioritizeOutputs one event_candidates YAML block
Output only, no prose around it: source_summary, naming conventions, already_tracked, funnels and candidates.
Try: “Here is the change_brief from diff-intake. What events should I instrument?”
Read ·
9. Emit YAML
From the official docs
Permissions
Medium risk
This skill reads your code and your Amplitude event list and bundles no scripts. The plugin route adds an Amplitude MCP server, so check the project you sign in to.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
Your event list enters the chat
Existing event names, categories and descriptions from your Amplitude project are read into the conversation with your AI provider. Use a project you are allowed to share with it. github.com
The plugin route adds an Amplitude MCP server
The amplitude plugin ships a .mcp.json that points Claude at https://mcp.amplitude.com/mcp. You sign in to Amplitude when prompted, and the skill can then read from that project. github.com
The plugin route installs every Amplitude skill
The repo has 36 skill folders in the plugin, while the README lists 27. Use the skills CLI route in the install box if you want only the ones this page names. github.com
Security advisories
No published security advisories as of Nov 2, 2026.
Technical details
| Turning on read-only | SKILL.md names no read-only setting. |
|---|---|
| Talks to | mcp.amplitude.com (the Amplitude MCP server from the plugin .mcp.json) |
| Sign-in and keys | Signs in to Amplitude through the MCP server when you are prompted; the README does not say where the sign-in is stored. |
| Scopes |
|
Questions
What does the discover-event-surfaces skill do?
It takes the change brief for a code change and lists the analytics events worth tracking. Each candidate has a category, a priority from 1 to 3, a file and a note on when it fires. A PM can then trim the list before anyone writes tracking code.
What do I need before running it?
A change_brief YAML, which the diff-intake skill produces. It also needs an Amplitude project it can read through the MCP server. The SKILL.md says it calls get_amplitude_context to resolve the project if the brief has no projectId.
How do I install it?
Use the install box above. The plugin route installs the whole Amplitude plugin. With the skills CLI route, the command adds discover-analytics-patterns (which the skill invokes) and taxonomy (which SKILL.md says to read). Add diff-intake yourself if you want it to produce the change_brief, since SKILL.md only takes its output as input.
Is it official?
Yes, it is in the vendor's own repo. The amplitude/mcp-marketplace README calls the plugin the official Amplitude plugin for AI coding tools, and the LICENSE names Amplitude, Inc. as the copyright holder.
Is discover-event-surfaces safe to run?
It bundles no scripts. SKILL.md describes reading your code and your existing Amplitude events and printing YAML. It does not mention writing files or changing Amplitude. The plugin route adds an Amplitude MCP server, so read the permissions section before you sign in. Our advice: keep the real tracking changes for instrument-events, which asks you before it writes.
What is the order of the Amplitude instrumentation skills?
The README says a typical flow is diff-intake, then discover-event-surfaces, then instrument-events. discover-analytics-patterns checks that new tracking follows the repo's existing conventions.
How is it different from add-analytics-instrumentation?
This skill is one step that only lists candidate events. The README describes add-analytics-instrumentation as an end-to-end workflow that reads code, decides what to track and produces a full instrumentation plan in one pass.
Information
updated Nov 2, 2026
- Repository
- amplitude/mcp-marketplace
- Folder
plugins/amplitude/skills/discover-event-surfaces
Sources
Docs, issue trackers and discussions this page is built from.
Show all 5Hide
- amplitude/mcp-marketplace README · github.com
- marketplace.json · github.com
- discover-event-surfaces SKILL.md · github.com
- skills.sh listing · skills.sh
- LICENSE · github.com