writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
verify-posthog-instrumentationUse this skill to verify that PostHog instrumentation is firing correctly on a website. Drives a real browser at one or more URLs, observes which PostHog events actually arrive, and reports a pass/fail summary. Use after installing the PostHog SDK on a site, after a deploy that touches tracking code, or when events appear missing in the PostHog dashboard.
Independent GitHub snapshot · Automated classification · Original documentation governs
End-to-end check that the PostHog SDK is loaded and emitting events as expected. This skill orchestrates the three traffic-sim tools to give a complete picture of a site's instrumentation health.
npx @posthog/wizard to confirm the install actually works.Run the check_posthog_loading MCP tool against the URLs you care about
(homepage, key product pages, login, checkout, marketing pages). It returns
which pages have PostHog initialized, the load method (head_snippet / snippet
/ array_js_only), and the init config.
Look for:
loaded: false — PostHog is missing from those pages.api_key values across pages — multiple projects in use.api_host values across pages — events going to different ingestion endpoints.Pick one URL where Step 1 confirmed PostHog is loaded. Call:
simulate_new_user — a few fresh-browser visits. Confirms $pageview
fires for first-time visitors and that an anonymous distinct_id is assigned.simulate_returning_user — a few page views in a single session. Confirms
cookies persist and $pageview keeps firing across navigations.The tools return verified: true when at least one $pageview was captured
and there were no errors.
If Steps 1 and 2 pass but events don't show up in the PostHog UI, the issue is downstream of the snippet:
api_host matches the project's ingestion host.A site is verified when:
check_posthog_loading reports loaded: true on every URL we expect.simulate_new_user and simulate_returning_user both return at least one
$pageview event per visit, with no errors.signup_completed) are being sent —
the tool watches for any PostHog event, but you'd need to drive the actual
user flow to see custom events fire. Use it as a starting point, then add
user-flow simulation on top.