PostHog Cohorts & Events
Overview
A cohort is a saved segment of users or groups — static (a fixed list) or
dynamic (defined by a rule that PostHog re-evaluates). Events are the raw
analytics stream: every tracked interaction, tied to a person or
distinct_id, carrying whatever properties the client's application sent.
Annotations are timestamped notes on a project's timeline — deploys,
incidents, config changes — used to explain a shift in a metric. This skill
covers looking these up, not defining them.
Anti-triggers
- Aggregated trend or funnel analysis — don't hand-aggregate raw events
into a trend; use
insights-and-dashboards, which is what PostHog's own
computed insights are for.
- Feature-flag targeting rules — a cohort can target a flag, but this
skill only covers listing and retrieving cohorts and events themselves;
use
feature-flags-and-experiments for what a flag or experiment is
configured to target.
- Auth, scopes, or rate-limit behavior — use
api-patterns.
Core Concepts
Cohorts group people or groups by shared property or behavior. Events carry
an event name, a distinct_id, a timestamp, and a properties payload whose
shape depends entirely on what the client's application instruments —
PostHog imposes no fixed schema on event properties. Annotations are
lightweight, timestamped, and scoped to a project (or a specific insight),
and exist specifically so a human reviewing a metric later can see "what
changed here."
API Patterns
The confirmed read tool family for this domain:
- Cohorts: list, retrieve
- Events / Annotations: list, retrieve
This plugin exposes only these read tools; there is no cohort-definition,
event-ingestion, or annotation-authoring tool in this plugin's surface.
PostHog's own docs carry the exhaustive tool catalog:
posthog.com/docs/model-context-protocol/tools.
Common Workflows
SOC analyst checking recent error events for a client's app
- List events scoped to the relevant event name (e.g. an error or
exception event the client's app emits) and a bounded, recent date range
- Retrieve individual events for detail if a pattern needs closer
inspection
- Cross-reference against
insights-and-dashboards if the client already
has an error-tracking dashboard — don't re-derive a trend PostHog has
already computed
vCIO correlating a reported slowdown with a recent deploy
- List annotations on the relevant project or insight for the reported
time window
- Match a deploy or config-change annotation against the metric shift the
client is asking about
- Report the correlation, not a causal claim — this skill surfaces
timeline markers, it doesn't establish root cause
Confirming a specific user's cohort membership before escalating a bug
- Retrieve the cohort in question
- Check whether the reported user/
distinct_id matches the cohort's
current membership
- Note that dynamic cohorts re-evaluate — membership can have changed
since the client last checked
Gotchas
- Event properties may carry PII. Whether an event contains emails,
user IDs, or other identifying data depends entirely on what the client's
application sends — this plugin has no way to know in advance. Treat
event and cohort output as potentially sensitive by default; see
GOVERNANCE.md, Data handling.
- Bound event queries by date. Event volume in an active project can be
large; an unbounded pull is a way to exhaust rate limits and return more
data than the question needs.
- Dynamic cohort membership is a moving target. A cohort defined by a
rule re-evaluates over time — "who's in this cohort" answered now may not
match what it was when an incident happened.
Related Skills
1---2name: posthog-cohorts-events3description: PostHog cohorts (saved user/group segments), raw analytics events, and timeline annotations. Read-only lookups — listing and retrieving existing records, not defining new segments or emitting events.4---56# PostHog Cohorts & Events78## Overview910A cohort is a saved segment of users or groups — static (a fixed list) or11dynamic (defined by a rule that PostHog re-evaluates). Events are the raw12analytics stream: every tracked interaction, tied to a person or13`distinct_id`, carrying whatever properties the client's application sent.14Annotations are timestamped notes on a project's timeline — deploys,15incidents, config changes — used to explain a shift in a metric. This skill16covers looking these up, not defining them.1718## Anti-triggers1920- **Aggregated trend or funnel analysis** — don't hand-aggregate raw events21 into a trend; use `insights-and-dashboards`, which is what PostHog's own22 computed insights are for.23- **Feature-flag targeting rules** — a cohort can target a flag, but this24 skill only covers listing and retrieving cohorts and events themselves;25 use `feature-flags-and-experiments` for what a flag or experiment is26 configured to target.27- **Auth, scopes, or rate-limit behavior** — use `api-patterns`.2829## Core Concepts3031Cohorts group people or groups by shared property or behavior. Events carry32an event name, a `distinct_id`, a timestamp, and a properties payload whose33shape depends entirely on what the client's application instruments —34PostHog imposes no fixed schema on event properties. Annotations are35lightweight, timestamped, and scoped to a project (or a specific insight),36and exist specifically so a human reviewing a metric later can see "what37changed here."3839## API Patterns4041The confirmed read tool family for this domain:4243- Cohorts: list, retrieve44- Events / Annotations: list, retrieve4546This plugin exposes only these read tools; there is no cohort-definition,47event-ingestion, or annotation-authoring tool in this plugin's surface.48PostHog's own docs carry the exhaustive tool catalog:49[posthog.com/docs/model-context-protocol/tools](https://posthog.com/docs/model-context-protocol/tools).5051## Common Workflows5253### SOC analyst checking recent error events for a client's app54551. List events scoped to the relevant event name (e.g. an error or56 exception event the client's app emits) and a bounded, recent date range572. Retrieve individual events for detail if a pattern needs closer58 inspection593. Cross-reference against `insights-and-dashboards` if the client already60 has an error-tracking dashboard — don't re-derive a trend PostHog has61 already computed6263### vCIO correlating a reported slowdown with a recent deploy64651. List annotations on the relevant project or insight for the reported66 time window672. Match a deploy or config-change annotation against the metric shift the68 client is asking about693. Report the correlation, not a causal claim — this skill surfaces70 timeline markers, it doesn't establish root cause7172### Confirming a specific user's cohort membership before escalating a bug73741. Retrieve the cohort in question752. Check whether the reported user/`distinct_id` matches the cohort's76 current membership773. Note that dynamic cohorts re-evaluate — membership can have changed78 since the client last checked7980## Gotchas8182- **Event properties may carry PII.** Whether an event contains emails,83 user IDs, or other identifying data depends entirely on what the client's84 application sends — this plugin has no way to know in advance. Treat85 event and cohort output as potentially sensitive by default; see86 [GOVERNANCE.md](../../GOVERNANCE.md), *Data handling*.87- **Bound event queries by date.** Event volume in an active project can be88 large; an unbounded pull is a way to exhaust rate limits and return more89 data than the question needs.90- **Dynamic cohort membership is a moving target.** A cohort defined by a91 rule re-evaluates over time — "who's in this cohort" answered now may not92 match what it was when an incident happened.9394## Related Skills9596- [Insights & Dashboards](../insights-and-dashboards/SKILL.md) — Computed trends and funnels97- [Feature Flags & Experiments](../feature-flags-and-experiments/SKILL.md) — What a cohort targets98- [API Patterns](../api-patterns/SKILL.md) — Auth, scopes, and error handling