adding-warehouse-perso…
Sync columns from a synced data warehouse table onto PostHog person or group properties, so warehouse data becomes usable anywhere person and group properties…
Manage PostHog subscriptions — scheduled email, Slack, or webhook deliveries of insight or dashboard snapshots, optionally with an AI-written summary attached to each delivery. Use when the user wants to subscribe to an insight or dashboard, get an AI summary attached to those
$ npx -y skills add PostHog/ai-plugin --skill managing-subscriptions --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/managing-subscriptionsContext preview
The summary Claude sees to decide when to auto-load this skill.
Manage PostHog subscriptions — scheduled email, Slack, or webhook deliveries of insight or dashboard snapshots, optionally with an AI-written summary attached to each delivery. Use when the user wants to subscribe to an insight or dashboard, get an AI summary attached to those
name: managing-subscriptions description: 'Manage PostHog subscriptions — scheduled email, Slack, or webhook deliveries of insight or dashboard snapshots, optionally with an AI-written summary attached to each delivery. Use when the user wants to subscribe to an insight or dashboard, get an AI summary attached to those deliveries, check existing subscriptions, change delivery frequency, add or remove recipients, or stop receiving updates.'
This skill guides you through managing PostHog subscriptions. Subscriptions deliver scheduled snapshots of insights or dashboards via email, Slack, or webhook.
Use this skill when the user:
Subscriptions and alerts serve different purposes:
If the user says "notify me when this drops below 100", use alerts. If the user says "send me this every morning", use subscriptions.
When someone wants the **key numbers from an existing dashboard or insight** posted to a channel on a schedule — "post the top-line from this dashboard in #launch once a day", "send the team these metrics every morning", or even "set up a scout/bot to post this daily" — the right tool is a **dashboard (or insight) subscription**, and an AI summary is its natural companion:
Usually a better fit than a **prompt subscription** (`creating-ai-subscription`) or a **Signals scout**. A prompt subscription composes its own HogQL and can drift from the dashboard's numbers; a scout is for open-ended watching that decides what's worth surfacing, not scheduled delivery of a fixed, user-specified metric set. Don't override a user who's certain they want one of those — but when the ask is ambiguous (e.g. "set up a scout to post this daily"), suggest the subscription and confirm before building: _"A dashboard subscription is a better fit for a recurring message. Want me to set that up?"_ Reach for a prompt subscription when the user specifically asks for a free-text AI report, or when no existing insight/dashboard covers the ask.
Before creating a new subscription, check if one already exists.
Use `subscriptions-list` with optional filters:
**Always ask the user whether they want email or Slack delivery** before creating a subscription. Do not assume a channel — ask explicitly:
> Would you like to receive this via **email** or **Slack**?
If the user says Slack, you must verify the integration is available (see step 2). If the user doesn't have a preference, suggest email as the simplest option.
**Email** requires no setup — it works out of the box. You just need the user's email address. Get it from the user context or from `org-members-list`.
**Slack** requires a connected Slack integration. Before creating a Slack subscription:
1. Call `integrations-list` and look for an integration where `kind` is `"slack"` 2. If a Slack integration exists, note its `id` — you'll need it as `integration_id` 3. If **no Slack integration exists**, tell the user: > Slack isn't connected to this project yet. You can set it up in > [Project settings > Integrations](/settings/integrations). > In the meantime, would you like to receive this via email instead?
Slack setup requires an OAuth flow in the browser — it cannot be done via MCP.
**Webhook** requires the user to provide a URL. Verify it looks like a valid URL before submitting.
Get the insight ID or dashboard ID. If the user provides a URL like `/project/2/insights/pKxzopBG`, fetch the insight first with `insight-get` to get the numeric ID.
| User says | Parameters | | --------------------------------------
Official PostHog plugin for AI clients. Access PostHog products directly from your AI coding tool.
Repo: PostHog/ai-plugin
Sync columns from a synced data warehouse table onto PostHog person or group properties, so warehouse data becomes usable anywhere person and group properties…
Analyze the most expensive users in AI observability and explain why they cost so much. Use when the user asks about top spenders, expensive users, per-user…
Analyze session replay patterns across experiment variants to understand user behavior differences. Use when the user wants to see how users interact with…
Split a completed PostHog task run into activity records — what the agent tried, whether it worked, what blocked it — and record each one through the…
Assesses what a page's heatmap is telling you and recommends concrete changes. Pulls click / rageclick / scroll-depth data for a URL, names the hot elements by…
Audit every endpoint in a PostHog project for staleness, failed materialisations, and unused materialised versions. Use when the user asks "what endpoints can…