{"id":13687,"plugin_id":"plugin_asdk_app_6a9a1ebb11fc81919ef2aa7231b9b068","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:07:56.621Z","digest":"fa7a8680e90a5b1869e1dcb8257725ae7ac7beb96a2d48bbddf2a0c69ebafe22","against":null,"payload":{"description":"Use when diagnosing user-reported issues, investigating bugs, analyzing user behavior, or validating UI correctness using Fullstory session recordings.","included_files":[],"name":"session-review","skill_md_contents":"---\nname: session-review\ndescription: Use when diagnosing user-reported issues, investigating bugs, analyzing user behavior, or validating UI correctness using Fullstory session recordings.\n---\n\n# Session Review\n\nReview Fullstory sessions to understand what happened — whether diagnosing a customer-reported bug or validating UI changes during development.\n\n## When to Use\n\n- User reports a bug and provides a session URL\n- Investigating an error or unexpected behavior\n- Understanding user flow through the application\n- Debugging issues that are hard to reproduce\n- Validating UI changes locally after testing\n\n## MCP Tools\n\nThe tools follow this pattern:\n\n```\nfullstory:session_open  →  (fullstory:session_screenshot | fullstory:session_get_a11y_tree | fullstory:session_diff)*  →  fullstory:session_close\n```\n\n1. **`fullstory:session_open`**: Pass `session_id`. Returns event summaries and a `client_id`. The `session_id` accepts a bare id (`<device-id>:<session-id>`), a full session URL, or a short link.\n2. **`fullstory:session_screenshot`**: Rendered screenshot at a timestamp. Pass `client_id`, `page_id`, `timestamp` (ms from session start); optional `full_page` for the whole scrollable page. Sequential calls with increasing timestamps are faster.\n3. **`fullstory:session_get_a11y_tree`**: Page structure (accessibility tree / DOM) at a timestamp. Pass `client_id`, `page_id`, `timestamp`.\n4. **`fullstory:session_diff`**: Highlights changes between two timestamps within a page. Pass `client_id`, `page_id`, `from_ts`, `to_ts`.\n5. **`fullstory:session_close`**: Always call when done to free resources. Pass `client_id`.\n\n`session_view` is deprecated and removed — it was split into `session_screenshot` (the rendered image) and `session_get_a11y_tree` (page structure). Use those two instead.\n\n## Workflow\n\n### 1. Open the Session\n```\nfullstory:session_open(session_id=\"https://app.fullstory.com/ui/<org-id>/session/<device-id>:<session-id>\")\n```\nReturns: event summaries (navigation, clicks, errors, custom events) and `client_id`. You can also pass a bare `<device-id>:<session-id>` id or a short link as `session_id`.\n\n### 2. Identify Key Moments\nScan event summaries for:\n- **Page navigations** — entry points into different views\n- **Click events** — user interactions with buttons, links, forms\n- **Error events** — console errors, network failures, renderer errors\n- **Rage clicks / mouse thrash** — signs of UX friction\n- **Custom events** — application-specific telemetry\n\nNote the `page_id` and `timestamp` for each moment you want to inspect.\n\n### 3. Visual Inspection\nAt each key moment, capture the screenshot — and the accessibility tree when you need the structure or text content:\n```\nfullstory:session_screenshot(client_id=\"<id>\", page_id=\"<page>\", timestamp=<ms>)\nfullstory:session_get_a11y_tree(client_id=\"<id>\", page_id=\"<page>\", timestamp=<ms>)\n```\nCheck for:\n- Layout correctness (elements positioned properly)\n- Content rendering (text, images, icons present)\n- Responsive behavior (no overflow, proper sizing)\n- Empty/loading states handled\n\n### 4. Compare States\nFor before/after analysis:\n```\nfullstory:session_diff(client_id=\"<id>\", page_id=\"<page>\", from_ts=<before_ms>, to_ts=<after_ms>)\n```\nReturns a screenshot with changed regions highlighted plus a text summary of component changes.\n\n### 5. Report Findings\nSummarize what was observed:\n- What the user saw at each key moment\n- Any errors, visual regressions, or unexpected behavior\n- Root cause analysis if diagnosing a bug\n- Confirmation of correctness if validating changes\n\n### 6. Cleanup\nAlways close the session:\n```\nfullstory:session_close(client_id=\"<id>\")\n```\n\n## Example\n\nWhen a user reports \"the checkout button didn't work\" and provides a session URL:\n\n1. Call `fullstory:session_open` with the session URL as `session_id`\n2. Find the checkout-related events in the summaries (note the `page_id` and `timestamp`)\n3. Use `fullstory:session_screenshot` — and `fullstory:session_get_a11y_tree` if you need the DOM — to see the UI state just before the button click\n4. Use `fullstory:session_diff` to compare before/after the click attempt to see what changed (or didn't)\n5. Report findings: what the user saw, any errors, why the action may have failed\n6. Call `fullstory:session_close` to clean up\n\n## Common Mistakes\n\n| Mistake | Fix |\n|---------|-----|\n| Forgetting to close session | Always call `fullstory:session_close` — even on errors |\n| Using `session_view` | Removed — use `fullstory:session_screenshot` + `fullstory:session_get_a11y_tree` |\n| Random timestamp access | Use sequential increasing timestamps for faster access |\n| Skipping the diff tool | `fullstory:session_diff` highlights changes automatically — faster than comparing two screenshots manually |\n| Not checking for error events | Scan event summaries for errors before visual inspection |\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}