{"id":"0acfbd91-ae73-44b3-8906-1965226cda80","shortId":"U4mjgW","kind":"skill","title":"posthog-automation","tagline":"Automate PostHog tasks via Rube MCP (Composio): events, feature flags, projects, user profiles, annotations. Always search tools first for current schemas.","description":"# PostHog Automation via Rube MCP\n\nAutomate PostHog product analytics and feature flag management through Composio's PostHog toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active PostHog connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `posthog`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**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.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `posthog`\n3. If connection is not ACTIVE, follow the returned auth link to complete PostHog authentication\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Capture Events\n\n**When to use**: User wants to send event data to PostHog for analytics tracking\n\n**Tool sequence**:\n1. `POSTHOG_CAPTURE_EVENT` - Send one or more events to PostHog [Required]\n\n**Key parameters**:\n- `event`: Event name (e.g., '$pageview', 'user_signed_up', 'purchase_completed')\n- `distinct_id`: Unique user identifier (required)\n- `properties`: Object with event-specific properties\n- `timestamp`: ISO 8601 timestamp (optional; defaults to server time)\n\n**Pitfalls**:\n- `distinct_id` is required for every event; identifies the user/device\n- PostHog system events use `$` prefix (e.g., '$pageview', '$identify')\n- Custom events should NOT use the `$` prefix\n- Properties are freeform; maintain consistent schemas across events\n- Events are processed asynchronously; ingestion delay is typically seconds\n\n### 2. List and Filter Events\n\n**When to use**: User wants to browse or search through captured events\n\n**Tool sequence**:\n1. `POSTHOG_LIST_AND_FILTER_PROJECT_EVENTS` - Query events with filters [Required]\n\n**Key parameters**:\n- `project_id`: PostHog project ID (required)\n- `event`: Filter by event name\n- `person_id`: Filter by person ID\n- `after`: Events after this ISO 8601 timestamp\n- `before`: Events before this ISO 8601 timestamp\n- `limit`: Maximum events to return\n- `offset`: Pagination offset\n\n**Pitfalls**:\n- `project_id` is required; resolve via LIST_PROJECTS first\n- Date filters use ISO 8601 format (e.g., '2024-01-15T00:00:00Z')\n- Large event volumes require pagination; use `offset` and `limit`\n- Results are returned in reverse chronological order by default\n- Event properties are nested; parse carefully\n\n### 3. Manage Feature Flags\n\n**When to use**: User wants to create, view, or manage feature flags\n\n**Tool sequence**:\n1. `POSTHOG_LIST_AND_MANAGE_PROJECT_FEATURE_FLAGS` - List existing feature flags [Required]\n2. `POSTHOG_RETRIEVE_FEATURE_FLAG_DETAILS` - Get detailed flag configuration [Optional]\n3. `POSTHOG_CREATE_FEATURE_FLAGS_FOR_PROJECT` - Create a new feature flag [Optional]\n\n**Key parameters**:\n- For listing: `project_id` (required)\n- For details: `project_id`, `id` (feature flag ID)\n- For creation:\n  - `project_id`: Target project\n  - `key`: Flag key (e.g., 'new-dashboard-beta')\n  - `name`: Human-readable name\n  - `filters`: Targeting rules and rollout percentage\n  - `active`: Whether the flag is enabled\n\n**Pitfalls**:\n- Feature flag `key` must be unique within a project\n- Flag keys should use kebab-case (e.g., 'my-feature-flag')\n- `filters` define targeting groups with properties and rollout percentages\n- Creating a flag with `active: true` immediately enables it for matching users\n- Flag changes take effect within seconds due to PostHog's polling mechanism\n\n### 4. Manage Projects\n\n**When to use**: User wants to list or inspect PostHog projects and organizations\n\n**Tool sequence**:\n1. `POSTHOG_LIST_PROJECTS_IN_ORGANIZATION_WITH_PAGINATION` - List all projects [Required]\n\n**Key parameters**:\n- `organization_id`: Organization identifier (may be optional depending on auth)\n- `limit`: Number of results per page\n- `offset`: Pagination offset\n\n**Pitfalls**:\n- Project IDs are numeric; used as parameters in most other endpoints\n- Organization ID may be required; check your PostHog setup\n- Pagination is offset-based; iterate until results are empty\n- Project settings include API keys and configuration details\n\n### 5. User Profile and Authentication\n\n**When to use**: User wants to check current user details or verify API access\n\n**Tool sequence**:\n1. `POSTHOG_WHOAMI` - Get current API user information [Optional]\n2. `POSTHOG_RETRIEVE_CURRENT_USER_PROFILE` - Get detailed user profile [Optional]\n\n**Key parameters**:\n- No required parameters for either call\n- Returns current authenticated user's details, permissions, and organization info\n\n**Pitfalls**:\n- WHOAMI is a lightweight check; use for verifying API connectivity\n- User profile includes organization membership and permissions\n- These endpoints confirm the API key's access level and scope\n\n## Common Patterns\n\n### ID Resolution\n\n**Organization -> Project ID**:\n```\n1. Call POSTHOG_LIST_PROJECTS_IN_ORGANIZATION_WITH_PAGINATION\n2. Find project by name in results\n3. Extract id (numeric) for use in other endpoints\n```\n\n**Feature flag name -> Flag ID**:\n```\n1. Call POSTHOG_LIST_AND_MANAGE_PROJECT_FEATURE_FLAGS with project_id\n2. Find flag by key or name\n3. Extract id for detailed operations\n```\n\n### Feature Flag Targeting\n\nFeature flags support sophisticated targeting:\n```json\n{\n  \"filters\": {\n    \"groups\": [\n      {\n        \"properties\": [\n          {\"key\": \"email\", \"value\": \"@company.com\", \"operator\": \"icontains\"}\n        ],\n        \"rollout_percentage\": 100\n      },\n      {\n        \"properties\": [],\n        \"rollout_percentage\": 10\n      }\n    ]\n  }\n}\n```\n- Groups are evaluated in order; first matching group determines the rollout\n- Properties filter users by their traits\n- Rollout percentage determines what fraction of matching users see the flag\n\n### Pagination\n\n- Events: Use `offset` and `limit` (offset-based)\n- Feature flags: Use `offset` and `limit` (offset-based)\n- Projects: Use `offset` and `limit` (offset-based)\n- Continue until results array is empty or smaller than `limit`\n\n## Known Pitfalls\n\n**Project IDs**:\n- Required for most API endpoints\n- Always resolve project names to numeric IDs first\n- Multiple projects can exist in one organization\n\n**Event Naming**:\n- System events use `$` prefix ($pageview, $identify, $autocapture)\n- Custom events should NOT use `$` prefix\n- Event names are case-sensitive; maintain consistency\n\n**Feature Flags**:\n- Flag keys must be unique within a project\n- Use kebab-case for flag keys\n- Changes propagate within seconds\n- Deleting a flag is permanent; consider disabling instead\n\n**Rate Limits**:\n- Event ingestion has throughput limits\n- Batch events where possible for efficiency\n- API endpoints have per-minute rate limits\n\n**Response Parsing**:\n- Response data may be nested under `data` or `results` key\n- Paginated responses include `count`, `next`, `previous` fields\n- Event properties are nested objects; access carefully\n- Parse defensively with fallbacks for optional fields\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Capture event | POSTHOG_CAPTURE_EVENT | event, distinct_id, properties |\n| List events | POSTHOG_LIST_AND_FILTER_PROJECT_EVENTS | project_id, event, after, before |\n| List feature flags | POSTHOG_LIST_AND_MANAGE_PROJECT_FEATURE_FLAGS | project_id |\n| Get flag details | POSTHOG_RETRIEVE_FEATURE_FLAG_DETAILS | project_id, id |\n| Create flag | POSTHOG_CREATE_FEATURE_FLAGS_FOR_PROJECT | project_id, key, filters |\n| List projects | POSTHOG_LIST_PROJECTS_IN_ORGANIZATION_WITH_PAGINATION | organization_id |\n| Who am I | POSTHOG_WHOAMI | (none) |\n| User profile | POSTHOG_RETRIEVE_CURRENT_USER_PROFILE | (none) |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["posthog","automation","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-posthog-automation","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/posthog-automation","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34616 github stars · SKILL.md body (8,178 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-23T00:51:24.569Z","embedding":null,"createdAt":"2026-04-18T21:42:35.603Z","updatedAt":"2026-04-23T00:51:24.569Z","lastSeenAt":"2026-04-23T00:51:24.569Z","tsv":"'-01':349 '-15':350 '/mcp':84 '00':352 '00z':353 '1':104,151,170,278,396,552,645,719,749 '10':798 '100':794 '2':116,259,409,654,728,761 '2024':348 '3':124,378,420,735,768 '4':139,534 '5':624 '8601':209,314,321,345 'access':642,708,984 'across':248 'action':1094 'activ':56,129,144,473,514 'add':81,98 'alway':18,66,872 'analyt':33,166 'annot':17 'api':94,619,641,650,692,705,870,952 'applic':1088 'array':856 'ask':1132 'asynchron':253 'auth':133,575 'authent':138,628,675 'autocaptur':895 'autom':3,4,26,30 'avail':55,109 'base':610,835,844,852 'batch':946 'beta':461 'boundari':1140 'brows':270 'call':67,117,672,720,750 'captur':152,172,274,1000,1003 'care':377,985 'case':495,906,923 'case-sensit':905 'chang':523,927 'check':602,635,688 'chronolog':368 'clarif':1134 'clear':1107 'client':91 'common':712 'company.com':789 'complet':136,193 'composio':10,39 'configur':92,418,622 'confirm':111,140,703 'connect':51,58,62,120,126,141,693 'consid':936 'consist':246,909 'continu':853 'core':149 'count':975 'creat':388,422,427,510,1045,1048 'creation':449 'criteria':1143 'current':23,74,636,649,657,674,1078 'custom':235,896 'dashboard':460 'data':162,963,968 'date':341 'default':212,371 'defens':987 'defin':502 'delay':255 'delet':931 'depend':573 'describ':1095,1111 'detail':414,416,441,623,638,661,678,772,1036,1041 'determin':807,818 'disabl':937 'distinct':194,217,1006 'due':528 'e.g':187,232,347,457,496 'effect':525 'effici':951 'either':671 'email':787 'empti':615,858 'enabl':478,517 'endpoint':100,596,702,743,871,953 'environ':1123 'environment-specif':1122 'evalu':801 'event':11,153,161,173,178,184,185,204,223,229,236,249,250,263,275,284,286,298,301,310,317,325,355,372,828,887,890,897,902,941,947,979,1001,1004,1005,1010,1016,1019 'event-specif':203 'everi':222 'execut':1090 'exist':405,883 'expert':1128 'extract':736,769 'fallback':989 'featur':12,35,380,392,402,406,412,423,430,445,480,499,744,756,774,777,836,910,1023,1030,1039,1049 'field':978,992 'filter':262,282,288,299,305,342,467,501,783,811,1014,1056 'find':729,762 'first':21,71,340,804,879 'flag':13,36,381,393,403,407,413,417,424,431,446,455,476,481,489,500,512,522,745,747,757,763,775,778,826,837,911,912,925,933,1024,1031,1035,1040,1046,1050 'follow':130 'format':346 'fraction':820 'freeform':244 'get':73,78,415,648,660,1034 'group':504,784,799,806 'human':464 'human-read':463 'icontain':791 'id':195,218,293,296,304,308,333,438,443,444,447,451,567,587,598,714,718,737,748,760,770,866,878,1007,1018,1033,1043,1044,1054,1067 'identifi':198,224,234,569,894 'immedi':516 'includ':618,696,974 'info':682 'inform':652 'ingest':254,942 'input':1137 'inspect':545 'instead':938 'iso':208,313,320,344 'iter':611 'json':782 'kebab':494,922 'kebab-cas':493,921 'key':95,182,290,433,454,456,482,490,564,620,665,706,765,786,913,926,971,998,1055 'known':863 'larg':354 'level':709 'lightweight':687 'limit':323,362,576,832,841,849,862,940,945,959,1099 'link':134 'list':260,280,338,398,404,436,543,554,560,722,752,1009,1012,1022,1026,1057,1060 'maintain':245,908 'manag':37,61,119,379,391,400,535,754,1028 'match':520,805,822,1108 'maximum':324 'may':570,599,964 'mcp':9,29,45,48,80,87,107 'mechan':533 'membership':698 'minut':957 'miss':1145 'multipl':880 'must':49,483,914 'my-feature-flag':497 'name':186,302,462,466,732,746,767,875,888,903 'need':96 'nest':375,966,982 'new':429,459 'new-dashboard-beta':458 'next':976 'none':1073,1081 'number':577 'numer':589,738,877 'object':201,983 'offset':328,330,360,582,584,609,830,834,839,843,847,851 'offset-bas':608,833,842,850 'one':175,885 'oper':773,790 'option':211,419,432,572,653,664,991 'order':369,803 'organ':549,557,566,568,597,681,697,716,725,886,1063,1066 'output':1117 'overview':1098 'page':581 'pageview':188,233,893 'pagin':329,358,559,583,606,727,827,972,1065 'param':999 'paramet':183,291,434,565,592,666,669 'pars':376,961,986 'pattern':713 'per':580,956 'per-minut':955 'percentag':472,509,793,797,817 'perman':935 'permiss':679,700,1138 'person':303,307 'pitfal':216,331,479,585,683,864 'poll':532 'possibl':949 'posthog':2,5,25,31,41,57,65,123,137,164,171,180,227,279,294,397,410,421,530,546,553,604,646,655,721,751,1002,1011,1025,1037,1047,1059,1071,1076 'posthog-autom':1 'prefix':231,241,892,901 'prerequisit':46 'previous':977 'process':252 'product':32 'profil':16,626,659,663,695,1075,1080 'project':14,283,292,295,332,339,401,426,437,442,450,453,488,536,547,555,562,586,616,717,723,730,755,759,845,865,874,881,919,1015,1017,1029,1032,1042,1052,1053,1058,1061 'propag':928 'properti':200,206,242,373,506,785,795,810,980,1008 'purchas':192 'queri':285 'quick':993 'rate':939,958 'readabl':465 'refer':994 'requir':181,199,220,289,297,335,357,408,439,563,601,668,867,1136 'resolut':715 'resolv':336,873 'respond':115 'respons':960,962,973 'result':363,579,613,734,855,970 'retriev':411,656,1038,1077 'return':132,327,365,673 'revers':367 'review':1129 'rollout':471,508,792,796,809,816 'rube':8,28,44,47,52,60,68,79,106,112,118 'rube.app':83 'rube.app/mcp':82 'rule':469 'run':146 'safeti':1139 'schema':24,76,247 'scope':711,1110 'search':19,53,69,113,272 'second':258,527,930 'see':824 'send':160,174 'sensit':907 'sequenc':169,277,395,551,644 'server':88,214 'set':617 'setup':77,605 'show':143 'sign':190 'skill':1086,1102 'skill-posthog-automation' 'slug':997 'smaller':860 'sophist':780 'source-sickn33' 'specif':205,1124 'status':142 'stop':1130 'substitut':1120 'success':1142 'support':779 'system':228,889 't00':351 'take':524 'target':452,468,503,776,781 'task':6,995,1106 'test':1126 'throughput':944 'time':215 'timestamp':207,210,315,322 'tool':20,54,70,75,114,168,276,394,550,643,996 'toolkit':42,64,122 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'track':167 'trait':815 'treat':1115 'true':515 'typic':257 'uniqu':196,485,916 'use':156,230,239,266,343,359,384,492,539,590,631,689,740,829,838,846,891,900,920,1084,1100 'user':15,157,189,197,267,385,521,540,625,632,637,651,658,662,676,694,812,823,1074,1079 'user/device':226 'valid':1125 'valu':788 'verifi':105,640,691 'via':7,27,43,59,337 'view':389 'volum':356 'want':158,268,386,541,633 'whether':474 'whoami':647,684,1072 'within':486,526,917,929 'work':103 'workflow':148,150,1092","prices":[{"id":"743bc87d-8019-461a-8142-561c2ca2864f","listingId":"0acfbd91-ae73-44b3-8906-1965226cda80","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:42:35.603Z"}],"sources":[{"listingId":"0acfbd91-ae73-44b3-8906-1965226cda80","source":"github","sourceId":"sickn33/antigravity-awesome-skills/posthog-automation","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/posthog-automation","isPrimary":false,"firstSeenAt":"2026-04-18T21:42:35.603Z","lastSeenAt":"2026-04-23T00:51:24.569Z"}],"details":{"listingId":"0acfbd91-ae73-44b3-8906-1965226cda80","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"posthog-automation","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34616,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-22T06:40:00Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"12005dc01b3154b1a38ad227406ae8435a62ee40","skill_md_path":"skills/posthog-automation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/posthog-automation"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"posthog-automation","description":"Automate PostHog tasks via Rube MCP (Composio): events, feature flags, projects, user profiles, annotations. Always search tools first for current schemas."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/posthog-automation"},"updatedAt":"2026-04-23T00:51:24.569Z"}}