CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

session-replay

Reads Mixpanel session replay recordings with the mixpanel_headless library. It fetches a user's sessions, turns them into action timelines and pandas DataFrames, and explains what happened on screen. Use when the user asks what a specific user did on screen, in a recording, or click by click; asks about rage clicks, dead clicks, rage taps, dead taps, error sessions, long pauses, or action timelines; wants to correlate a tracked event with on-screen behavior; gives a distinct_id or a replay ID and asks what happened in the session; or asks about iOS, Android, React Native, or Flutter recordings, screens, or taps. Do not use for aggregate analytics questions such as trends, funnels, retention, or segment counts (use mixpanelyst), or for building or editing dashboards (use dashboard-expert).

76

Quality

96%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

92%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong skill body: executable code with exact calls, parameters, and output columns; a checkpointed workflow with explicit error-recovery loops; and a clean one-level-deep split of mobile content into a well-signaled reference file. The only flaw is minor redundancy — two critical gotchas are each stated twice, which slightly inflates token cost without adding information.

DimensionReasoningScore

Conciseness

The body is dense and assumes competence — no filler like explaining what pandas or Unix timestamps are — and every section carries operational facts (unit mismatches, click-counting rules, credential handling). It is not a 5 because a few facts are stated twice: the "(×N) hides burst duration" rule appears nearly verbatim in both Gotchas ("A timeline line that ends in (×N) shows the first timestamp only") and "Read a web timeline" ("The line shows the first timestamp only, so it hides how long the run lasted"), and the include_mixpanel_events default is repeated in Gotchas and again in "Correlate a tracked event with the screen". It is above the midpoint because these are duplications of genuinely load-bearing gotchas, not padded explanations.

4 / 5

Actionability

Guidance is copy-paste ready throughout: runnable Python ("ws.replays_for_user('user-42', from_date='2025-01-01', to_date='2025-01-31')"), concrete CLI commands ("mp replays for-user <distinct_id> --from ... --to ..."), self-documentation look-ups ("mp help Workspace --domain 'session replay'"), and exact expected outputs (columns of rage_taps, sample timeline lines). Not a 4 because the examples cover the common cases — discovery by user, fetch by ID, filtering, aggregation, correlation — with executable code for each.

5 / 5

Workflow Clarity

The five-step Workflow is clearly sequenced with built-in checkpoints (check "replay.capture" before reading any timeline; read aggregates before choosing which timelines to read), and error-recovery loops are explicit: interpreter-path failure routes to the setup skill with a bare "mp --version" fallback and a version gate ("0.4.0 or later"), and SessionReplayAccessError routes to asking the project owner for the named permission. Not a 4 because validation checkpoints and recovery loops are present, not merely implied; the destructive/batch cap does not apply since this is read-only analysis.

5 / 5

Progressive Disclosure

The overview is appropriately split: web-timeline rules live in SKILL.md, and mobile/screenshot detail lives in the real one-level-deep reference, signaled twice with explicit read conditions ("read references/mobile.md now, before you read any timeline" and "Read references/mobile.md when replay.capture == \"screenshot\""). Not a 4 because the reference path is verified to exist, contains no nested references, and is triggered by a concrete programmatic condition rather than a vague 'see also'.

5 / 5

Total

19

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: third-person voice, concrete capabilities with named library and data products, exhaustive natural trigger phrases, explicit use-when guidance, and explicit do-not-use boundaries that redirect to sibling skills. All four dimensions sit at the top anchor.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "Reads Mixpanel session replay recordings with the mixpanel_headless library", "fetches a user's sessions, turns them into action timelines and pandas DataFrames", "explains what happened on screen" — with named outputs and full platform coverage, matching the comprehensive multi-action anchor. It is not a 4 because coverage extends beyond a few actions to the data products, the correlation use case, and the mobile targets, leaving no minor gaps.

5 / 5

Completeness

It explicitly answers both: the first two sentences state what the skill does ("Reads... recordings... fetches a user's sessions, turns them into action timelines and pandas DataFrames"), and "Use when the user asks what a specific user did... click by click; asks about rage clicks... gives a distinct_id or a replay ID..." gives concrete when-triggers. Not a 4 because the when-clause is fully explicit and enumerates concrete trigger phrases, going beyond the could-be-more-specific level.

5 / 5

Trigger Term Quality

Natural trigger phrases are comprehensive and include synonyms and user vocabulary: "what a specific user did on screen", "click by click", "rage clicks, dead clicks, rage taps, dead taps, error sessions, long pauses", "distinct_id or a replay ID", "iOS, Android, React Native, or Flutter recordings". Not a 4 because virtually no natural variation a Mixpanel user would say is missing.

5 / 5

Distinctiveness Conflict Risk

It carves a clear niche (individual session replay) and actively de-conflicts with sibling skills: "Do not use for aggregate analytics questions such as trends, funnels, retention, or segment counts (use mixpanelyst), or for building or editing dashboards (use dashboard-expert)". Not a 4 because the negative scope with explicit redirects leaves minimal overlap risk.

5 / 5

Total

20

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

Total

15

/

16

Passed

Repository

mixpanel/mixpanel-headless

Path

mixpanel-plugin/skills/session-replay/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.