mcpField
A
adding-analytics

adding-analytics

github.com/spencerpaulyData & databases868377 installsUpdated 13w ago
Repository

About adding-analytics

A skill for adding PostHog analytics to web applications. It guides developers through framework detection, SDK setup, page-view and custom-event tracking, with optional feature flags and session replay.

Key features

  1. 01Detect the web framework
  2. 02Install the relevant PostHog SDK
  3. 03Set up initialization or a provider
  4. 04Add page-view tracking
  5. 05Configure custom events
  6. 06Optionally enable flags or replay

Use cases

  1. 01Track route page views in an SPA
  2. 02Record events such as sign-up or purchase
  3. 03Add feature flags when requested
  4. 04Configure session replay for a web app

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/spencerpauly/awesome-cursor-skills --skill adding-analytics

After installing, type/adding-analyticsin Claude Code to confirm it loaded.

Details

From the project README

Add Analytics (PostHog)

Use this skill when the user asks to add analytics, event tracking, page views, feature flags, or session replay to a web application.

Steps

  1. Detect the framework — check for next.config.*, vite.config.*, package.json scripts, or index.html to determine if this is Next.js, React (Vite/CRA), Vue, Svelte, or plain HTML.

  2. Install the SDK

    • Next.js / React: npm install posthog-js
    • Next.js (server-side): npm install posthog-js posthog-node
    • Python: pip install posthog
    • Node.js backend: npm install posthog-node
  3. Create a provider / init module

    • For Next.js App Router, create app/providers.tsx:

      "use client";
      import posthog from "posthog-js";
      import { PostHogProvider as PHProvider } from "posthog-js/react";
      import { useEffect } from "react";
      
      export function PostHogProvider({ children }: { children: React.ReactNode }) {
        useEffect(() => {
          posthog.init(process.env.NEXT_PUBLIC_POSTHOG_KEY!, {
            api_host: process.env.NEXT_PUBLIC_POSTHOG_HOST ?? "https://us.i.posthog.com",
            capture_pageview: false, // we capture manually for SPAs
          });
        }, []);
        return <PHProvider client={posthog}>{children}</PHProvider>;
      }
      
    • Wrap {children} in the root layout with <PostHogProvider>.

    • For Pages Router, init in _app.tsx inside a useEffect.

  4. Add page-view tracking — for SPAs, create a component that calls posthog.capture('$pageview') on route change using the framework's router events.

  5. Add .env variables — prompt the user for their PostHog project API key and host:

    NEXT_PUBLIC_POSTHOG_KEY=phc_...
    NEXT_PUBLIC_POSTHOG_HOST=https://us.i.posthog.com
    

    Add these keys to .env.example as well.

  6. Add custom events — if the user specifies events to track (e.g. sign-up, purchase), add posthog.capture("event_name", { ...properties }) calls in the relevant handlers.

  7. Feature flags (optional) — if requested, show how to use posthog.isFeatureEnabled("flag-name") or the useFeatureFlagEnabled hook.

  8. Session replay (optional) — enable by adding session_recording: { maskAllInputs: false } to the init config if requested.

Notes

  • Never hardcode API keys — always use environment variables.
  • Add posthog-js to the Content Security Policy if the project has one.
  • For monorepos, install in the package that renders the UI, not the root.

Comments

Markdown supported