posthog
Gives Claude Code skills, agents, and commands for PostHog analytics, session replay, feature flags, error tracking, and LLM observability. Includes MCP server setup and project access checks.
Plugin for PostHog product analytics, feature flags and session replay inside AI coding tools. Adds skills for analyzing experiments, AI costs and offline evaluations, plus an MCP server.
Claude Code
> /plugin marketplace add PostHog/ai-plugin
Codex
$ npx skills add PostHog/ai-plugin --skill adding-warehouse-person-properties analyzing-ai-citations analyzing-expensive-users analyzing-experiment-session-replays analyzing-funnel-correlation analyzing-offline-evaluations analyzing-task-runs assessing-heatmaps auditing-endpoints auditing-experiments-flags auditing-warehouse-source-health auditing-warehouse-view-health authoring-data-quality-checks authoring-error-tracking-alerts authoring-log-alerts authoring-scouts building-a-dashboard building-canvases building-html-canvases building-loops building-react-quill-canvases building-workflows checking-deploy-timing checking-member-access choosing-trend-or-slope-view cleaning-up-stale-feature-flags composing-grid-canvases configuring-experiment-analytics configuring-experiment-rollout consuming-endpoints-from-client-code context-layer-consolidation context-layer-dreaming context-layer-health-check copying-endpoints-across-projects copying-flags-across-projects creating-ai-subscription creating-an-endpoint creating-box-plot-insights creating-experiments creating-online-evaluations creating-replay-vision-scanners creating-surveys debugging-experiments debugging-failed-data-quality-checks debugging-surveys designing-email-templates designing-replay-vision-scanners diagnosing-ci-and-merge-bottlenecks diagnosing-endpoint-performance diagnosing-experiment-health diagnosing-failed-warehouse-syncs diagnosing-missing-recordings diagnosing-sdk-health diagnosing-stacktrace-symbolication downloading-batch-export-files exploring-ai-failures exploring-apm-traces exploring-autocapture-events exploring-endpoint-execution-logs exploring-live-traffic exploring-llm-clusters exploring-llm-costs exploring-llm-evaluations exploring-llm-traces exploring-mcp-intent-clusters exploring-mcp-sessions exploring-mcp-tool-original-user-motive exploring-mcp-tool-quality exploring-mcp-tool-usage exploring-replay-vision-observations exploring-scouts feature-usage-feed filtering-bot-traffic finding-deleted-feature-flags finding-experiments finding-replay-for-issue finding-sessions-to-watch formatting-insight-axes grouping-noisy-errors implementing-api-surveys inbox-exploration installing-posthog-from-chat installing-posthog-in-a-codebase instrument-error-tracking instrument-feature-flags instrument-integration instrument-llm-analytics instrument-logs instrument-metrics instrument-product-analytics instrument-tracing investigate-metric investigating-ci-failures investigating-error-issue investigating-logs investigating-metric-anomalies investigating-replay linking-errors-to-traces managing-endpoint-versions managing-experiment-lifecycle managing-path-cleaning-rules managing-reminders managing-streamlit-apps managing-subscriptions migrating-from-customer-io modeling-activation-metrics modeling-conversion-metrics modeling-dimension-tables modeling-product-usage-metrics modeling-revenue-metrics modeling-warehouse-foundations prioritizing-my-inbox querying-canvas-data querying-posthog-data resolving-ingestion-warnings review-hog-authoring review-hog-blind-spots-general review-hog-perspective-contracts-security review-hog-perspective-logic-correctness review-hog-perspective-performance-reliability review-hog-resolution-criteria-gaps review-hog-resolution-criteria-small review-hog-resolution-criteria review-hog-validation-criteria reviewing-warehouse-suggestions scanning-experiments-with-replay-vision setting-up-a-custom-rest-source setting-up-a-data-warehouse-source setting-up-data-catalog setting-up-supabase-auth-emails setting-up-warehouse-properties signals-scout-ai-observability signals-scout-anomaly-detection signals-scout-apm signals-scout-conversations signals-scout-csp-violations signals-scout-customer-analytics-billing-and-usage signals-scout-customer-analytics signals-scout-data-pipelines signals-scout-data-warehouse signals-scout-error-tracking signals-scout-experiments signals-scout-feature-flags signals-scout-first-report signals-scout-general signals-scout-health-checks signals-scout-inbox-validation signals-scout-insight-alerts signals-scout-logs signals-scout-mcp-tool-calls signals-scout-observability-gaps signals-scout-pr-follow-up signals-scout-product-analytics signals-scout-replay-vision signals-scout-revenue-analytics signals-scout-session-replay signals-scout-skills-store signals-scout-surveys signals-scout-tasks signals-scout-unused-features signals-scout-web-analytics signals-scout-web-vitals signals-scout-workflows signals skills-store suggesting-data-imports suggesting-path-cleaning-rules suppressing-noisy-errors triaging-error-issues triaging-visual-review-runs tuning-incremental-sync-config turning-engineering-analytics-into-insights understanding-billing-usage validating-and-publishing-canvases working-with-autoresearch working-with-scouts working-with-skills working-with-task-comments writing-simplified-technical-english writing-streamlit-apps -a codex
Cursor
$ npx skills add PostHog/ai-plugin --skill adding-warehouse-person-properties analyzing-ai-citations analyzing-expensive-users analyzing-experiment-session-replays analyzing-funnel-correlation analyzing-offline-evaluations analyzing-task-runs assessing-heatmaps auditing-endpoints auditing-experiments-flags auditing-warehouse-source-health auditing-warehouse-view-health authoring-data-quality-checks authoring-error-tracking-alerts authoring-log-alerts authoring-scouts building-a-dashboard building-canvases building-html-canvases building-loops building-react-quill-canvases building-workflows checking-deploy-timing checking-member-access choosing-trend-or-slope-view cleaning-up-stale-feature-flags composing-grid-canvases configuring-experiment-analytics configuring-experiment-rollout consuming-endpoints-from-client-code context-layer-consolidation context-layer-dreaming context-layer-health-check copying-endpoints-across-projects copying-flags-across-projects creating-ai-subscription creating-an-endpoint creating-box-plot-insights creating-experiments creating-online-evaluations creating-replay-vision-scanners creating-surveys debugging-experiments debugging-failed-data-quality-checks debugging-surveys designing-email-templates designing-replay-vision-scanners diagnosing-ci-and-merge-bottlenecks diagnosing-endpoint-performance diagnosing-experiment-health diagnosing-failed-warehouse-syncs diagnosing-missing-recordings diagnosing-sdk-health diagnosing-stacktrace-symbolication downloading-batch-export-files exploring-ai-failures exploring-apm-traces exploring-autocapture-events exploring-endpoint-execution-logs exploring-live-traffic exploring-llm-clusters exploring-llm-costs exploring-llm-evaluations exploring-llm-traces exploring-mcp-intent-clusters exploring-mcp-sessions exploring-mcp-tool-original-user-motive exploring-mcp-tool-quality exploring-mcp-tool-usage exploring-replay-vision-observations exploring-scouts feature-usage-feed filtering-bot-traffic finding-deleted-feature-flags finding-experiments finding-replay-for-issue finding-sessions-to-watch formatting-insight-axes grouping-noisy-errors implementing-api-surveys inbox-exploration installing-posthog-from-chat installing-posthog-in-a-codebase instrument-error-tracking instrument-feature-flags instrument-integration instrument-llm-analytics instrument-logs instrument-metrics instrument-product-analytics instrument-tracing investigate-metric investigating-ci-failures investigating-error-issue investigating-logs investigating-metric-anomalies investigating-replay linking-errors-to-traces managing-endpoint-versions managing-experiment-lifecycle managing-path-cleaning-rules managing-reminders managing-streamlit-apps managing-subscriptions migrating-from-customer-io modeling-activation-metrics modeling-conversion-metrics modeling-dimension-tables modeling-product-usage-metrics modeling-revenue-metrics modeling-warehouse-foundations prioritizing-my-inbox querying-canvas-data querying-posthog-data resolving-ingestion-warnings review-hog-authoring review-hog-blind-spots-general review-hog-perspective-contracts-security review-hog-perspective-logic-correctness review-hog-perspective-performance-reliability review-hog-resolution-criteria-gaps review-hog-resolution-criteria-small review-hog-resolution-criteria review-hog-validation-criteria reviewing-warehouse-suggestions scanning-experiments-with-replay-vision setting-up-a-custom-rest-source setting-up-a-data-warehouse-source setting-up-data-catalog setting-up-supabase-auth-emails setting-up-warehouse-properties signals-scout-ai-observability signals-scout-anomaly-detection signals-scout-apm signals-scout-conversations signals-scout-csp-violations signals-scout-customer-analytics-billing-and-usage signals-scout-customer-analytics signals-scout-data-pipelines signals-scout-data-warehouse signals-scout-error-tracking signals-scout-experiments signals-scout-feature-flags signals-scout-first-report signals-scout-general signals-scout-health-checks signals-scout-inbox-validation signals-scout-insight-alerts signals-scout-logs signals-scout-mcp-tool-calls signals-scout-observability-gaps signals-scout-pr-follow-up signals-scout-product-analytics signals-scout-replay-vision signals-scout-revenue-analytics signals-scout-session-replay signals-scout-skills-store signals-scout-surveys signals-scout-tasks signals-scout-unused-features signals-scout-web-analytics signals-scout-web-vitals signals-scout-workflows signals skills-store suggesting-data-imports suggesting-path-cleaning-rules suppressing-noisy-errors triaging-error-issues triaging-visual-review-runs tuning-incremental-sync-config turning-engineering-analytics-into-insights understanding-billing-usage validating-and-publishing-canvases working-with-autoresearch working-with-scouts working-with-skills working-with-task-comments writing-simplified-technical-english writing-streamlit-apps -a cursor
Gemini CLI
$ npx skills add PostHog/ai-plugin --skill adding-warehouse-person-properties analyzing-ai-citations analyzing-expensive-users analyzing-experiment-session-replays analyzing-funnel-correlation analyzing-offline-evaluations analyzing-task-runs assessing-heatmaps auditing-endpoints auditing-experiments-flags auditing-warehouse-source-health auditing-warehouse-view-health authoring-data-quality-checks authoring-error-tracking-alerts authoring-log-alerts authoring-scouts building-a-dashboard building-canvases building-html-canvases building-loops building-react-quill-canvases building-workflows checking-deploy-timing checking-member-access choosing-trend-or-slope-view cleaning-up-stale-feature-flags composing-grid-canvases configuring-experiment-analytics configuring-experiment-rollout consuming-endpoints-from-client-code context-layer-consolidation context-layer-dreaming context-layer-health-check copying-endpoints-across-projects copying-flags-across-projects creating-ai-subscription creating-an-endpoint creating-box-plot-insights creating-experiments creating-online-evaluations creating-replay-vision-scanners creating-surveys debugging-experiments debugging-failed-data-quality-checks debugging-surveys designing-email-templates designing-replay-vision-scanners diagnosing-ci-and-merge-bottlenecks diagnosing-endpoint-performance diagnosing-experiment-health diagnosing-failed-warehouse-syncs diagnosing-missing-recordings diagnosing-sdk-health diagnosing-stacktrace-symbolication downloading-batch-export-files exploring-ai-failures exploring-apm-traces exploring-autocapture-events exploring-endpoint-execution-logs exploring-live-traffic exploring-llm-clusters exploring-llm-costs exploring-llm-evaluations exploring-llm-traces exploring-mcp-intent-clusters exploring-mcp-sessions exploring-mcp-tool-original-user-motive exploring-mcp-tool-quality exploring-mcp-tool-usage exploring-replay-vision-observations exploring-scouts feature-usage-feed filtering-bot-traffic finding-deleted-feature-flags finding-experiments finding-replay-for-issue finding-sessions-to-watch formatting-insight-axes grouping-noisy-errors implementing-api-surveys inbox-exploration installing-posthog-from-chat installing-posthog-in-a-codebase instrument-error-tracking instrument-feature-flags instrument-integration instrument-llm-analytics instrument-logs instrument-metrics instrument-product-analytics instrument-tracing investigate-metric investigating-ci-failures investigating-error-issue investigating-logs investigating-metric-anomalies investigating-replay linking-errors-to-traces managing-endpoint-versions managing-experiment-lifecycle managing-path-cleaning-rules managing-reminders managing-streamlit-apps managing-subscriptions migrating-from-customer-io modeling-activation-metrics modeling-conversion-metrics modeling-dimension-tables modeling-product-usage-metrics modeling-revenue-metrics modeling-warehouse-foundations prioritizing-my-inbox querying-canvas-data querying-posthog-data resolving-ingestion-warnings review-hog-authoring review-hog-blind-spots-general review-hog-perspective-contracts-security review-hog-perspective-logic-correctness review-hog-perspective-performance-reliability review-hog-resolution-criteria-gaps review-hog-resolution-criteria-small review-hog-resolution-criteria review-hog-validation-criteria reviewing-warehouse-suggestions scanning-experiments-with-replay-vision setting-up-a-custom-rest-source setting-up-a-data-warehouse-source setting-up-data-catalog setting-up-supabase-auth-emails setting-up-warehouse-properties signals-scout-ai-observability signals-scout-anomaly-detection signals-scout-apm signals-scout-conversations signals-scout-csp-violations signals-scout-customer-analytics-billing-and-usage signals-scout-customer-analytics signals-scout-data-pipelines signals-scout-data-warehouse signals-scout-error-tracking signals-scout-experiments signals-scout-feature-flags signals-scout-first-report signals-scout-general signals-scout-health-checks signals-scout-inbox-validation signals-scout-insight-alerts signals-scout-logs signals-scout-mcp-tool-calls signals-scout-observability-gaps signals-scout-pr-follow-up signals-scout-product-analytics signals-scout-replay-vision signals-scout-revenue-analytics signals-scout-session-replay signals-scout-skills-store signals-scout-surveys signals-scout-tasks signals-scout-unused-features signals-scout-web-analytics signals-scout-web-vitals signals-scout-workflows signals skills-store suggesting-data-imports suggesting-path-cleaning-rules suppressing-noisy-errors triaging-error-issues triaging-visual-review-runs tuning-incremental-sync-config turning-engineering-analytics-into-insights understanding-billing-usage validating-and-publishing-canvases working-with-autoresearch working-with-scouts working-with-skills working-with-task-comments writing-simplified-technical-english writing-streamlit-apps -a gemini-cli
GitHub Copilot
$ npx skills add PostHog/ai-plugin --skill adding-warehouse-person-properties analyzing-ai-citations analyzing-expensive-users analyzing-experiment-session-replays analyzing-funnel-correlation analyzing-offline-evaluations analyzing-task-runs assessing-heatmaps auditing-endpoints auditing-experiments-flags auditing-warehouse-source-health auditing-warehouse-view-health authoring-data-quality-checks authoring-error-tracking-alerts authoring-log-alerts authoring-scouts building-a-dashboard building-canvases building-html-canvases building-loops building-react-quill-canvases building-workflows checking-deploy-timing checking-member-access choosing-trend-or-slope-view cleaning-up-stale-feature-flags composing-grid-canvases configuring-experiment-analytics configuring-experiment-rollout consuming-endpoints-from-client-code context-layer-consolidation context-layer-dreaming context-layer-health-check copying-endpoints-across-projects copying-flags-across-projects creating-ai-subscription creating-an-endpoint creating-box-plot-insights creating-experiments creating-online-evaluations creating-replay-vision-scanners creating-surveys debugging-experiments debugging-failed-data-quality-checks debugging-surveys designing-email-templates designing-replay-vision-scanners diagnosing-ci-and-merge-bottlenecks diagnosing-endpoint-performance diagnosing-experiment-health diagnosing-failed-warehouse-syncs diagnosing-missing-recordings diagnosing-sdk-health diagnosing-stacktrace-symbolication downloading-batch-export-files exploring-ai-failures exploring-apm-traces exploring-autocapture-events exploring-endpoint-execution-logs exploring-live-traffic exploring-llm-clusters exploring-llm-costs exploring-llm-evaluations exploring-llm-traces exploring-mcp-intent-clusters exploring-mcp-sessions exploring-mcp-tool-original-user-motive exploring-mcp-tool-quality exploring-mcp-tool-usage exploring-replay-vision-observations exploring-scouts feature-usage-feed filtering-bot-traffic finding-deleted-feature-flags finding-experiments finding-replay-for-issue finding-sessions-to-watch formatting-insight-axes grouping-noisy-errors implementing-api-surveys inbox-exploration installing-posthog-from-chat installing-posthog-in-a-codebase instrument-error-tracking instrument-feature-flags instrument-integration instrument-llm-analytics instrument-logs instrument-metrics instrument-product-analytics instrument-tracing investigate-metric investigating-ci-failures investigating-error-issue investigating-logs investigating-metric-anomalies investigating-replay linking-errors-to-traces managing-endpoint-versions managing-experiment-lifecycle managing-path-cleaning-rules managing-reminders managing-streamlit-apps managing-subscriptions migrating-from-customer-io modeling-activation-metrics modeling-conversion-metrics modeling-dimension-tables modeling-product-usage-metrics modeling-revenue-metrics modeling-warehouse-foundations prioritizing-my-inbox querying-canvas-data querying-posthog-data resolving-ingestion-warnings review-hog-authoring review-hog-blind-spots-general review-hog-perspective-contracts-security review-hog-perspective-logic-correctness review-hog-perspective-performance-reliability review-hog-resolution-criteria-gaps review-hog-resolution-criteria-small review-hog-resolution-criteria review-hog-validation-criteria reviewing-warehouse-suggestions scanning-experiments-with-replay-vision setting-up-a-custom-rest-source setting-up-a-data-warehouse-source setting-up-data-catalog setting-up-supabase-auth-emails setting-up-warehouse-properties signals-scout-ai-observability signals-scout-anomaly-detection signals-scout-apm signals-scout-conversations signals-scout-csp-violations signals-scout-customer-analytics-billing-and-usage signals-scout-customer-analytics signals-scout-data-pipelines signals-scout-data-warehouse signals-scout-error-tracking signals-scout-experiments signals-scout-feature-flags signals-scout-first-report signals-scout-general signals-scout-health-checks signals-scout-inbox-validation signals-scout-insight-alerts signals-scout-logs signals-scout-mcp-tool-calls signals-scout-observability-gaps signals-scout-pr-follow-up signals-scout-product-analytics signals-scout-replay-vision signals-scout-revenue-analytics signals-scout-session-replay signals-scout-skills-store signals-scout-surveys signals-scout-tasks signals-scout-unused-features signals-scout-web-analytics signals-scout-web-vitals signals-scout-workflows signals skills-store suggesting-data-imports suggesting-path-cleaning-rules suppressing-noisy-errors triaging-error-issues triaging-visual-review-runs tuning-incremental-sync-config turning-engineering-analytics-into-insights understanding-billing-usage validating-and-publishing-canvases working-with-autoresearch working-with-scouts working-with-skills working-with-task-comments writing-simplified-technical-english writing-streamlit-apps -a github-copilot
OpenCode
$ npx skills add PostHog/ai-plugin --skill adding-warehouse-person-properties analyzing-ai-citations analyzing-expensive-users analyzing-experiment-session-replays analyzing-funnel-correlation analyzing-offline-evaluations analyzing-task-runs assessing-heatmaps auditing-endpoints auditing-experiments-flags auditing-warehouse-source-health auditing-warehouse-view-health authoring-data-quality-checks authoring-error-tracking-alerts authoring-log-alerts authoring-scouts building-a-dashboard building-canvases building-html-canvases building-loops building-react-quill-canvases building-workflows checking-deploy-timing checking-member-access choosing-trend-or-slope-view cleaning-up-stale-feature-flags composing-grid-canvases configuring-experiment-analytics configuring-experiment-rollout consuming-endpoints-from-client-code context-layer-consolidation context-layer-dreaming context-layer-health-check copying-endpoints-across-projects copying-flags-across-projects creating-ai-subscription creating-an-endpoint creating-box-plot-insights creating-experiments creating-online-evaluations creating-replay-vision-scanners creating-surveys debugging-experiments debugging-failed-data-quality-checks debugging-surveys designing-email-templates designing-replay-vision-scanners diagnosing-ci-and-merge-bottlenecks diagnosing-endpoint-performance diagnosing-experiment-health diagnosing-failed-warehouse-syncs diagnosing-missing-recordings diagnosing-sdk-health diagnosing-stacktrace-symbolication downloading-batch-export-files exploring-ai-failures exploring-apm-traces exploring-autocapture-events exploring-endpoint-execution-logs exploring-live-traffic exploring-llm-clusters exploring-llm-costs exploring-llm-evaluations exploring-llm-traces exploring-mcp-intent-clusters exploring-mcp-sessions exploring-mcp-tool-original-user-motive exploring-mcp-tool-quality exploring-mcp-tool-usage exploring-replay-vision-observations exploring-scouts feature-usage-feed filtering-bot-traffic finding-deleted-feature-flags finding-experiments finding-replay-for-issue finding-sessions-to-watch formatting-insight-axes grouping-noisy-errors implementing-api-surveys inbox-exploration installing-posthog-from-chat installing-posthog-in-a-codebase instrument-error-tracking instrument-feature-flags instrument-integration instrument-llm-analytics instrument-logs instrument-metrics instrument-product-analytics instrument-tracing investigate-metric investigating-ci-failures investigating-error-issue investigating-logs investigating-metric-anomalies investigating-replay linking-errors-to-traces managing-endpoint-versions managing-experiment-lifecycle managing-path-cleaning-rules managing-reminders managing-streamlit-apps managing-subscriptions migrating-from-customer-io modeling-activation-metrics modeling-conversion-metrics modeling-dimension-tables modeling-product-usage-metrics modeling-revenue-metrics modeling-warehouse-foundations prioritizing-my-inbox querying-canvas-data querying-posthog-data resolving-ingestion-warnings review-hog-authoring review-hog-blind-spots-general review-hog-perspective-contracts-security review-hog-perspective-logic-correctness review-hog-perspective-performance-reliability review-hog-resolution-criteria-gaps review-hog-resolution-criteria-small review-hog-resolution-criteria review-hog-validation-criteria reviewing-warehouse-suggestions scanning-experiments-with-replay-vision setting-up-a-custom-rest-source setting-up-a-data-warehouse-source setting-up-data-catalog setting-up-supabase-auth-emails setting-up-warehouse-properties signals-scout-ai-observability signals-scout-anomaly-detection signals-scout-apm signals-scout-conversations signals-scout-csp-violations signals-scout-customer-analytics-billing-and-usage signals-scout-customer-analytics signals-scout-data-pipelines signals-scout-data-warehouse signals-scout-error-tracking signals-scout-experiments signals-scout-feature-flags signals-scout-first-report signals-scout-general signals-scout-health-checks signals-scout-inbox-validation signals-scout-insight-alerts signals-scout-logs signals-scout-mcp-tool-calls signals-scout-observability-gaps signals-scout-pr-follow-up signals-scout-product-analytics signals-scout-replay-vision signals-scout-revenue-analytics signals-scout-session-replay signals-scout-skills-store signals-scout-surveys signals-scout-tasks signals-scout-unused-features signals-scout-web-analytics signals-scout-web-vitals signals-scout-workflows signals skills-store suggesting-data-imports suggesting-path-cleaning-rules suppressing-noisy-errors triaging-error-issues triaging-visual-review-runs tuning-incremental-sync-config turning-engineering-analytics-into-insights understanding-billing-usage validating-and-publishing-canvases working-with-autoresearch working-with-scouts working-with-skills working-with-task-comments writing-simplified-technical-english writing-streamlit-apps -a opencode
Windsurf
$ npx skills add PostHog/ai-plugin --skill adding-warehouse-person-properties analyzing-ai-citations analyzing-expensive-users analyzing-experiment-session-replays analyzing-funnel-correlation analyzing-offline-evaluations analyzing-task-runs assessing-heatmaps auditing-endpoints auditing-experiments-flags auditing-warehouse-source-health auditing-warehouse-view-health authoring-data-quality-checks authoring-error-tracking-alerts authoring-log-alerts authoring-scouts building-a-dashboard building-canvases building-html-canvases building-loops building-react-quill-canvases building-workflows checking-deploy-timing checking-member-access choosing-trend-or-slope-view cleaning-up-stale-feature-flags composing-grid-canvases configuring-experiment-analytics configuring-experiment-rollout consuming-endpoints-from-client-code context-layer-consolidation context-layer-dreaming context-layer-health-check copying-endpoints-across-projects copying-flags-across-projects creating-ai-subscription creating-an-endpoint creating-box-plot-insights creating-experiments creating-online-evaluations creating-replay-vision-scanners creating-surveys debugging-experiments debugging-failed-data-quality-checks debugging-surveys designing-email-templates designing-replay-vision-scanners diagnosing-ci-and-merge-bottlenecks diagnosing-endpoint-performance diagnosing-experiment-health diagnosing-failed-warehouse-syncs diagnosing-missing-recordings diagnosing-sdk-health diagnosing-stacktrace-symbolication downloading-batch-export-files exploring-ai-failures exploring-apm-traces exploring-autocapture-events exploring-endpoint-execution-logs exploring-live-traffic exploring-llm-clusters exploring-llm-costs exploring-llm-evaluations exploring-llm-traces exploring-mcp-intent-clusters exploring-mcp-sessions exploring-mcp-tool-original-user-motive exploring-mcp-tool-quality exploring-mcp-tool-usage exploring-replay-vision-observations exploring-scouts feature-usage-feed filtering-bot-traffic finding-deleted-feature-flags finding-experiments finding-replay-for-issue finding-sessions-to-watch formatting-insight-axes grouping-noisy-errors implementing-api-surveys inbox-exploration installing-posthog-from-chat installing-posthog-in-a-codebase instrument-error-tracking instrument-feature-flags instrument-integration instrument-llm-analytics instrument-logs instrument-metrics instrument-product-analytics instrument-tracing investigate-metric investigating-ci-failures investigating-error-issue investigating-logs investigating-metric-anomalies investigating-replay linking-errors-to-traces managing-endpoint-versions managing-experiment-lifecycle managing-path-cleaning-rules managing-reminders managing-streamlit-apps managing-subscriptions migrating-from-customer-io modeling-activation-metrics modeling-conversion-metrics modeling-dimension-tables modeling-product-usage-metrics modeling-revenue-metrics modeling-warehouse-foundations prioritizing-my-inbox querying-canvas-data querying-posthog-data resolving-ingestion-warnings review-hog-authoring review-hog-blind-spots-general review-hog-perspective-contracts-security review-hog-perspective-logic-correctness review-hog-perspective-performance-reliability review-hog-resolution-criteria-gaps review-hog-resolution-criteria-small review-hog-resolution-criteria review-hog-validation-criteria reviewing-warehouse-suggestions scanning-experiments-with-replay-vision setting-up-a-custom-rest-source setting-up-a-data-warehouse-source setting-up-data-catalog setting-up-supabase-auth-emails setting-up-warehouse-properties signals-scout-ai-observability signals-scout-anomaly-detection signals-scout-apm signals-scout-conversations signals-scout-csp-violations signals-scout-customer-analytics-billing-and-usage signals-scout-customer-analytics signals-scout-data-pipelines signals-scout-data-warehouse signals-scout-error-tracking signals-scout-experiments signals-scout-feature-flags signals-scout-first-report signals-scout-general signals-scout-health-checks signals-scout-inbox-validation signals-scout-insight-alerts signals-scout-logs signals-scout-mcp-tool-calls signals-scout-observability-gaps signals-scout-pr-follow-up signals-scout-product-analytics signals-scout-replay-vision signals-scout-revenue-analytics signals-scout-session-replay signals-scout-skills-store signals-scout-surveys signals-scout-tasks signals-scout-unused-features signals-scout-web-analytics signals-scout-web-vitals signals-scout-workflows signals skills-store suggesting-data-imports suggesting-path-cleaning-rules suppressing-noisy-errors triaging-error-issues triaging-visual-review-runs tuning-incremental-sync-config turning-engineering-analytics-into-insights understanding-billing-usage validating-and-publishing-canvases working-with-autoresearch working-with-scouts working-with-skills working-with-task-comments writing-simplified-technical-english writing-streamlit-apps -a windsurf
Official PostHog plugin for AI clients. Access PostHog products directly from your AI coding tool.
Install the plugin:
claude plugin install posthog
Or install from this repo as a marketplace:
claude plugin marketplace add PostHog/ai-plugin
claude plugin install posthog@posthog
Authenticate via OAuth:
# Just enter Claude Code anywhere
claude
# Then, use the /mcp command within Claude, select plugin:posthog:posthog, and press Enter
/mcp
Then follow the browser prompts to log into PostHog.
(Optional) Send Claude Code sessions to PostHog LLM Analytics.
Add to ~/.claude/settings.json (global) or .claude/settings.local.json (per-project):
{
"env": {
"POSTHOG_LLMA_CC_ENABLED": "true",
"POSTHOG_API_KEY": "phc_...",
"POSTHOG_HOST": "https://eu.i.posthog.com"
}
}
Both POSTHOG_LLMA_CC_ENABLED=true and POSTHOG_API_KEY are required. Sessions are sent when Claude Code exits. Set POSTHOG_LLMA_PRIVACY_MODE=true to redact prompt/output content. Add custom properties to all events with POSTHOG_LLMA_CUSTOM_PROPERTIES (JSON string, e.g. '{"ai_product": "my-app"}'). Set POSTHOG_AI_PURPOSE to declare what the session is doing relative to the repo — documented values are authoring and review, emitted as $ai_purpose. Useful when a harness wraps an agent it can't modify (e.g. a CI job running Claude Code as a reviewer); left unset the property is omitted.
To send Claude Code sessions to PostHog LLM analytics without the skills, the slash commands, or the MCP server, install the capture plugin on its own:
claude plugin marketplace add PostHog/ai-plugin
claude plugin install posthog-telemetry@posthog
It registers one SessionEnd hook and nothing else, so it adds nothing to the context of a session. It needs only the Python standard library, and it reads the same environment variables as step 3 above.
Install it instead of the posthog plugin, not alongside it. Both register the same hook, so running both parses and uploads every session twice. PostHog dedupes the events themselves, because their UUIDs are derived from the session, but the two hooks race on the status file.
Install from the Cursor Marketplace or add manually in Cursor Settings > Plugins.
The plugin installs the PostHog skills and the MCP server. Claude Code's session capture and the write-command gate don't run in Cursor.
In Cursor IDE, the MCP connection runs through Cursor's hosted service, so Cursor holds your PostHog sign-in and you may need to sign in again after updating the plugin.
Grok Bot (desktop and mobile) lists the same plugin from the Cursor Marketplace. Open Plugins, search for PostHog, install it, and log into PostHog when prompted.
Add the marketplace:
codex plugin marketplace add PostHog/ai-plugin
Install the plugin from inside Codex:
codex
# Then run /plugins, select PostHog, and install
/plugins
Trust the plugin's hook when Codex asks you to review it at startup, or later from /hooks. The hook approves known PostHog reads (tools, search, info and the other read-only exec commands, and calls to tools on hooks/read-tools.txt) so they run without a prompt. Every other call, including every write, gets Codex's own approval prompt. The POSTHOG_MCP_EXEC_GATE_* variables don't apply on Codex. Codex asks before every PostHog call until you trust the hook, and again after each plugin update until you re-trust it. The one exception is render-ui, which shows a PostHog chart or view in the conversation and never changes data, so it always runs without a prompt.
A few Codex settings change this:
[mcp_servers.posthog] entry in your own ~/.codex/config.toml replaces the plugin's server config entirely, including the prompt mode the gate relies on. Remove it, or add default_tools_approval_mode = "prompt" and a [mcp_servers.posthog.tools.render-ui] table with approval_mode = "approve" to it.never and full access (--dangerously-bypass-approvals-and-sandbox), Codex approves MCP calls before the hook runs, so nothing is gated.never and a restricted sandbox, calls the hook doesn't approve are denied instead of prompted.Install the plugin:
agy plugin install https://github.com/PostHog/ai-plugin
Authenticate via OAuth: run /mcp, select posthog_posthog, and choose Authenticate. Open the link it shows, log into PostHog, and paste the authorization code back into Antigravity.
The plugin installs the PostHog skills and the MCP server. Claude Code's session capture and the write-command gate don't run in Antigravity.
gemini extensions install https://github.com/PostHog/ai-plugin
Install the plugin:
grok plugin install PostHog/ai-plugin --trust
Authenticate via OAuth:
On first use of a PostHog tool, Grok prompts you to authorize in your browser. Log into PostHog to connect.
Add the marketplace: open Settings > Plugins, click Add > Add marketplace, enter PostHog/ai-plugin, and click Sync.
Install the plugin: click Browse, select PostHog, and install. The plugin stays in sync with this repo automatically.
Authenticate via OAuth: on first use of a PostHog tool, follow the browser prompts to log into PostHog.
Clone and install the plugin:
git clone https://github.com/PostHog/ai-plugin
claude --plugin-dir ./ai-plugin
Authenticate via OAuth:
/mcp
Then follow the browser prompts to log into PostHog.
This plugin provides access to 27+ PostHog tools across these categories:
The plugin also ships 30+ task-specific skills that your AI client loads on demand to follow PostHog best practices — covering HogQL query patterns, experiment creation and lifecycle, feature flags, data warehouse setup and troubleshooting, LLM analytics exploration, session replay diagnostics, and SDK instrumentation. Skills activate automatically when their description matches your request (e.g. "create an experiment", "why isn't my Stripe sync working?", "audit my feature flags"), so you generally don't need to invoke them by name.
> What feature flags do I have?
> Create a feature flag called new-onboarding for 50% of users
> Show me errors from the last 24 hours
> Which errors are affecting the most users?
> How many users signed up this week?
> What's the conversion rate for the checkout funnel?
> Show me all my experiments
> What are the results of the checkout-flow experiment?
> Create a new dashboard called Product Metrics
> Add the signup funnel insight to the Growth dashboard
> What are the responses to the NPS survey?
> Create a feedback survey for the checkout page
> What's my most triggered event?
> Show me the top 10 pages by pageviews
In Claude Code, the plugin sends one anonymous plugin skill invoked event to PostHog Cloud each time one of this plugin's skills runs, whether Claude invokes it or you type /posthog:<skill>. Skills from other plugins and your own skills aren't counted. Each event contains only:
skill: the skill's name, such as querying-posthog-datainvocation: model when Claude invoked the skill, user when you typed it as a slash commandargs_present: whether the skill was invoked with arguments, never the arguments themselvesplugin_version: the installed plugin versionpermission_mode: Claude Code's permission mode, such as default or planos: the operating system name from uname -s, such as Darwin or Linuxdistinct_id: a random UUID generated once per install and stored in the plugin's data directory$lib: always posthog-ai-plugin$process_person_profile, $geoip_disable, and $ip: fixed values (false, true, and 127.0.0.1) so PostHog creates no person profile and runs no GeoIP lookup, and the stored event carries no client IP address. The request still reaches PostHog's capture endpoint from your IP, as any HTTPS request doesNo event is sent when POSTHOG_MCP_URL or POSTHOG_HOST points anywhere other than posthog.com, so self-hosted users don't report to PostHog Cloud. Like Claude Code's own telemetry, it's also off when Claude Code runs on Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, or Claude Platform on AWS (CLAUDE_CODE_USE_BEDROCK, CLAUDE_CODE_USE_VERTEX, CLAUDE_CODE_USE_FOUNDRY, or CLAUDE_CODE_USE_ANTHROPIC_AWS set to 1, true, yes, or on). To turn it off, set any of these in your shell or the env block of ~/.claude/settings.json:
export DO_NOT_TRACK=1
export POSTHOG_PLUGIN_TELEMETRY_DISABLED=1
export DISABLE_TELEMETRY=1
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
DO_NOT_TRACK and DISABLE_TELEMETRY turn off Claude Code's own telemetry too, and CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC turns off all of Claude Code's nonessential traffic. POSTHOG_PLUGIN_TELEMETRY_DISABLED turns off only this plugin's telemetry.
For self-hosted PostHog instances, set the POSTHOG_MCP_URL environment variable to point to your instance:
export POSTHOG_MCP_URL="https://mcp.your-posthog-instance.com/mcp"
MIT
Gives Claude Code skills, agents, and commands for PostHog analytics, session replay, feature flags, error tracking, and LLM observability. Includes MCP server setup and project access checks.
A Claude Code plugin that saves and shares your coding sessions to GitHub repositories in readable markdown format.
A development methodology for coding agents that makes the agent brainstorm before building, follow plans, run parallel work and finish branches in a disciplined way. You get fewer skipped steps and more consistent results from your coding assistant.
Helps you take a change from a rough idea or bug report through to a tested, reviewed result, with each step handled by a focused skill. Its skills cover pinning down domain terms, designing module interfaces, diagnosing hard bugs, and reviewing changes against your repo's coding standards.
Gives your coding agent a planning, testing and review routine to follow on every task. It plans before building, checks changes with tests, has a fresh reviewer look for regressions, and saves repeated wins as reusable skills.
Developer tools for working on the React codebase itself. Provides skills for extracting error messages, managing and debugging feature flags across release channels, running Flow type checks, and fixing lint and formatting issues before committing.
Install it with the command on its page. It includes adding-warehouse-person-properties, analyzing-ai-citations, analyzing-expensive-users. Its skills do not fire on their own yet. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it