What Session Review is
Subtext isn’t another coding agent. It’s the session replay your agent has been missing. You bring the understanding of the codebase; Subtext supplies the session context — the event stream, the UI state at any timestamp, and a semantic map of your app’s components tied back to source files. When you run a session review, your agent:- Opens a real production session and receives a handle, an event map, and a digest rollup of what happened.
- Reads the map to understand the shape of the session before spending tokens on detail.
- Zooms into specific time windows with configurable resolution to see exactly what the signal stream looked like at the moment of interest.
- Captures a visual snapshot — screenshot, component tree, and bounding boxes — at any timestamp.
- Compares state across moments to surface regressions, unexpected transitions, or missing UI updates.
- Closes the session and records feedback when the investigation is complete.
Session Review works with recordings captured by the Fullstory snippet. If you haven’t installed the snippet yet, start with the install guide.
Bring your own agent
Subtext connects over MCP (Model Context Protocol), so it works with any agent that speaks MCP. Tested and supported agents include:- Claude Code — invoke skills directly from the chat pane
- Cursor — wire up the MCP server in your Cursor settings
- Codex — pass the MCP config via environment or config file
- Your own harness — any MCP-compatible client works; no proprietary SDK required
Core capabilities
Find sessions
review-list-sessions returns a numbered list of reviewable sessions with URLs and timestamps — so your agent knows what’s available before it commits to opening one.Open & orient
review-open hands your agent a session handle, the full event map, and a digest rollup. If a sightmap is configured, it also returns a sightmap_upload_url so component names resolve in every subsequent snapshot.Summarize
review-summary returns a static, frozen “what happened” summary at the default zoom level — useful as a cheap first read before zooming into specifics.Zoom in
review-zoom is the live lens. Set a resolution and a time window to pull a higher-fidelity slice of the signal stream over any interval in the session.Snapshot
review-snapshot returns the screen at a specific moment: a screenshot, the component tree with element UIDs, and bounding boxes. Pair it with the sightmap for semantic names instead of raw selectors.Close & record
review-close closes the session and records structured feedback — keeping a clean audit trail of what your agent investigated and what it concluded.The /subtext:review workflow
The fastest way to run a full investigation is the /subtext:review skill. Type it in your agent’s chat and it runs a structured workflow end-to-end:
1
List available sessions
The agent calls
review-list-sessions to see what recordings are available and picks the relevant one based on your prompt.2
Open and read the map
review-open returns the event map and digest. The agent reads the map to understand the session’s shape — what pages were visited, what events fired, where things look unusual — before spending tokens on detail.3
Zoom to the moments that matter
The agent calls
review-zoom one or more times, narrowing the time window and increasing resolution around the events most relevant to your question.4
Capture snapshots for evidence
At key timestamps,
review-snapshot captures the visual state — screenshot plus component tree — so the agent can describe exactly what the user saw.5
Explain what happened
The agent synthesizes the event stream, snapshots, and its knowledge of the codebase into a plain-English explanation, including a hypothesis about root cause and suggested next steps.
6
Close the session
review-close finalises the session and records feedback so the investigation is logged.What the sightmap adds
If your project has a.sightmap/ directory, every snapshot your agent receives is enriched with semantic context: component names, source file paths, visibility flags, interactivity flags, and bounding boxes. Instead of reasoning about div.sc-4f8a9b > button:nth-child(2), your agent sees AddToCartButton (src/components/AddToCart.tsx). That context dramatically reduces the number of tokens and tool calls needed to identify what’s on screen and where the problem is.
Session Review works without a sightmap, but investigations are faster and more accurate with one. The open-source sightmap schema is coming soon.
