Posthog
Skill nbialk/quiver-cli/template/.agents/skills/integrations/posthog
Compose skills, slash commands & MCP servers from a central catalog into any repo as native configs for opencode, Claude Code and Codex - with lockfile-based drift detection.
npx -y skills add nbialk/quiver-cli --skill posthogAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Add and use PostHog in Next.js (App Router) applications. Use when needing to (1) integrate PostHog analytics, (2) set up LLM analytics for AI SDK / Anthropic generations, (3) add error tracking, or (4) implement feature flags. Covers SDK setup, user identification, event capture, exception tracking, source maps, and server/client flag evaluation. Curated for a Next.js + Vercel AI SDK stack.
The file declares its own license as MIT. Curated from PostHog's official skills (github.com/PostHog/skills).. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
6.4 KB, as published. Nobody here has run it
PostHog
This skill helps you add and use PostHog effectively in Next.js App Router applications across four workflows: product analytics integration, LLM analytics, error tracking, and feature flags.
It is curated for a Next.js + Vercel AI SDK stack. For providers, frameworks, or surfaces not covered here, fetch the current docs (see "Documentation" below) before implementing.
Core principles
Follow these for ALL PostHog work:
- Documentation first: NEVER implement from memory. PostHog SDKs change frequently. Read the matching reference file below, and fetch current docs when something is unclear or unlisted.
- Environment variables: Always read PostHog keys and host URLs from environment variables. Never hardcode them. The host is
https://us.i.posthog.com(US) orhttps://eu.i.posthog.com(EU). - Minimal changes: Add PostHog code alongside existing logic. Don't replace or restructure existing code.
- No PII in event properties: Never put emails, names, phone numbers, addresses, IPs, or user-generated content in
capture()properties. PII belongs inidentify()person properties. Safe event properties are metadata (e.g.message_length,form_type, boolean flags).
Use-case specific references
Pick the workflow, then read the listed references before implementing.
1. Integration (product analytics)
Add PostHog analytics to a Next.js App Router app. Start here for any new setup.
references/integration-nextjs.md— Next.js integration docs (init, pageviews, capture)references/integration-example.md— full example project showing the target patternreferences/identify-users.md— identifying users on login/signup- Setup workflow (in order):
references/integration-step-1-begin.md→references/integration-step-2-edit.md→references/integration-step-3-revise.md→references/integration-step-4-conclude.md
Key guidelines:
- For Next.js 15.3+, initialize PostHog in
instrumentation-client.tsfor the simplest setup. - Identify users during login and signup. If both frontend and backend exist, pass the client session and distinct ID via
X-POSTHOG-DISTINCT-IDandX-POSTHOG-SESSION-IDheaders to keep correlation. - Add capture in event handlers where the user action occurs, NOT in
useEffectreacting to state.
2. LLM analytics (Vercel AI SDK / Anthropic)
Instrument LLM generations to capture tokens, model, latency, and cost. Matches an AI SDK stack.
references/llm-analytics-basics.md— concepts and what gets capturedreferences/llm-analytics-vercel-ai.md— Vercel AI SDK setup via OpenTelemetry +@posthog/ai(primary path)references/llm-analytics-anthropic.md— Anthropic SDK instrumentationreferences/llm-analytics-manual-capture.md— generic fallback for any provider via manual$ai_generationeventsreferences/llm-analytics-traces.md— grouping generations into tracesreferences/llm-analytics-costs.md— cost calculation
Key guidelines:
- The Vercel AI SDK path uses
@posthog/ai/otelPostHogTraceExporter+ OpenTelemetry; passexperimental_telemetry(withposthog_distinct_idmetadata) on AI SDK calls. The SDKs do NOT proxy your LLM calls; they only send analytics in the background. - Only instrument provider(s) actually present in the codebase. One provider at a time.
- Link generations to identified users via distinct IDs where possible.
3. Error tracking
Capture exceptions with resolved stack traces.
references/error-tracking-nextjs.md— Next.js error tracking installreferences/error-tracking-monitoring.md— monitor and search issuesreferences/error-tracking-source-maps.md— upload source maps so traces resolve to original sourcereferences/error-tracking-alerts.md— error tracking alertsreferences/error-tracking-assigning-issues.md— assign issues to teammatesreferences/error-tracking-fingerprints.md— custom fingerprints for grouping
Key guidelines:
- Enable exception autocapture in SDK init before adding manual captures.
- Upload source maps, otherwise stack traces point at minified bundles.
- Use
captureException()at error boundaries and catch blocks for errors that don't reach the global handler.
4. Feature flags
Evaluate boolean and multivariate flags, server- and client-side.
references/feature-flags-best-practices.md— flag best practicesreferences/feature-flags-react.md— React hooks (useFeatureFlagEnabled,useFeatureFlagPayload)
Key guidelines:
- Default to boolean flag checks unless multivariate is explicitly requested.
- Prefer server-side evaluation to avoid UI flicker: in Server Components / Route Handlers use the
posthog-nodeSDK (getFeatureFlag/getAllFlags, thenawait posthog.shutdown()), and pass values to client components as props. - The React hooks work WITHOUT
PostHogProviderifposthog-jsis already initialized (e.g. viainstrumentation-client.ts). Don't add a provider just for flags. - Client-side hooks may return
undefinedwhile flags load — handle the loading state. - If a PostHog MCP server is connected, use its flag-management tools to create/list/update flags directly instead of asking the user to do it in the dashboard.
Documentation
When a reference doesn't cover the case, fetch current PostHog docs. Prefer your native web fetch/search tools over curl.
- Browse
https://posthog.com/docsor fetch a page as markdown by appending.mdto its path:curl -s "https://posthog.com/docs/libraries/next-js.md" - The full doc index lives at
https://posthog.com/llms.txt.
Attribution
Curated from PostHog's official skills collection (github.com/PostHog/skills, MIT). Reference files are sourced from the integration, llm-analytics, error-tracking, and feature-flags skills, trimmed to the Next.js + AI SDK stack.