From amplitude
Generates reproducible bug steps from Amplitude Session Replays by finding error sessions, extracting interaction timelines, and identifying failure sequences. Useful for user bug reports, repro requests, or error spikes.
npx claudepluginhub amplitude/mcp-marketplace --plugin amplitudeThis skill uses the workspace's default tool permissions.
Investigate bugs by finding session replays where the error occurred, extracting the interaction timeline, and distilling it into numbered reproduction steps an engineer can follow. This skill bridges the gap between "a user reported a bug" and "here's exactly how to reproduce it."
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Builds scalable data pipelines, modern data warehouses, and real-time streaming architectures using Spark, dbt, Airflow, Kafka, and cloud platforms like Snowflake, BigQuery.
Builds production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. For data pipelines, workflow orchestration, and batch job scheduling.
Investigate bugs by finding session replays where the error occurred, extracting the interaction timeline, and distilling it into numbered reproduction steps an engineer can follow. This skill bridges the gap between "a user reported a bug" and "here's exactly how to reproduce it."
This skill operates on three Amplitude Session Replay tools. Use them in this order:
Amplitude:get_session_replays — Find sessions matching event filters (errors, specific users, time windows). Returns session metadata and replay links.Amplitude:list_session_replays — Simple paginated listing when you already have a user/device ID or just need recent sessions. Returns replay_id in device_id/session_id format.Amplitude:get_session_replay_events — Decode a specific replay into an interaction timeline: navigations, clicks, inputs, scrolls. Requires replay_id from the tools above.Supporting tools used in this skill:
Amplitude:get_users — Look up users by email, user ID, or other identifiers.Amplitude:get_events — Discover valid event names before filtering. Never guess event names.Amplitude:get_event_properties — Discover properties available on an event for filtering.Amplitude:get_deployments — Check if error aligns with a recent deploy.Parse the user's request to extract:
[Amplitude] Error Logged, a custom error event)If the report is vague (e.g., "something is broken in checkout"), ask one clarifying question before proceeding. Do not ask more than one.
Amplitude:get_context. If multiple projects, ask which to investigate.Amplitude:get_events to confirm the error event name exists in the project. Common patterns:
[Amplitude] Error Logged — auto-captured JS errors[Amplitude] Network Request with status code filters — API failuresAmplitude:get_users to look up the user and get their user ID and device ID.Use Amplitude:get_session_replays to find sessions where the error occurred. Build filters based on what you know:
If you have a specific user:
{
"eventCountFilters": [
{
"count": "1",
"operator": "greater or equal",
"event": {
"event_type": "_all",
"filters": [{"group_type": "User", "subprop_key": "gp:email", "subprop_op": "is", "subprop_type": "user", "subprop_value": ["user@example.com"]}],
"group_by": []
}
},
{
"count": "1",
"operator": "greater or equal",
"event": {"event_type": "[Amplitude] Error Logged", "filters": [], "group_by": []}
}
],
"limit": 5
}
If you have an error message but no specific user:
{
"eventCountFilters": [
{
"count": "1",
"operator": "greater or equal",
"event": {
"event_type": "[Amplitude] Error Logged",
"filters": [{"group_type": "User", "subprop_key": "Error Message", "subprop_op": "contains", "subprop_type": "event", "subprop_value": ["TypeError"]}],
"group_by": []
}
}
],
"limit": 5
}
Request 3-5 sessions. More sessions give better pattern extraction; fewer saves context.
For each session found in Step 3, call Amplitude:get_session_replay_events with the replay_id.
event_limit: 500 for standard sessionsevent_limit: 200 if analyzing 4+ sessions (to manage context)What to capture from each timeline:
This is the core analytical step. Compare the timelines from multiple sessions to find the common prefix — the shared sequence of actions that precedes the error.
If only 1 session is available, extract the timeline as-is and note that it hasn't been validated across multiple sessions.
Call Amplitude:get_deployments once. If an error spike aligns with a recent deploy, note it — this is critical context for the engineer.
Structure the output as an engineering-ready bug report.
Required sections:
Bug Summary (1-2 sentences): What's broken, who's affected, since when. Written as a headline an engineer would put in a ticket title.
Environment Context:
Reproduction Steps — Numbered, specific, copy-paste-ready:
## Reproduction Steps
1. Navigate to [URL]
2. Click [element/area description] at [approximate location]
3. Enter "[value]" in [field description]
4. Click [element/area description]
5. Observe: [error behavior — what the user sees]
**Expected:** [what should happen]
**Actual:** [what happens instead]
Error Context (if available):
Session Evidence:
Observations (optional): Patterns that may help debugging — rage clicks suggesting UI unresponsiveness, long pauses suggesting loading issues, specific input values that trigger the error.
Amplitude:get_events and search for error-related events. Report what you find and suggest what to instrument if nothing exists.get_users returns nothing, try searching with alternative identifiers (email domain, partial match). If still nothing, proceed without user filtering and search by error event alone.get_session_replay_events returns DOM node IDs, not element names. Describe interactions by position (x, y coordinates), page context, and sequence rather than element identity. Use phrasing like "click in the upper-right area of the form" rather than "click the Submit button" unless you can infer from context.User says: "Customer jane@acme.com says the export button doesn't work"
Actions:
get_usersget_session_replays filtered to her email + any error eventsUser says: "TypeError errors doubled yesterday, can you get repro steps?"
Actions:
[Amplitude] Error Logged existsget_session_replaysUser says: "Users are having trouble with checkout"
Actions: