Source profileQuality 96/100

PostHog/skills/skills/omnibus/managing-subscriptions/SKILL.md

managing-subscriptions

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.

Source repository stars
60
Declared platforms
0
Static risk flags
0
Last source update
2026-08-24
Source checked
2026-08-25

Decision brief

What it does: where it fits

This skill guides you through managing PostHog subscriptions. Subscriptions deliver scheduled snapshots of insights or dashboards via email, Slack, or webhook.

Best for

  • Wants to "track", "follow", "subscribe to", or "get updates" about an insight or dashboard
  • Asks for "daily updates", "weekly reports", or "send me this every morning"
  • Wants an AI-written summary attached to each delivery of an insight or dashboard (see step 6)

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/PostHog/skills --skill "skills/omnibus/managing-subscriptions"
Safe inspection promptEditorial

Inspect the Agent Skill "managing-subscriptions" from https://github.com/PostHog/skills/blob/870cdf070c94f2bf39d8b2a9d4916cfd44779cce/skills/omnibus/managing-subscriptions/SKILL.md at commit 870cdf070c94f2bf39d8b2a9d4916cfd44779cce. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Workflow

    Before creating a new subscription, check if one already exists.

    Filter by insight: pass the insight query parameter with the insight IDFilter by dashboard: pass the dashboard query parameter with the dashboard IDFilter by channel: pass targettype as email, slack, or webhook
  2. 02

    Step 1: Ask the user how they want to receive it

    Always ask the user whether they want email or Slack delivery before creating a subscription. Do not assume a channel — ask explicitly:

    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.
  3. 03

    Step 2: Verify channel availability

    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.

    Call integrations-list and look for an integration where kind is "slack"If a Slack integration exists, note its id — you'll need it as integrationidIf no Slack integration exists, tell the user:
  4. 04

    Step 3: Identify the target

    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.

    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.
  5. 05

    Step 4: Determine delivery settings from the user's request

    Review the “Step 4: Determine delivery settings from the user's request” section in the pinned source before continuing.

    Review and apply the “Step 4: Determine delivery settings from the user's request” source section.

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score96/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars60SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
PostHog/skills
Skill path
skills/omnibus/managing-subscriptions/SKILL.md
Commit
870cdf070c94f2bf39d8b2a9d4916cfd44779cce
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

Managing subscriptions

This skill guides you through managing PostHog subscriptions. Subscriptions deliver scheduled snapshots of insights or dashboards via email, Slack, or webhook.

When to use this skill

Use this skill when the user:

  • Wants to "track", "follow", "subscribe to", or "get updates" about an insight or dashboard
  • Asks for "daily updates", "weekly reports", or "send me this every morning"
  • Wants an AI-written summary attached to each delivery of an insight or dashboard (see step 6)
  • Wants to know what subscriptions they have
  • Asks to stop, pause, or unsubscribe from something
  • Wants to change who receives an update or how often

Subscriptions vs alerts

Subscriptions and alerts serve different purposes:

  • Subscriptions deliver a snapshot on a fixed schedule (daily, weekly, etc.) regardless of the data
  • Alerts fire only when a condition is met (threshold crossed, anomaly detected)

If the user says "notify me when this drops below 100", use alerts. If the user says "send me this every morning", use subscriptions.

Workflow

Listing existing subscriptions

Before creating a new subscription, check if one already exists.

Use subscriptions-list with optional filters:

  • Filter by insight: pass the insight query parameter with the insight ID
  • Filter by dashboard: pass the dashboard query parameter with the dashboard ID
  • Filter by channel: pass target_type as email, slack, or webhook

Creating a subscription

Step 1: Ask the user how they want to receive it

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.

Step 2: Verify channel availability

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. 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.

Step 3: Identify the target

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.

Step 4: Determine delivery settings from the user's request

User saysParameters
"every day" / "daily" / "every morning"frequency: "daily"
"every week" / "weekly"frequency: "weekly"
"every Monday"frequency: "weekly", byweekday: ["monday"]
"every month" / "monthly"frequency: "monthly"
"twice a week"frequency: "weekly", interval: 1, byweekday: ["monday", "thursday"]

Step 5: Create with subscriptions-create

For an insight subscription via email:

