Awesome-omni-skill posthog-automation
Automate PostHog tasks via Rube MCP (Composio): events, feature flags, projects, user profiles, annotations. Always search tools first for current schemas.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/cli-automation/posthog-automation" ~/.claude/skills/diegosouzapw-awesome-omni-skill-posthog-automation && rm -rf "$T"
skills/cli-automation/posthog-automation/SKILL.mdPostHog Automation via Rube MCP
Automate PostHog product analytics and feature flag management through Composio's PostHog toolkit via Rube MCP.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active PostHog connection via
with toolkitRUBE_MANAGE_CONNECTIONSposthog - Always call
first to get current tool schemasRUBE_SEARCH_TOOLS
Setup
Get 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.
- Verify Rube MCP is available by confirming
respondsRUBE_SEARCH_TOOLS - Call
with toolkitRUBE_MANAGE_CONNECTIONSposthog - If connection is not ACTIVE, follow the returned auth link to complete PostHog authentication
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Capture Events
When to use: User wants to send event data to PostHog for analytics tracking
Tool sequence:
- Send one or more events to PostHog [Required]POSTHOG_CAPTURE_EVENT
Key parameters:
: Event name (e.g., '$pageview', 'user_signed_up', 'purchase_completed')event
: Unique user identifier (required)distinct_id
: Object with event-specific propertiesproperties
: ISO 8601 timestamp (optional; defaults to server time)timestamp
Pitfalls:
is required for every event; identifies the user/devicedistinct_id- PostHog system events use
prefix (e.g., '$pageview', '$identify')$ - Custom events should NOT use the
prefix$ - Properties are freeform; maintain consistent schemas across events
- Events are processed asynchronously; ingestion delay is typically seconds
2. List and Filter Events
When to use: User wants to browse or search through captured events
Tool sequence:
- Query events with filters [Required]POSTHOG_LIST_AND_FILTER_PROJECT_EVENTS
Key parameters:
: PostHog project ID (required)project_id
: Filter by event nameevent
: Filter by person IDperson_id
: Events after this ISO 8601 timestampafter
: Events before this ISO 8601 timestampbefore
: Maximum events to returnlimit
: Pagination offsetoffset
Pitfalls:
is required; resolve via LIST_PROJECTS firstproject_id- Date filters use ISO 8601 format (e.g., '2024-01-15T00:00:00Z')
- Large event volumes require pagination; use
andoffsetlimit - Results are returned in reverse chronological order by default
- Event properties are nested; parse carefully
3. Manage Feature Flags
When to use: User wants to create, view, or manage feature flags
Tool sequence:
- List existing feature flags [Required]POSTHOG_LIST_AND_MANAGE_PROJECT_FEATURE_FLAGS
- Get detailed flag configuration [Optional]POSTHOG_RETRIEVE_FEATURE_FLAG_DETAILS
- Create a new feature flag [Optional]POSTHOG_CREATE_FEATURE_FLAGS_FOR_PROJECT
Key parameters:
- For listing:
(required)project_id - For details:
,project_id
(feature flag ID)id - For creation:
: Target projectproject_id
: Flag key (e.g., 'new-dashboard-beta')key
: Human-readable namename
: Targeting rules and rollout percentagefilters
: Whether the flag is enabledactive
Pitfalls:
- Feature flag
must be unique within a projectkey - Flag keys should use kebab-case (e.g., 'my-feature-flag')
define targeting groups with properties and rollout percentagesfilters- Creating a flag with
immediately enables it for matching usersactive: true - Flag changes take effect within seconds due to PostHog's polling mechanism
4. Manage Projects
When to use: User wants to list or inspect PostHog projects and organizations
Tool sequence:
- List all projects [Required]POSTHOG_LIST_PROJECTS_IN_ORGANIZATION_WITH_PAGINATION
Key parameters:
: Organization identifier (may be optional depending on auth)organization_id
: Number of results per pagelimit
: Pagination offsetoffset
Pitfalls:
- Project IDs are numeric; used as parameters in most other endpoints
- Organization ID may be required; check your PostHog setup
- Pagination is offset-based; iterate until results are empty
- Project settings include API keys and configuration details
5. User Profile and Authentication
When to use: User wants to check current user details or verify API access
Tool sequence:
- Get current API user information [Optional]POSTHOG_WHOAMI
- Get detailed user profile [Optional]POSTHOG_RETRIEVE_CURRENT_USER_PROFILE
Key parameters:
- No required parameters for either call
- Returns current authenticated user's details, permissions, and organization info
Pitfalls:
- WHOAMI is a lightweight check; use for verifying API connectivity
- User profile includes organization membership and permissions
- These endpoints confirm the API key's access level and scope
Common Patterns
ID Resolution
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 endpoints
Feature 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 operations
Feature Flag Targeting
Feature flags support sophisticated targeting:
{ "filters": { "groups": [ { "properties": [ {"key": "email", "value": "@company.com", "operator": "icontains"} ], "rollout_percentage": 100 }, { "properties": [], "rollout_percentage": 10 } ] } }
- Groups are evaluated in order; first matching group determines the rollout
- Properties filter users by their traits
- Rollout percentage determines what fraction of matching users see the flag
Pagination
- Events: Use
andoffset
(offset-based)limit - Feature flags: Use
andoffset
(offset-based)limit - Projects: Use
andoffset
(offset-based)limit - Continue until results array is empty or smaller than
limit
Known Pitfalls
Project IDs:
- Required for most API endpoints
- Always resolve project names to numeric IDs first
- Multiple projects can exist in one organization
Event Naming:
- System events use
prefix ($pageview, $identify, $autocapture)$ - Custom events should NOT use
prefix$ - Event names are case-sensitive; maintain consistency
Feature Flags:
- Flag keys must be unique within a project
- Use kebab-case for flag keys
- Changes propagate within seconds
- Deleting a flag is permanent; consider disabling instead
Rate Limits:
- Event ingestion has throughput limits
- Batch events where possible for efficiency
- API endpoints have per-minute rate limits
Response Parsing:
- Response data may be nested under
ordata
keyresults - Paginated responses include
,count
,next
fieldsprevious - Event properties are nested objects; access carefully
- Parse defensively with fallbacks for optional fields
Quick Reference
| 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) |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.