Finding Sessions To Watch

作者 PostHog469d1773e9cb無授權條款收錄於 2026年10月8日更新於 2026年10月8日

Guides a user from "I want to watch recordings but don't know which ones" to a short, high-signal list of sessions worth watching. Use when the user asks which sessions or replays to watch, wants help finding interesting / useful recordings, says they don't know where to start in session replay, or wants to watch sessions about a goal (signup, pricing, onboarding, checkout, a feature, rageclicks, errors, mobile, a specific person) without naming exact filters. Turns a vague intent into a focused RecordingsQuery via `query-session-recordings-list`, then deep-links the best few and hands off to `investigating-replay`. Do NOT use when the user already has a recording/session ID (use investigating-replay) or wants the replay for a known error issue (use finding-replay-for-issue).

AI 產生的概覽

把模糊的 session 錄影需求,轉換成一份簡短、經過篩選、值得觀看的高價值錄影清單。

功能
引導 agent 把使用者目標(註冊、定價、結帳、某項功能、暴怒點擊、錯誤、行動裝置、特定使用者)對應成聚焦的 session 錄影篩選條件。它建議先確認真實的事件名稱與路徑,再用明確的排序方式與較小的數量上限執行最小化查詢,接著提供三到五筆值得觀看的錄影,附上深層連結與推薦理由。它也說明瞭找出發生特定事件之 session 的兩步驟模式,並支援交棒給更深入的錄影分析,或把篩選條件儲存為檢視。
適用情境
當使用者想觀看 session 錄影卻不知道該挑哪些,或希望取得有趣、有用或圍繞特定目標的錄影,但未給出確切篩選條件時使用。不適用於已知錄影 ID,或錄影與已知錯誤問題相關的情況。
執行需求
需要存取 PostHog session 錄影相關工具,包括 query-session-recordings-list、read-data-schema、execute-sql、cohorts-list 與 session-recording-playlist-create。不含指令碼,僅為說明文件。

Finding sessions to watch

Most people open session replay with a goal ("why are signups dropping?") but no idea which of thousands of recordings to watch. A raw, unfiltered list is the worst possible answer — it buries the useful sessions in noise. Your job is to turn their intent into a focused filter, return a handful of high-signal recordings, and offer to dig into one.

The starting points below are the same ones the product surfaces as "filter templates" — they encode the jobs people actually use replay for. Treat them as a menu, not a script.

The one rule

Never dump an unfiltered recording list. Always either (a) apply a goal-based filter, or (b) sort by a signal (activity, errors) so the first few rows are worth a click. If the user's goal is unclear, ask one short question or offer the menu before querying.

Available tools

ToolPurpose
posthog:query-session-recordings-listFind/filter recordings (the workhorse). Returns metadata + id per row.
posthog:read-data-schemaConfirm real event names, URLs, and property values before filtering.
posthog:execute-sqlCollect $session_ids for sessions where a specific event happened.
posthog:cohorts-listResolve a cohort name → id when scoping to a user segment.
posthog:session-recording-playlist-createSave the resulting filter as a saved filter view (type: 'filters').

Hand off to the investigating-replay skill once the user picks a recording to understand in depth.

Workflow

1. Pin down the goal

Map the request to one of the starting points below. If it's vague ("show me something interesting"), offer 3-4 options rather than guessing, or default to most active sessions (high signal, no setup).

2. Discover before you filter

Event names and URLs vary per project — never assume $pageview paths, a signup_completed event, or a person property exists. Confirm with read-data-schema (event_properties, event_property_values, entity_property_values) before putting a value in a filter. If the needed event/property doesn't exist, say so and suggest the closest available signal.

3. Run a minimal query

Call query-session-recordings-list with only the filters that serve the goal. Recommended settings:

  • set filter_test_accounts: true (the tool defaults to false) to exclude internal users, unless the user is debugging their own session.
  • date_from of -7d to -30d for goal-based searches; -3d for "recent".
  • A deliberate order — activity_score for "interesting", console_error_count for "broken", start_time for "recent".
  • limit: 10 — you want a shortlist, not a dump.

4. Triage and present

Don't relay raw rows. Pick the 3-5 most promising and say why each is worth watching (long active duration, many errors, reached the key page, high activity score). Deep-link each as {posthog_base_url}/replay/{id} — never /replay/home?sessionRecordingId={id}. Note total matches so the user knows how much is behind the shortlist.