{
  "insight": 12345,
  "target_type": "email",
  "target_value": "[email protected]",
  "frequency": "daily",
  "start_date": "2025-01-01T09:00:00Z"
}

For a dashboard subscription (requires selecting which insights to include, max 6):

{
  "dashboard": 67,
  "dashboard_export_insights": [101, 102, 103],
  "target_type": "email",
  "target_value": "[email protected]",
  "frequency": "weekly",
  "byweekday": ["monday"],
  "start_date": "2025-01-01T09:00:00Z"
}

For Slack delivery, include the integration_id from step 2:

{
  "insight": 12345,
  "target_type": "slack",
  "target_value": "#general",
  "integration_id": 789,
  "frequency": "daily",
  "start_date": "2025-01-01T09:00:00Z"
}

Step 6 (optional): Attach an AI summary

For insight and dashboard subscriptions you can attach an AI-written summary to every delivery — a short narrative that calls out what changed, outliers, and notable insights alongside the snapshot. Set it at create time (or toggle later via subscriptions-partial-update):

  • summary_enabled: true — turns on the per-delivery AI summary
  • summary_prompt_guide: "..." — optional steer, e.g. "focus on sign-up conversion and any new drop-off points"
{
  "dashboard": 67,
  "dashboard_export_insights": [101, 102, 103],
  "target_type": "email",
  "target_value": "[email protected]",
  "frequency": "weekly",
  "byweekday": ["monday"],
  "start_date": "2025-01-01T09:00:00Z",
  "summary_enabled": true,
  "summary_prompt_guide": "Call out outliers and new insights since last week"
}

Enabling a summary requires the organization to have approved AI data processing (Org settings → Data → AI data processing) and to be within its active-summary cap and AI credit budget; otherwise the create/update is rejected. summary_enabled does not apply to prompt subscriptions — those are AI-generated by definition (see creating-ai-subscription).

Updating a subscription

Use subscriptions-partial-update with the subscription ID. Common updates:

  • Change frequency: {"frequency": "weekly", "byweekday": ["monday"]}
  • Add recipients: Update target_value with the full comma-separated list
  • Change channel: Update target_type and target_value together
  • Toggle the AI summary (insight/dashboard subs): {"summary_enabled": true, "summary_prompt_guide": "..."} — same AI-data-processing and budget gates as step 6

Deactivating a subscription

Subscriptions are soft-deleted. Use subscriptions-partial-update:

{
  "id": 456,
  "deleted": true
}

Defaults

When the user doesn't specify details:

  • Frequency: "daily"
  • Channel: email to the current user
  • Start date: now (ISO 8601)
  • Title: auto-generated from the insight/dashboard name if not specified

Error handling

  • Duplicate check: If a subscription already exists for the same insight/dashboard and channel, inform the user and offer to update it rather than creating a duplicate
  • Slack not connected: If a Slack subscription is requested but no Slack integration exists, explain that Slack must be connected in Project settings > Integrations first, then offer email as an alternative. Do not attempt to create the subscription — it will fail with a validation error
  • Slack integration wrong team: The Slack integration must belong to the same PostHog team. If integrations-list returns Slack integrations but creation still fails, the integration may be misconfigured
  • Dashboard insights: Dashboard subscriptions require at least 1 and at most 6 insights selected via dashboard_export_insights. If the user doesn't specify which insights, fetch the dashboard with dashboard-get and select the first 6 insights from its tiles

Frequently asked questions

What to verify before installation and use

What does the managing-subscriptions source document cover?

This skill guides you through managing PostHog subscriptions. Subscriptions deliver scheduled snapshots of insights or dashboards via email, Slack, or webhook.

How do I install managing-subscriptions?

The source record exposes this install command: npx skills add https://github.com/PostHog/skills --skill "skills/omnibus/managing-subscriptions". Inspect the command and pinned source before running it.

Alternatives

Compare before choosing

Computed 10029,034

garrytan/gbrain

bulk-ingestion

End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.

Computed 10024,921

alirezarezvani/claude-skills

app-store-optimization

App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

Computed 10015,122

wanshuiyin/Auto-claude-code-research-in-sleep

citation-audit

Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.

Computed 10014,671

prowler-cloud/prowler

postgresql-indexing

PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance