← FullSessionCONTENT HISTORY
WHAT CHANGED
Update to FullSession
Snapshot Nov 6, 2026 · 00:16 UTC · version 1.0.0
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save FullSession and check future changes in Following.
Up to 3 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Step-by-step investigation of where and why visitors struggle on a site, from frustrated pages down to the exact element and the session replays that prove it. Use when the user asks about rage clicks, dead clicks, error clicks, broken buttons, confusing pages, or \"where are users frustrated?\".",
"included_files": [],
"name": "investigate-friction",
"skill_md_contents": "---\nname: investigate-friction\ndescription: Step-by-step investigation of where and why visitors struggle on a site, from frustrated pages down to the exact element and the session replays that prove it. Use when the user asks about rage clicks, dead clicks, error clicks, broken buttons, confusing pages, or \"where are users frustrated?\".\n---\n\n# Investigating friction\n\nWork from broad to specific, and stop as soon as the user's question is answered. Each step narrows the evidence.\n\n## 1. Find the pages\n\n`compare_pages_by_frustration` ranks every page by one signal:\n- `rageClicks`: repeated fast clicks, usually something that looks clickable but doesn't respond, or is slow.\n- `deadClicks`: clicks that change nothing, often on non-interactive text or images that look like links.\n- `errorClicks`: clicks followed by a JavaScript error, usually a real bug.\n\nIf the user didn't name a signal, start with rage clicks and mention the other two. Judge a page by **affected sessions relative to page views**, not raw clicks: 200 rage clicks from one session is one frustrated visitor, not a site-wide problem. Say when that's the case.\n\n## 2. Find the element\n\nFor the page that matters, call `get_page_heatmap` with `type: \"clicks\"`. It lists elements ranked by frustration, with the visible text and a selector. Name elements by their visible text (\"the 'Apply coupon' button\"), not by selector.\n\nTo see how far people read or where the mouse goes, use `type: \"scroll\"` or `type: \"movement\"`.\n\n## 3. Get the proof\n\n`get_element_interactions` with the element's selector returns how many sessions interacted with it and the **sessions where it frustrated users**, with replay links. Offer 2–3 replays as evidence.\n\nFor a broader view, `search_sessions` with filters such as `hasRageClicks`, `hasDeadClicks`, `hasErrorClicks`, `hasJsErrors` or `hasNetworkErrors` finds sessions with those signals across the site.\n\n## 4. Explain what happened\n\nUse `get_session` on one representative session to read its timeline (clicks, errors, network failures, idle time) and explain in plain words what the visitor tried to do and what went wrong.\n\n## 5. Suggest a fix\n\nTie the suggestion to the evidence:\n- Dead clicks on text or images → make them clickable, or stop styling them like links.\n- Rage clicks on a real button → check that it responds and shows loading state; look for slow network calls in the session.\n- Error clicks or JS errors → name the error message and page so a developer can reproduce it.\n- Form abandonment → `get_form_analytics` for completion rates.\n\nQuantify the impact (\"affects about 12% of sessions on /checkout\") and suggest watching the replays before changing anything.\n\n## Notes\n\n- Device matters: if a problem looks mobile-only, check with `get_page_heatmap`'s `device` filter or `get_breakdown` by device.\n- If nothing stands out, say so. Low frustration is a valid answer.\n"
}SHA-256 of public snapshot: 730999036ff6bff8c69af1f83ed1d14f89ca7fde4b37364ba7a6509440ddf0b2