Replay UX Audit
Watch 5-10 session replays for a specific feature, page, or flow, then synthesize patterns into a ranked friction map. This skill turns hours of manual replay watching into a structured UX report grounded in real user behavior.
CRITICAL: Tool Reference
Primary tools:
Amplitude:get_amp_session_replay_info with action: "search" — Find sessions matching event filters, user properties, or time windows. Use this to target sessions for a specific feature or flow.
Amplitude:get_amp_session_replay_info with action: "events" — Decode a replay into an interaction timeline: navigations, clicks, inputs, scrolls. This is what you "watch."
Supporting tools:
- Available taxonomy reader — Inspect the connected catalog and use its
event and property read capabilities to discover valid filter names and
scopes. Never guess them.
Amplitude:get_amplitude_charts with include: "data" — Pull quantitative context (funnel conversion rates, feature adoption) to anchor the qualitative replay findings.
Amplitude:use_amplitude_ai_feedback with facet: "insights" / facet: "mentions" — Cross-reference replay friction with customer feedback themes.
Instructions
Step 1: Define the Audit Scope
Determine what to audit from the user's request:
- Page or URL pattern: A specific page (e.g., /settings, /checkout)
- Feature or flow: A multi-step process (e.g., onboarding, report creation)
- Event-based: Sessions containing a specific event (e.g., "Export Clicked")
- Broad: "Audit the whole product" — narrow this down. Ask: "Which area would you like me to start with?" Suggest 2-3 areas based on high-traffic pages or known problem areas if you can identify them.
Also determine:
- Time window: Default to last 14 days unless specified.
- User segment (optional): Specific plan, platform, cohort, or user type.
Step 2: Get Context and Discover Events
- Call
Amplitude:get_amplitude_context. If multiple projects, ask which to audit.
- Use the available taxonomy event reader to find events related to the target area. Look for:
- Page view or navigation events for the target area
- Key interaction events (clicks, form submissions) within the flow
- Error or failure events that may indicate friction
- If the user mentioned a flow or funnel, identify the key step events so you can filter sessions that attempted the flow.
Step 3: Gather Quantitative Baseline (Optional but Recommended)
Before watching replays, establish context with 1-2 chart queries. Budget: 2 calls max.
- If auditing a funnel: Use
Amplitude:get_amplitude_charts with include: "data" to get the current conversion rate and identify the worst drop-off step. This tells you where to focus your replay attention.
- If auditing a page: Query the page's traffic volume and any error rates to understand scale.
- If auditing a feature: Query adoption/usage frequency to understand how many users interact with it.
This quantitative baseline makes your qualitative findings more actionable — "40% of users drop off at step 3, and here's what we see them doing" is stronger than "users seem confused at step 3."
Step 4: Find Target Sessions
Use Amplitude:get_amp_session_replay_info with action: "search" to find 8-12 sessions (request limit: 12 to allow for some sessions with missing replay data).
Filter strategy by audit type:
- Page audit: Filter by event on that page (use page path property if available).
- Flow audit: Filter by the entry event of the flow. Optionally add a second filter for sessions that did NOT complete the flow (to focus on drop-offs).
- Feature audit: Filter by the feature's key interaction event.
- Segment comparison: Run two searches — one for each segment — to compare behavior.
If the user specified a segment (plan type, platform, etc.), add user property filters.
Step 5: Watch Sessions — Extract Interaction Timelines
For each session, call Amplitude:get_amp_session_replay_info with action: "events" and event_limit: 300.
Budget: 5-8 sessions. Skip sessions that return empty or minimal data.
While analyzing each session, track these friction signals:
| Signal |
What to look for in the timeline |
| Rage clicks |
3+ clicks on the same coordinates within a short time span |
| Hesitation |
Long pauses (>10 seconds) between navigation and first interaction on a page |
| Back-and-forth |
Navigating to a page, then back, then forward again |
| Abandoned inputs |
Starting to type in a field, then navigating away without submitting |
| Excessive scrolling |
Large scroll deltas suggesting the user is searching for something |
| Dead-end navigation |
Visiting a page and immediately leaving (bounce within seconds) |
| Repeat attempts |
Performing the same action multiple times (re-submitting a form, re-clicking a button) |
For each session, write a brief summary:
- Pages visited in the target area
- Key actions taken
- Friction signals observed (with timestamps)
- Whether the user completed their apparent goal
Step 6: Synthesize Friction Patterns
This is the core analytical step. Aggregate findings across all watched sessions.
- Group friction signals by location. Cluster observations by the page or step where they occurred.
- Count frequency. How many of the watched sessions showed this friction? Express as "seen in X of Y sessions."
- Assess severity. Use this rubric:
| Severity |
Criteria |
| Critical |
Blocks task completion. User gives up or encounters an error. Seen in 50%+ of sessions. |
| High |
Causes significant confusion or delay. User eventually succeeds but with visible struggle. Seen in 30%+ of sessions. |
| Medium |
Causes minor hesitation or suboptimal paths. User recovers quickly. Seen in 20%+ of sessions. |
| Low |
Cosmetic or minor annoyance. Seen in <20% of sessions or only in edge cases. |
Identify root cause hypotheses. For each friction pattern, hypothesize why it happens:
- Unclear UI labeling or hierarchy
- Missing feedback after an action (loading state, confirmation)
- Unexpected behavior (click does nothing, page doesn't respond)
- Information not where users expect it (excessive scrolling/searching)
- Error state without clear recovery path
- Too many steps or cognitive load
Cross-reference with feedback (if available). Call Amplitude:use_amplitude_ai_feedback with facet: "insights" and keywords from your friction findings. If users are complaining about the same thing you're seeing in replays, that's high-confidence signal.
Step 7: Present the UX Audit
Structure the output as a friction map that a PM or designer can act on.
Required sections:
Audit Summary (3-4 sentences): What was audited, how many sessions were watched, the single biggest finding, and overall UX health assessment. Written as a narrative you could paste into a design review doc.
Scope & Methodology:
- Feature/flow/page audited
- Time window
- Sessions analyzed: N (with replay links)
- User segment (if filtered)
- Quantitative baseline (if gathered in Step 3)
Friction Map — Ranked by severity, then frequency:
For each friction point:
### [Friction Point Title — action-oriented, ≤10 words]
**Severity:** [Critical/High/Medium/Low] | **Frequency:** Seen in X of Y sessions
**What happens:** Describe the user behavior observed — what they do, where they
hesitate, what goes wrong. Be specific about the page and interaction.
**Likely cause:** Your hypothesis for why this friction exists.
**Evidence:**
- Session replay links showing this pattern
- Quantitative data (if available): conversion rate at this step, error rate, etc.
- Customer feedback quotes (if found)
**Suggested fix:** One concrete, actionable recommendation.
Positive Patterns (1-2 items): What's working well. Which parts of the experience were smooth across sessions. This provides balance and highlights what to preserve.
Recommended Next Steps (3-5 numbered items): Start each with a verb. Prioritize by impact. Examples:
- "Redesign the [specific element] to make [action] more discoverable"
- "Add a loading indicator after [action] to reduce rage clicks"
- "Run an A/B test on [proposed change] to validate the hypothesis"
- "Instrument [specific interaction] to track this friction quantitatively"
- "Watch 5 more sessions filtered to [specific segment] to confirm if this is segment-specific"
Edge Cases
- No sessions found for the target area. The feature may have low traffic or events may not be instrumented for that page. Report this and suggest: "Consider adding event tracking to [area] so session replays can be filtered to it."
- Sessions are too short. If most sessions are <30 seconds with minimal interactions, the page may have a bounce problem rather than a friction problem. Report this as a finding and suggest investigating why users leave so quickly.
- All sessions look smooth. This is a valid finding. Report that the UX appears healthy based on N sessions. Suggest looking at a different area or a specific user segment that may have different behavior.
- Replay events are sparse. Some sessions may have limited interaction data (ad blockers, slow connections). Skip these and note how many were skipped. If most sessions are sparse, note it as a data quality issue.
- User asks to audit "everything." Decline politely. Suggest starting with the highest-traffic flow or the area with the worst funnel conversion. Offer to audit additional areas after the first one.
- nodeId limitations. Interaction timelines show coordinates and node IDs, not element names. Describe actions by page context and position: "clicks in the header area," "interacts with the form's third field." Avoid asserting specific element identity unless clearly inferable from the page URL and action sequence.
Examples
Example 1: Flow Audit
User says: "Audit the onboarding experience for new users"
Actions:
- Get context, discover onboarding-related events
- Query the onboarding funnel for conversion rates and worst drop-off step
- Find 8-10 sessions of new users going through onboarding
- Extract timelines, track friction signals at each step
- Synthesize: "4 of 7 users hesitated for 15+ seconds on the workspace setup step. 3 users navigated back to re-read instructions."
- Present friction map ranked by severity with replay links
Example 2: Page Audit
User says: "What's the UX like on our pricing page?"
Actions:
- Get context, find pricing page events (page view, plan selection, CTA clicks)
- Query pricing page traffic and click-through rate as baseline
- Find 8 sessions that visited the pricing page
- Extract timelines, focus on: how far users scroll, what they click, whether they compare plans, how long they stay
- Synthesize patterns: excessive scrolling (plan comparison is below fold), hesitation on CTA (unclear pricing)
- Present friction map with specific redesign suggestions
Example 3: Feature Audit with Segment
User says: "Are enterprise users having trouble with the report builder?"
Actions:
- Get context, find report builder events
- Filter sessions to enterprise plan users + report builder events
- Extract timelines from 6-8 sessions
- Focus on: completion rate of report creation, where users get stuck, any error patterns
- Cross-reference with feedback filtered to "report" keywords
- Present findings specific to enterprise segment, noting if this differs from general population
1---2name: replay-ux-audit3description: Finds and analyzes Amplitude Session Replays to surface UX friction patterns across multiple sessions. Produces a ranked friction map showing where users struggle, hesitate, or abandon. Use when a PM or designer asks "where's the friction", "what's confusing users", "UX issues on this page", "why is this flow clunky", "audit the user experience", or wants qualitative evidence of usability problems in a specific feature or flow.4---5
6# Replay UX Audit
7
8Watch 5-10 session replays for a specific feature, page, or flow, then synthesize patterns into a ranked friction map. This skill turns hours of manual replay watching into a structured UX report grounded in real user behavior.
9
10---
11
12## CRITICAL: Tool Reference
13
14**Primary tools:**
15- **`Amplitude:get_amp_session_replay_info`** with `action: "search"` — Find sessions matching event filters, user properties, or time windows. Use this to target sessions for a specific feature or flow.
16- **`Amplitude:get_amp_session_replay_info`** with `action: "events"` — Decode a replay into an interaction timeline: navigations, clicks, inputs, scrolls. This is what you "watch."
17
18**Supporting tools:**
19- **Available taxonomy reader** — Inspect the connected catalog and use its
20 event and property read capabilities to discover valid filter names and
21 scopes. Never guess them.
22- **`Amplitude:get_amplitude_charts`** with `include: "data"` — Pull quantitative context (funnel conversion rates, feature adoption) to anchor the qualitative replay findings.
23- **`Amplitude:use_amplitude_ai_feedback`** with `facet: "insights"` / `facet: "mentions"` — Cross-reference replay friction with customer feedback themes.
24
25---
26
27## Instructions
28
29### Step 1: Define the Audit Scope
30
31Determine what to audit from the user's request:
32
33- **Page or URL pattern**: A specific page (e.g., /settings, /checkout)
34- **Feature or flow**: A multi-step process (e.g., onboarding, report creation)
35- **Event-based**: Sessions containing a specific event (e.g., "Export Clicked")
36- **Broad**: "Audit the whole product" — narrow this down. Ask: "Which area would you like me to start with?" Suggest 2-3 areas based on high-traffic pages or known problem areas if you can identify them.
37
38Also determine:
39- **Time window**: Default to last 14 days unless specified.
40- **User segment** (optional): Specific plan, platform, cohort, or user type.
41
42### Step 2: Get Context and Discover Events
43
441. Call `Amplitude:get_amplitude_context`. If multiple projects, ask which to audit.
452. Use the available taxonomy event reader to find events related to the target area. Look for:
46 - Page view or navigation events for the target area
47 - Key interaction events (clicks, form submissions) within the flow
48 - Error or failure events that may indicate friction
493. If the user mentioned a flow or funnel, identify the key step events so you can filter sessions that attempted the flow.
50
51### Step 3: Gather Quantitative Baseline (Optional but Recommended)
52
53Before watching replays, establish context with 1-2 chart queries. Budget: 2 calls max.
54
55- If auditing a **funnel**: Use `Amplitude:get_amplitude_charts` with `include: "data"` to get the current conversion rate and identify the worst drop-off step. This tells you where to focus your replay attention.
56- If auditing a **page**: Query the page's traffic volume and any error rates to understand scale.
57- If auditing a **feature**: Query adoption/usage frequency to understand how many users interact with it.
58
59This quantitative baseline makes your qualitative findings more actionable — "40% of users drop off at step 3, and here's what we see them doing" is stronger than "users seem confused at step 3."
60
61### Step 4: Find Target Sessions
62
63Use `Amplitude:get_amp_session_replay_info` with `action: "search"` to find 8-12 sessions (request `limit: 12` to allow for some sessions with missing replay data).
64
65**Filter strategy by audit type:**
66
67- **Page audit**: Filter by event on that page (use page path property if available).
68- **Flow audit**: Filter by the entry event of the flow. Optionally add a second filter for sessions that did NOT complete the flow (to focus on drop-offs).
69- **Feature audit**: Filter by the feature's key interaction event.
70- **Segment comparison**: Run two searches — one for each segment — to compare behavior.
71
72If the user specified a segment (plan type, platform, etc.), add user property filters.
73
74### Step 5: Watch Sessions — Extract Interaction Timelines
75
76For each session, call `Amplitude:get_amp_session_replay_info` with `action: "events"` and `event_limit: 300`.
77
78**Budget: 5-8 sessions.** Skip sessions that return empty or minimal data.
79
80**While analyzing each session, track these friction signals:**
81
82| Signal | What to look for in the timeline |
83|---|---|
84| **Rage clicks** | 3+ clicks on the same coordinates within a short time span |
85| **Hesitation** | Long pauses (>10 seconds) between navigation and first interaction on a page |
86| **Back-and-forth** | Navigating to a page, then back, then forward again |
87| **Abandoned inputs** | Starting to type in a field, then navigating away without submitting |
88| **Excessive scrolling** | Large scroll deltas suggesting the user is searching for something |
89| **Dead-end navigation** | Visiting a page and immediately leaving (bounce within seconds) |
90| **Repeat attempts** | Performing the same action multiple times (re-submitting a form, re-clicking a button) |
91
92For each session, write a brief summary:
93- Pages visited in the target area
94- Key actions taken
95- Friction signals observed (with timestamps)
96- Whether the user completed their apparent goal
97
98### Step 6: Synthesize Friction Patterns
99
100This is the core analytical step. Aggregate findings across all watched sessions.
101
1021. **Group friction signals by location.** Cluster observations by the page or step where they occurred.
1032. **Count frequency.** How many of the watched sessions showed this friction? Express as "seen in X of Y sessions."
1043. **Assess severity.** Use this rubric:
105
106| Severity | Criteria |
107|---|---|
108| **Critical** | Blocks task completion. User gives up or encounters an error. Seen in 50%+ of sessions. |
109| **High** | Causes significant confusion or delay. User eventually succeeds but with visible struggle. Seen in 30%+ of sessions. |
110| **Medium** | Causes minor hesitation or suboptimal paths. User recovers quickly. Seen in 20%+ of sessions. |
111| **Low** | Cosmetic or minor annoyance. Seen in <20% of sessions or only in edge cases. |
112
1134. **Identify root cause hypotheses.** For each friction pattern, hypothesize why it happens:
114 - Unclear UI labeling or hierarchy
115 - Missing feedback after an action (loading state, confirmation)
116 - Unexpected behavior (click does nothing, page doesn't respond)
117 - Information not where users expect it (excessive scrolling/searching)
118 - Error state without clear recovery path
119 - Too many steps or cognitive load
120
1215. **Cross-reference with feedback** (if available). Call `Amplitude:use_amplitude_ai_feedback` with `facet: "insights"` and keywords from your friction findings. If users are complaining about the same thing you're seeing in replays, that's high-confidence signal.
122
123### Step 7: Present the UX Audit
124
125Structure the output as a friction map that a PM or designer can act on.
126
127**Required sections:**
128
1291. **Audit Summary** (3-4 sentences): What was audited, how many sessions were watched, the single biggest finding, and overall UX health assessment. Written as a narrative you could paste into a design review doc.
130
1312. **Scope & Methodology**:
132 - Feature/flow/page audited
133 - Time window
134 - Sessions analyzed: N (with replay links)
135 - User segment (if filtered)
136 - Quantitative baseline (if gathered in Step 3)
137
1383. **Friction Map** — Ranked by severity, then frequency:
139
140For each friction point:
141
142```
143### [Friction Point Title — action-oriented, ≤10 words]
144**Severity:** [Critical/High/Medium/Low] | **Frequency:** Seen in X of Y sessions
145
146**What happens:** Describe the user behavior observed — what they do, where they
147hesitate, what goes wrong. Be specific about the page and interaction.
148
149**Likely cause:** Your hypothesis for why this friction exists.
150
151**Evidence:**
152- Session replay links showing this pattern
153- Quantitative data (if available): conversion rate at this step, error rate, etc.
154- Customer feedback quotes (if found)
155
156**Suggested fix:** One concrete, actionable recommendation.
157```
158
1594. **Positive Patterns** (1-2 items): What's working well. Which parts of the experience were smooth across sessions. This provides balance and highlights what to preserve.
160
1615. **Recommended Next Steps** (3-5 numbered items): Start each with a verb. Prioritize by impact. Examples:
162 - "Redesign the [specific element] to make [action] more discoverable"
163 - "Add a loading indicator after [action] to reduce rage clicks"
164 - "Run an A/B test on [proposed change] to validate the hypothesis"
165 - "Instrument [specific interaction] to track this friction quantitatively"
166 - "Watch 5 more sessions filtered to [specific segment] to confirm if this is segment-specific"
167
168---
169
170## Edge Cases
171
172- **No sessions found for the target area.** The feature may have low traffic or events may not be instrumented for that page. Report this and suggest: "Consider adding event tracking to [area] so session replays can be filtered to it."
173- **Sessions are too short.** If most sessions are <30 seconds with minimal interactions, the page may have a bounce problem rather than a friction problem. Report this as a finding and suggest investigating why users leave so quickly.
174- **All sessions look smooth.** This is a valid finding. Report that the UX appears healthy based on N sessions. Suggest looking at a different area or a specific user segment that may have different behavior.
175- **Replay events are sparse.** Some sessions may have limited interaction data (ad blockers, slow connections). Skip these and note how many were skipped. If most sessions are sparse, note it as a data quality issue.
176- **User asks to audit "everything."** Decline politely. Suggest starting with the highest-traffic flow or the area with the worst funnel conversion. Offer to audit additional areas after the first one.
177- **nodeId limitations.** Interaction timelines show coordinates and node IDs, not element names. Describe actions by page context and position: "clicks in the header area," "interacts with the form's third field." Avoid asserting specific element identity unless clearly inferable from the page URL and action sequence.
178
179## Examples
180
181### Example 1: Flow Audit
182
183User says: "Audit the onboarding experience for new users"
184
185Actions:
1861. Get context, discover onboarding-related events
1872. Query the onboarding funnel for conversion rates and worst drop-off step
1883. Find 8-10 sessions of new users going through onboarding
1894. Extract timelines, track friction signals at each step
1905. Synthesize: "4 of 7 users hesitated for 15+ seconds on the workspace setup step. 3 users navigated back to re-read instructions."
1916. Present friction map ranked by severity with replay links
192
193### Example 2: Page Audit
194
195User says: "What's the UX like on our pricing page?"
196
197Actions:
1981. Get context, find pricing page events (page view, plan selection, CTA clicks)
1992. Query pricing page traffic and click-through rate as baseline
2003. Find 8 sessions that visited the pricing page
2014. Extract timelines, focus on: how far users scroll, what they click, whether they compare plans, how long they stay
2025. Synthesize patterns: excessive scrolling (plan comparison is below fold), hesitation on CTA (unclear pricing)
2036. Present friction map with specific redesign suggestions
204
205### Example 3: Feature Audit with Segment
206
207User says: "Are enterprise users having trouble with the report builder?"
208
209Actions:
2101. Get context, find report builder events
2112. Filter sessions to enterprise plan users + report builder events
2123. Extract timelines from 6-8 sessions
2134. Focus on: completion rate of report creation, where users get stuck, any error patterns
2145. Cross-reference with feedback filtered to "report" keywords
2156. Present findings specific to enterprise segment, noting if this differs from general population