Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate PostHog tasks via Rube MCP (Composio): events, feature flags, projects, user profiles, annotations. Always search tools first for current schemas.
.claude/skills/davepoon-posthog-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 433% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 63% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 138% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 146% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 158% | 0% |
Automate PostHog product analytics and feature flag management through Composio's PostHog toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/posthog
RUBE_MANAGE_CONNECTIONS with toolkit posthogRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit posthogWhen to use: User wants to send event data to PostHog for analytics tracking
Tool sequence:
POSTHOG_CAPTURE_EVENT - Send one or more events to PostHog Required]Key parameters:
event: Event name (e.g., '$pageview', 'user_signed_up', 'purchase_completed')distinct_id: Unique user identifier (required)properties: Object with event-specific propertiestimestamp: ISO 8601 timestamp (optional; defaults to server time)Pitfalls:
distinct_id is required for every event; identifies the user/device$ prefix (e.g., '$pageview', '$identify')$ prefixWhen to use: User wants to browse or search through captured events
Tool sequence:
POSTHOG_LIST_AND_FILTER_PROJECT_EVENTS - Query events with filters Required]Key parameters:
project_id: PostHog project ID (required)event: Filter by event nameperson_id: Filter by person IDafter: Events after this ISO 8601 timestampbefore: Events before this ISO 8601 timestamplimit: Maximum events to returnoffset: Pagination offsetPitfalls:
project_id is required; resolve via LIST_PROJECTS firstoffset and limitWhen to use: User wants to create, view, or manage feature flags
Tool sequence:
POSTHOG_LIST_AND_MANAGE_PROJECT_FEATURE_FLAGS - List existing feature flags Required]POSTHOG_RETRIEVE_FEATURE_FLAG_DETAILS - Get detailed flag configuration Optional]POSTHOG_CREATE_FEATURE_FLAGS_FOR_PROJECT - Create a new feature flag Optional]Key parameters:
project_id (required)project_id, id (feature flag ID)project_id: Target projectkey: Flag key (e.g., 'new-dashboard-beta')name: Human-readable namefilters: Targeting rules and rollout percentageactive: Whether the flag is enabledPitfalls:
key must be unique within a projectfilters define targeting groups with properties and rollout percentagesactive: true immediately enables it for matching usersWhen to use: User wants to list or inspect PostHog projects and organizations
Tool sequence:
POSTHOG_LIST_PROJECTS_IN_ORGANIZATION_WITH_PAGINATION - List all projects Required]Key parameters:
organization_id: Organization identifier (may be optional depending on auth)limit: Number of results per pageoffset: Pagination offsetPitfalls:
When to use: User wants to check current user details or verify API access
Tool sequence:
POSTHOG_WHOAMI - Get current API user information Optional]POSTHOG_RETRIEVE_CURRENT_USER_PROFILE - Get detailed user profile Optional]Key parameters:
Pitfalls:
Organization -> Project ID:
1. Call POSTHOG_LIST_PROJECTS_IN_ORGANIZATION_WITH_PAGINATION
2. Find project by name in results
3. Extract id (numeric) for use in other endpointsFeature flag name -> Flag ID:
1. Call POSTHOG_LIST_AND_MANAGE_PROJECT_FEATURE_FLAGS with project_id
2. Find flag by key or name
3. Extract id for detailed operationsFeature flags support sophisticated targeting:
json{ "filters": { "groups": [ { "properties": [ {"key": "email", "value": "@company.com", "operator": "icontains"} ], "rollout_percentage": 100 }, { "properties": [], "rollout_percentage": 10 } ] } }
offset and limit (offset-based)offset and limit (offset-based)offset and limit (offset-based)limitProject IDs:
Event Naming:
$ prefix ($pageview, $identify, $autocapture)$ prefixFeature Flags:
Rate Limits:
Response Parsing:
data or results keycount, next, previous fields| Task | Tool Slug | Key Params | |------|-----------|------------| | Capture event | POSTHOG_CAPTURE_EVENT | event, distinct_id, properties | | List events | POSTHOG_LIST_AND_FILTER_PROJECT_EVENTS | project_id, event, after, before | | List feature flags | POSTHOG_LIST_AND_MANAGE_PROJECT_FEATURE_FLAGS | project_id | | Get flag details | POSTHOG_RETRIEVE_FEATURE_FLAG_DETAILS | project_id, id | | Create flag | POSTHOG_CREATE_FEATURE_FLAGS_FOR_PROJECT | project_id, key, filters | | List projects | POSTHOG_LIST_PROJECTS_IN_ORGANIZATION_WITH_PAGINATION | organization_id | | Who am I | POSTHOG_WHOAMI | (none) | | User profile | POSTHOG_RETRIEVE_CURRENT_USER_PROFILE | (none) |
Powered by Composio
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 3,202 | 4,616 | +44% | 1 | 1 | 0% | 485 | 2,414 | +398% | 0 | 0 | — |
case-02 | fail→fail | 3,305 | 5,405 | +64% | 1 | 1 | 0% | 199 | 2,231 | +1021% | 0 | 0 | — |
case-03 | fail→fail | 7,654 | 4,807 | -37% | 1 | 1 | 0% | 257 | 2,264 | +781% | 0 | 0 | — |
case-04 | pass→pass | 8,059 | 11,838 | +47% | 1 | 1 | 0% | 1,743 | 4,495 | +158% | 0 | 0 | — |
case-05 | pass→pass | 16,728 | 15,913 | -5% | 1 | 1 | 0% | 3,044 | 4,724 | +55% | 0 | 0 | — |
case-06 | pass→pass | 8,735 | 11,441 | +31% | 1 | 1 | 0% | 1,832 | 4,532 | +147% | 0 | 0 | — |
case-07 | fail→fail | 11,523 | 2,557 | -78% | 1 | 1 | 0% | 1,739 | 2,306 | +33% | 0 | 0 | — |
case-08 | fail→pass | 2,685 | 2,806 | +5% | 1 | 1 | 0% | 490 | 2,614 | +433% | 0 | 0 | — |
case-09 | pass→pass | 8,944 | 3,618 | -60% | 1 | 1 | 0% | 1,321 | 2,801 | +112% | 0 | 0 | — |
case-10 | fail→fail | 7,708 | 5,937 | -23% | 1 | 1 | 0% | 1,576 | 2,560 | +62% | 0 | 0 | — |
case-11 | fail→fail | 13,680 | 5,142 | -62% | 1 | 1 | 0% | 3,021 | 2,316 | -23% | 0 | 0 | — |
case-12 | pass→pass | 7,442 | 4,429 | -40% | 1 | 1 | 0% | 1,263 | 2,857 | +126% | 0 | 0 | — |
case-13 | fail→fail | 9,352 | 4,447 | -52% | 1 | 1 | 0% | 1,993 | 2,265 | +14% | 0 | 0 | — |
case-14 | fail→pass | 8,969 | 9,703 | +8% | 1 | 1 | 0% | 1,888 | 3,070 | +63% | 0 | 0 | — |
case-15 | fail→fail | 8,322 | 5,248 | -37% | 1 | 1 | 0% | 1,641 | 2,410 | +47% | 0 | 0 | — |
case-16 | fail→pass | 8,964 | 10,580 | +18% | 1 | 1 | 0% | 1,425 | 3,386 | +138% | 0 | 0 | — |
case-17 | fail→fail | 10,326 | 5,231 | -49% | 1 | 1 | 0% | 1,931 | 2,390 | +24% | 0 | 0 | — |
case-18 | fail→fail | 8,749 | 7,885 | -10% | 1 | 1 | 0% | 1,657 | 2,667 | +61% | 0 | 0 | — |
case-19 | fail→fail | 5,170 | 2,772 | -46% | 1 | 1 | 0% | 801 | 2,471 | +208% | 0 | 0 | — |
case-20 | fail→pass | 5,497 | 2,440 | -56% | 1 | 1 | 0% | 996 | 2,448 | +146% | 0 | 0 | — |
case-21 | fail→fail | 7,530 | 4,532 | -40% | 1 | 1 | 0% | 1,570 | 2,283 | +45% | 0 | 0 | — |
case-22 | fail→fail | 10,934 | 5,935 | -46% | 1 | 1 | 0% | 2,181 | 2,390 | +10% | 0 | 0 | — |
case-23 | fail→fail | 4,218 | 3,062 | -27% | 1 | 1 | 0% | 793 | 2,614 | +230% | 0 | 0 | — |
case-24 | fail→fail | 13,481 | 8,149 | -40% | 1 | 1 | 0% | 2,420 | 3,511 | +45% | 0 | 0 | — |
case-25 | fail→fail | 10,889 | 4,850 | -55% | 1 | 1 | 0% | 2,022 | 2,949 | +46% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted, and 15 counted toward the lift figure. The other 10 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +16 percentage points is the difference between those two pass rates over the 15 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.