5. Offer the next step

  • "Want me to walk through one?" → investigating-replay.
  • "Want to keep watching these?" → save it as a saved filter view with session-recording-playlist-create (type: 'filters' — a filter view, not a 'collection', which is for manually curated recordings and can't carry filters).

Starting points → filters

Two filter shapes cover almost everything:

  • Reached a page → recording metric visited_page ({ "type": "recording", "key": "visited_page", "operator": "icontains", "value": "/pricing" }).
  • Did a specific event (signup, search, rageclick, used a feature) → there is no event-name filter on the recordings query, so first collect session IDs with execute-sql, then pass them as session_ids (see the two-step pattern below).
User goalApproach
Signup / onboarding / pricing / checkout frictionvisited_page icontains the relevant path (confirm the real path first). Order start_time, or console_error_count to surface broken ones.
A specific featureTwo-step: execute-sql for $session_ids where the feature event fired, then session_ids. Pair with visited_page if the feature lives on one page.
Rageclicks / frustrationTwo-step on the $rageclick event → session_ids.
Errors / something brokenproperties: [{ "type": "recording", "key": "console_error_count", "operator": "gt", "value": 0 }], order console_error_count.
A/B test / feature flag{ "type": "flag", "key": "<flag-key>", "operator": "flag_evaluates_to", "value": "<variant or true>" }.
A specific person / segmentperson_uuid, a person property filter (e.g. email), or a cohort filter (cohorts-list for the id).
Mobile / responsive issues{ "type": "event", "key": "$device_type", "operator": "exact", "value": ["Mobile"] }, or { "type": "event", "key": "$screen_width", "operator": "lt", "value": 600 }.
Most active users / "just show me good ones"No filter; order: "activity_score". The reliable default when the user has no specific goal.
Most active pagesexecute-sql to rank $pageview by URL, then filter recordings by the hottest page's visited_page.

Two-step pattern: "sessions where event X happened"

The recordings query filters by event properties, not event names. To find sessions that contain a particular event, collect the session IDs first:

sql
posthog:execute-sqlSELECT $session_idFROM eventsWHERE event = '$rageclick'          -- or your signup/search/feature event (confirm via read-data-schema)    AND timestamp > now() - INTERVAL 7 DAY    AND $session_id != ''GROUP BY $session_idORDER BY max(timestamp) DESC         -- recent first: UUIDs aren't time-ordered, so the LIMIT must keep the freshest sessionsLIMIT 100

Then fetch those recordings (some session IDs won't have a recording — that's expected). Pass the same date_from window as the SQL step — with only session_ids, the query falls back to its -3d default and would drop sessions whose event was older than that:

json
posthog:query-session-recordings-list{ "date_from": "-7d", "session_ids": ["<id1>", "<id2>", "..."] }

Worked example

User: "Why are people bouncing on our pricing page? Show me some sessions."

  1. Goal = pricing-page friction → visited_page approach.
  2. read-data-schema (event_property_values for $pathname) to confirm the path is /pricing.
  3. Query:
json
posthog:query-session-recordings-list{  "date_from": "-14d",  "filter_test_accounts": true,  "order": "activity_score",  "limit": 10,  "properties": [    { "type": "recording", "key": "visited_page", "operator": "icontains", "value": "/pricing" }  ]}
  1. Present the 3-5 most active, each as {base}/replay/{id}, noting which lingered or hit errors.
  2. Offer to investigate the most promising one (investigating-replay) or save it as a saved filter view (type: 'filters').

Tips

  • Prefer one good filter over many — over-filtering returns nothing and reads as "no data".
  • If a query returns zero recordings, widen the date range or loosen the filter before concluding there's nothing to watch; if it's still empty, recordings may not be captured for that flow (point the user to diagnosing-missing-recordings).
  • activity_score is a solid default proxy for "worth watching" when there's no sharper signal — but it rewards raw interaction volume, so prefer a goal-based filter (errors, a key page) when you have one.
  • Keep the shortlist short. The value is in choosing for the user, not handing back the haystack.

Related skills

  • investigating-replay — analyze one of the shortlisted sessions in depth
  • diagnosing-missing-recordings — when queries keep coming back empty and capture itself is in doubt
  • creating-replay-vision-scanners — turn a recurring shortlist into a scheduled Replay Vision scanner

來源與署名

來源:PostHog/ai-plugin位於skills/finding-sessions-to-watch提交469d177

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架

更多來自 PostHog/ai-plugin 的技能

Writing Simplified Technical English

PostHog

套用 ASD-STE100 簡化技術英語規則,讓代理撰寫的文字語意明確、方便執行。

Writing & Content2026年10月8日

Working With Task Comments

PostHog

透過 PostHog MCP exec 調度器讀取並解讀 PostHog 任務、成品和畫布上的留言。

Productivity & Workflow2026年10月8日

Working With Skills

PostHog

指導代理使用 PostHog 的 skill-* MCP 工具來探索、讀取、建立、更新與重構技能。

AI & Agents2026年10月8日

Working With Scouts

PostHog

說明如何把監看工作委派給 PostHog Signals 偵察代理、處理其回報,並長期調校整個代理團隊的操作手冊。

AI & Agents2026年10月8日

Validating And Publishing Canvases

PostHog

Validate and publish a canvas source project safely: the source-project shape, declared capabilities, reading the current version pointer, iterating on validation diagnostics, guarded publishing with expected_current_version_id, staging a draft build and promoting it, waiting out the queued build, and recovering from a 409 version_conflict or a 429 capacity limit without overwriting concurrent work. Use whenever a canvas edit is ready to save, a draft build is wanted, a canvas publish or build returns diagnostics or a conflict, or a task needs to understand canvas version history.

待分類2026年10月8日

Understanding Billing Usage

PostHog

Explains PostHog billing usage and spend from the customer's visible Billing MCP tools. Use when the user asks why usage or spend is high, which product or project is driving usage, what a usage type means, how to reduce usage, what changed over time, why they got a usage change alert, or whether a spike/drop alert was real or noisy. Also use before product-specific analytics skills when the user names a billable PostHog product metric such as events, recordings, feature flag requests, exceptions, survey responses, synced rows, logs, AI events, AI credits, or Inbox credits. Starts from Billing usage/spend tools, then routes to customer-visible product MCP surfaces for deeper investigation.

待分類2026年10月8日