debugging-local-replay

debugging-local-replay is a skill for Claude Code, Codex from PostHog/posthog-foss. It costs 108 tokens per session (1,693 once invoked), scanned A, original, MIT.

A guide for troubleshooting session recordings in a local PostHog development setup. It follows the recording from the browser through the local services that store and play it.

In plain words
What is it for?
Use it to diagnose missing local recordings, stuck playback, failed ingestion, or recorder script and proxy problems.
Why use it?
A recording can fail at several points, even when the browser appears to send data successfully.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to diagnose missing local recordings, stuck playback, failed ingestion, or recorder script and proxy problems.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/posthog/posthog-foss/debugging-local-replay
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add PostHog/posthog-foss --skill debugging-local-replay
Clone the repo
git clone --depth 1 https://github.com/PostHog/posthog-foss

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for debugging-local-replay

README.md
[![agentmods](https://agentmods.dev/badge/skills/posthog/posthog-foss/debugging-local-replay.svg)](https://agentmods.dev/skills/posthog/posthog-foss/debugging-local-replay)
Your own site
<a href="https://agentmods.dev/skills/posthog/posthog-foss/debugging-local-replay"><img src="https://agentmods.dev/badge/skills/posthog/posthog-foss/debugging-local-replay.svg" alt="Measured on agentmods" height="20"></a>
Per session 108 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,693 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00108 $0.01693
Opus 5 $0.00054 $0.00847
Sonnet 5 $0.00022 $0.00339
Haiku 4.5 $0.00011 $0.00169

Measured 3d ago against content hash 41dc4aa66ef9, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

debugging-local-replay scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -s http://localhost:8333/ | head -5
Origin

Copies of this mod

1 near-identical copy found in the catalogue:

products/replay/skills/debugging-local-replay/SKILL.md · 158 lines

How it starts

The opening of the file, as written. The whole thing — 158 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Debugging local session replay

When a developer says "local replay isn't working" or "recordings aren't showing up", work through these layers in order. The local replay pipeline has several moving parts and failures are usually silent.

Quick symptom guide

Symptom Likely cause
No /s calls in Network tab SDK not recording — triggers, settings, or recorder script issue (Step 1)
/s calls return 200 but no recordings in list Ingestion pipeline broken — capture-replay, Kafka, or ingestion-sessionreplay (Steps 2-3)
Recordings listed but playback stuck on "Buffering..." recording-api (port 6741) not running (Step 2)
Recorder script MIME type or CORS error in console Frontend build stale — need pnpm build + pnpm copy-scripts (Step 1)

The local replay pipeline

Browser SDK  →  /s endpoint (Caddy proxy :8000)
             →  capture-replay (Rust, :3306)
             →  Kafka (session_recording_snapshot_item_events topic)
             →  ingestion-sessionreplay (Node, :6740, PLUGIN_SERVER_MODE=recordings-blob-ingestion-v2)
             →  SeaweedFS (blob storage, :8333)
             →  recording-api (Node, :6741, PLUGIN_SERVER_MODE=recording-api)
             →  Frontend

A break at any point in this chain means no recordings in the UI. The diagnostic approach is to find where the chain breaks.

Step 1 — Is the SDK even trying to record?

Ask the developer to open browser DevTools Network tab and filter for /s.

If no /s calls at all: The SDK isn't attempting to send recording data. Investigate client-side causes:

  • Triggers configured in project settings. If URL triggers, event triggers, or linked flag triggers are set up, recording won't start until a trigger fires. This is the most common cause for developers who've been testing trigger features. Check Session replay settings in the local UI (Project settings > Session replay). Remove or adjust triggers to allow recording to start.
  • Recording disabled in project settings. Session replay may be toggled off.
  • Sample rate set too low. If $replay_sample_rate is < 1.0, sessions may be sampled out.
  • SDK not initialized with recording. Check the local app's PostHog initialization — session_recording must not be explicitly disabled.
  • Wrong PostHog host. The local app must point to http://localhost:8000 (or wherever the local Caddy proxy is running).
  • Ad blocker. Even in local dev, browser extensions can block the recorder script or /s endpoint.
  • Recorder script failed to load (MIME type / CORS error). The browser console may show MIME type ('text/html') is not executable for posthog-recorder.js or a CORS error for lazy-recorder.js. This means Django is serving an HTML page (usually the login redirect) instead of the JS file — the static recorder scripts are stale or missing. See recorder script build failure.

Read the full file on GitHub · 158 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 158 lines · 108 tokens per session scan A 41dc4aa66ef9

Subscribe to this mod's changes

debugging-local-replay is a skill published in the GitHub repository PostHog/posthog-foss (714 stars, last pushed today), licensed MIT. It adds 108 tokens to every session and 1,693 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

hermes-s6-container-supervision

Modify or debug s6 services in the Hermes Docker image.

NousResearch/hermes-agent · 20 tokens

smoke-test

Health smoke tests + auto-fix for gbrain installs (and OpenClaw services when present). Run after machine/container restarts or whenever something seems broken. Tests critical services, auto-fixes bounded local issues, and reports worker topology without starting daemons. Extensible via user-defined test scripts in…

garrytan/gbrain · 79 tokens

competition-container-runtime

Internal downstream skill for ctf-sandbox-orchestrator. CTF-sandbox workflow for live container runtime analysis, mounted secrets, sidecars, namespaces, init containers, entrypoint drift, and route-to-container resolution. Use when the user asks why a live container differs from manifests, where a mounted secret is…

zhaoxuya520/reverse-skill · 109 tokens

meta-home-it-rescue

Use this meta-skill instead of answering directly when the user needs help with home, small-team, laptop, browser, printer, Docker, Git, network, UI, or deployment troubleshooting that benefits from multi-skill orchestration across symptom intake, environment capture, web lookup, and repair planning.

opensquilla/opensquilla · 65 tokens

docker-debug

Debug Kurtosis running on local Docker. Inspect engine, API container, and service logs. Diagnose container crashes, port conflicts, and networking issues. Use when kurtosis commands fail or services aren't reachable on Docker.

kurtosis-tech/kurtosis · 45 tokens

k8s-debug-pods

Debug Kurtosis pods on Kubernetes. Diagnose why pods are Pending, CrashLoopBackOff, ImagePullBackOff, or Evicted. Check node taints, tolerations, resource pressure, and pod events. Use when kurtosis engine start fails or pods aren't coming online.

kurtosis-tech/kurtosis · 62 tokens