Skip to content
Data
Skill

/simulate-new-user

Send synthetic first-time-visitor traffic to a URL and confirm that PostHog $pageview events fire. Use when a customer wants to verify that anonymous visitor tracking works, after deploying instrumentation changes, or when debugging "events not arriving" reports.

From plugin
posthog
38k156 skills11 agents1 command2 MCP
Install
$ npx -y skills add posthog/posthog --skill simulate-new-user --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/simulate-new-user

Context preview

The summary Claude sees to decide when to auto-load this skill.

Send synthetic first-time-visitor traffic to a URL and confirm that PostHog $pageview events fire. Use when a customer wants to verify that anonymous visitor tracking works, after deploying instrumentation changes, or when debugging "events not arriving" reports.

SKILL.md

simulate-new-user.SKILL.md
name: simulate-new-user
description: >
  Send synthetic first-time-visitor traffic to a URL and confirm that PostHog
  $pageview events fire. Use when a customer wants to verify that anonymous
  visitor tracking works, after deploying instrumentation changes, or when
  debugging "events not arriving" reports.

Simulate new-user traffic

Drives a fresh browser context for each visit (no cookies, no localStorage), goes to the given URL, scrolls a bit, and reports which PostHog events fired. Each visit looks to PostHog like a brand-new anonymous visitor.

When to use

  • Confirm `$pageview` fires on the first visit (no cookies present).
  • Confirm an anonymous `distinct_id` is generated and a PostHog request

is sent within a few seconds of page load.

  • Reproduce "events not showing up for new users" reports.

How to invoke

Call the `simulate_new_user` MCP tool with:

  • `url` (required) — the page to visit, e.g. `https://example.com/pricing`.
  • `visits` (default `3`) — number of fresh-context visits.
  • `interval` (default `5.0`) — seconds between visits.
  • `posthog_host` (default `https://us.i.posthog.com`) — set to

`https://eu.i.posthog.com` for the EU cloud, or your self-hosted host (e.g. `https://ph.example.com`).

Each visit takes ~10s of Playwright time plus the interval, so plan accordingly.

Interpreting the result

The tool returns a structured summary:

{
  "run_id": "a1b2c3d4",
  "scenario": "new-user",
  "total_visits": 3,
  "posthog_requests": 6,
  "posthog_requests_ok": 6,
  "events_by_type": { "$pageview": 3, "$autocapture": 3 },
  "pageviews": 3,
  "errors": [],
  "verified": true,
}
  • `verified: true` means at least one `$pageview` was captured per visit and

no errors occurred — the new-user flow works.

  • `verified: false` with `pageviews: 0` means PostHog isn't firing pageviews.

Run `check_posthog_loading` next to see whether the snippet is even loaded.

  • `posthog_requests_ok < posthog_requests` means PostHog returned non-2xx

responses. Check the project's ingestion limits and api_host configuration.

Read more
Ships withposthog

:hedgehog: PostHog is the leading platform for building self-driving products. Our developer tools – AI observability, analytics, session replay, flags, experiments, error tracking, logs, and more – capture all the context agents need to diagnose problems, uncover opportunities, and ship fixes. Steer it all from Slack, web, desktop, or the MCP.

Get the whole plugin

Other skills on posthog.