{"id":"5e052fa9-0861-462e-a334-b0f8a371c3d2","shortId":"pqrPNM","kind":"skill","title":"mixpanel-automation","tagline":"Automate Mixpanel tasks via Rube MCP (Composio): events, segmentation, funnels, cohorts, user profiles, JQL queries. Always search tools first for current schemas.","description":"# Mixpanel Automation via Rube MCP\n\nAutomate Mixpanel product analytics through Composio's Mixpanel toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Mixpanel connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `mixpanel`\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 `mixpanel`\n3. If connection is not ACTIVE, follow the returned auth link to complete Mixpanel authentication\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Aggregate Event Data\n\n**When to use**: User wants to count events, get totals, or track event trends over time\n\n**Tool sequence**:\n1. `MIXPANEL_GET_ALL_PROJECTS` - List projects to get project ID [Prerequisite]\n2. `MIXPANEL_AGGREGATE_EVENT_COUNTS` - Get event counts and aggregations [Required]\n\n**Key parameters**:\n- `event`: Event name or array of event names to aggregate\n- `from_date` / `to_date`: Date range in 'YYYY-MM-DD' format\n- `unit`: Time granularity ('minute', 'hour', 'day', 'week', 'month')\n- `type`: Aggregation type ('general', 'unique', 'average')\n- `where`: Filter expression for event properties\n\n**Pitfalls**:\n- Date format must be 'YYYY-MM-DD'; other formats cause errors\n- Event names are case-sensitive; use exact names from your Mixpanel project\n- `where` filter uses Mixpanel expression syntax (e.g., `properties[\"country\"] == \"US\"`)\n- Maximum date range may be limited depending on your Mixpanel plan\n\n### 2. Run Segmentation Queries\n\n**When to use**: User wants to break down events by properties for detailed analysis\n\n**Tool sequence**:\n1. `MIXPANEL_QUERY_SEGMENTATION` - Run segmentation analysis [Required]\n\n**Key parameters**:\n- `event`: Event name to segment\n- `from_date` / `to_date`: Date range in 'YYYY-MM-DD' format\n- `on`: Property to segment by (e.g., `properties[\"country\"]`)\n- `unit`: Time granularity\n- `type`: Count type ('general', 'unique', 'average')\n- `where`: Filter expression\n- `limit`: Maximum number of segments to return\n\n**Pitfalls**:\n- The `on` parameter uses Mixpanel property expression syntax\n- Property references must use `properties[\"prop_name\"]` format\n- Segmentation on high-cardinality properties returns capped results; use `limit`\n- Results are grouped by the segmentation property and time unit\n\n### 3. Analyze Funnels\n\n**When to use**: User wants to track conversion funnels and identify drop-off points\n\n**Tool sequence**:\n1. `MIXPANEL_LIST_FUNNELS` - List saved funnels to find funnel ID [Prerequisite]\n2. `MIXPANEL_QUERY_FUNNEL` - Execute funnel analysis [Required]\n\n**Key parameters**:\n- `funnel_id`: ID of the saved funnel to query\n- `from_date` / `to_date`: Date range\n- `unit`: Time granularity\n- `where`: Filter expression\n- `on`: Property to segment funnel by\n- `length`: Conversion window in days\n\n**Pitfalls**:\n- `funnel_id` is required; resolve via LIST_FUNNELS first\n- Funnels must be created in Mixpanel UI first; API only queries existing funnels\n- Conversion window (`length`) defaults vary; set explicitly for accuracy\n- Large date ranges with segmentation can produce very large responses\n\n### 4. Manage User Profiles\n\n**When to use**: User wants to query or update user profiles in Mixpanel\n\n**Tool sequence**:\n1. `MIXPANEL_QUERY_PROFILES` - Search and filter user profiles [Required]\n2. `MIXPANEL_PROFILE_BATCH_UPDATE` - Update multiple user profiles [Optional]\n\n**Key parameters**:\n- `where`: Filter expression for profile properties (e.g., `properties[\"plan\"] == \"premium\"`)\n- `output_properties`: Array of property names to include in results\n- `page`: Page number for pagination\n- `session_id`: Session ID for consistent pagination (from first response)\n- For batch update: array of profile updates with `$distinct_id` and property operations\n\n**Pitfalls**:\n- Profile queries return paginated results; use `session_id` from first response for consistent paging\n- `where` uses Mixpanel expression syntax for profile properties\n- BATCH_UPDATE applies operations (`$set`, `$unset`, `$add`, `$append`) to profiles\n- Batch update has a maximum number of profiles per request; chunk larger updates\n- Profile property names are case-sensitive\n\n### 5. Manage Cohorts\n\n**When to use**: User wants to list or analyze user cohorts\n\n**Tool sequence**:\n1. `MIXPANEL_COHORTS_LIST` - List all saved cohorts [Required]\n\n**Key parameters**:\n- No required parameters; returns all accessible cohorts\n- Response includes cohort `id`, `name`, `description`, `count`\n\n**Pitfalls**:\n- Cohorts are created and managed in Mixpanel UI; API provides read access\n- Cohort IDs are numeric; use exact ID from list results\n- Cohort counts may be approximate for very large cohorts\n- Cohorts can be used as filters in other queries via `where` expressions\n\n### 6. Run JQL and Insight Queries\n\n**When to use**: User wants to run custom JQL queries or insight analyses\n\n**Tool sequence**:\n1. `MIXPANEL_JQL_QUERY` - Execute a custom JQL (JavaScript Query Language) query [Optional]\n2. `MIXPANEL_QUERY_INSIGHT` - Run a saved insight query [Optional]\n\n**Key parameters**:\n- For JQL: `script` containing the JQL JavaScript code\n- For Insight: `bookmark_id` of the saved insight\n- `project_id`: Project context for the query\n\n**Pitfalls**:\n- JQL uses JavaScript-like syntax specific to Mixpanel\n- JQL queries have execution time limits; optimize for efficiency\n- Insight `bookmark_id` must reference an existing saved insight\n- JQL is a legacy feature; check Mixpanel documentation for current availability\n\n## Common Patterns\n\n### ID Resolution\n\n**Project name -> Project ID**:\n```\n1. Call MIXPANEL_GET_ALL_PROJECTS\n2. Find project by name in results\n3. Extract project id\n```\n\n**Funnel name -> Funnel ID**:\n```\n1. Call MIXPANEL_LIST_FUNNELS\n2. Find funnel by name\n3. Extract funnel_id\n```\n\n### Mixpanel Expression Syntax\n\nUsed in `where` and `on` parameters:\n- Property reference: `properties[\"property_name\"]`\n- Equality: `properties[\"country\"] == \"US\"`\n- Comparison: `properties[\"age\"] > 25`\n- Boolean: `properties[\"is_premium\"] == true`\n- Contains: `\"search_term\" in properties[\"name\"]`\n- AND/OR: `properties[\"country\"] == \"US\" and properties[\"plan\"] == \"pro\"`\n\n### Pagination\n\n- Event queries: Follow date-based pagination by adjusting date ranges\n- Profile queries: Use `page` number and `session_id` for consistent results\n- Funnel/cohort lists: Typically return complete results without pagination\n\n## Known Pitfalls\n\n**Date Formats**:\n- Always use 'YYYY-MM-DD' format\n- Date ranges are inclusive on both ends\n- Data freshness depends on Mixpanel ingestion delay (typically minutes)\n\n**Expression Syntax**:\n- Property references always use `properties[\"name\"]` format\n- String values must be quoted: `properties[\"status\"] == \"active\"`\n- Numeric values are unquoted: `properties[\"count\"] > 10`\n- Boolean values: `true` / `false` (lowercase)\n\n**Rate Limits**:\n- Mixpanel API has rate limits per project\n- Large segmentation queries may time out; reduce date range or segments\n- Use batch operations where available to minimize API calls\n\n**Response Parsing**:\n- Response data may be nested under `data` key\n- Event data is typically grouped by date and segment\n- Numeric values may be returned as strings; parse explicitly\n- Empty date ranges return empty objects, not empty arrays\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List projects | MIXPANEL_GET_ALL_PROJECTS | (none) |\n| Aggregate events | MIXPANEL_AGGREGATE_EVENT_COUNTS | event, from_date, to_date, unit |\n| Segmentation | MIXPANEL_QUERY_SEGMENTATION | event, on, from_date, to_date |\n| List funnels | MIXPANEL_LIST_FUNNELS | (none) |\n| Query funnel | MIXPANEL_QUERY_FUNNEL | funnel_id, from_date, to_date |\n| Query profiles | MIXPANEL_QUERY_PROFILES | where, output_properties, page |\n| Batch update profiles | MIXPANEL_PROFILE_BATCH_UPDATE | (profile update objects) |\n| List cohorts | MIXPANEL_COHORTS_LIST | (none) |\n| JQL query | MIXPANEL_JQL_QUERY | script |\n| Query insight | MIXPANEL_QUERY_INSIGHT | bookmark_id |\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":["mixpanel","automation","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-mixpanel-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/mixpanel-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 · 34666 github stars · SKILL.md body (8,755 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-23T06:51:34.117Z","embedding":null,"createdAt":"2026-04-18T21:40:50.211Z","updatedAt":"2026-04-23T06:51:34.117Z","lastSeenAt":"2026-04-23T06:51:34.117Z","tsv":"'/mcp':81 '1':101,148,170,304,416,531,670,760,855,876 '10':1012 '2':113,182,284,428,541,773,861,881 '25':911 '3':121,396,868,886 '4':136,512 '5':654 '6':739 'access':686,707 'accuraci':501 'action':1187 'activ':53,126,141,1005 'add':78,95,630 'adjust':940 'age':910 'aggreg':149,184,191,204,226,1098,1101 'alway':19,63,966,993 'analys':757 'analysi':301,310,434 'analyt':34 'analyz':397,665 'and/or':923 'api':91,488,704,1021,1045 'append':631 'appli':626 'applic':1181 'approxim':722 'array':199,565,591,1083 'ask':1225 'auth':130 'authent':135 'autom':3,4,27,31 'avail':52,106,846,1042 'averag':230,347 'base':937 'batch':544,589,624,634,1039,1146,1151 'bookmark':795,828,1173 'boolean':912,1013 'boundari':1233 'break':294 'call':64,114,856,877,1046 'cap':382 'cardin':379 'case':254,652 'case-sensit':253,651 'caus':248 'check':841 'chunk':644 'clarif':1227 'clear':1200 'client':88 'code':792 'cohort':14,656,667,672,677,687,690,696,708,718,726,727,1157,1159 'common':847 'comparison':908 'complet':133,958 'composio':10,36 'configur':89 'confirm':108,137 'connect':48,55,59,117,123,138 'consist':583,614,952 'contain':788,917 'context':804 'convers':406,466,493 'core':146 'count':158,186,189,343,694,719,1011,1103 'countri':271,338,906,925 'creat':483,698 'criteria':1236 'current':24,71,845 'custom':752,766 'data':151,980,1050,1055,1058 'date':206,208,209,238,274,320,322,323,448,450,451,503,936,941,964,973,1034,1063,1076,1106,1108,1117,1119,1134,1136 'date-bas':935 'day':222,469 'dd':215,245,329,971 'default':496 'delay':986 'depend':279,982 'describ':1188,1204 'descript':693 'detail':300 'distinct':596 'document':843 'drop':411 'drop-off':410 'e.g':269,336,559 'effici':826 'empti':1075,1079,1082 'end':979 'endpoint':97 'environ':1216 'environment-specif':1215 'equal':904 'error':249 'event':11,150,159,164,185,188,195,196,201,235,250,296,314,315,932,1057,1099,1102,1104,1114 'exact':257,713 'execut':432,764,821,1183 'exist':491,833 'expert':1221 'explicit':499,1074 'express':233,267,350,365,458,555,619,738,891,989 'extract':869,887 'fals':1016 'featur':840 'filter':232,264,349,457,537,554,732 'find':424,862,882 'first':22,68,479,487,586,611 'follow':127,934 'format':216,239,247,330,374,965,972,997 'fresh':981 'funnel':13,398,407,419,422,425,431,433,438,444,463,471,478,480,492,872,874,880,883,888,1121,1124,1127,1130,1131 'funnel/cohort':954 'general':228,345 'get':70,75,160,172,178,187,858,1094 'granular':219,341,455 'group':388,1061 'high':378 'high-cardin':377 'hour':221 'id':180,426,439,440,472,579,581,597,609,691,709,714,796,802,829,849,854,871,875,889,950,1132,1174 'identifi':409 'includ':570,689 'inclus':976 'ingest':985 'input':1230 'insight':743,756,776,780,794,800,827,835,1169,1172 'javascript':768,791,812 'javascript-lik':811 'jql':17,741,753,762,767,786,790,809,818,836,1162,1165 'key':92,193,312,436,551,679,783,1056,1089 'known':962 'languag':770 'larg':502,510,725,1027 'larger':645 'legaci':839 'length':465,495 'like':813 'limit':278,351,385,823,1019,1024,1192 'link':131 'list':175,418,420,477,663,673,674,716,879,955,1091,1120,1123,1156,1160 'lowercas':1017 'manag':58,116,513,655,700 'match':1201 'maximum':273,352,638 'may':276,720,1030,1051,1068 'mcp':9,30,42,45,77,84,104 'minim':1044 'minut':220,988 'miss':1238 'mixpanel':2,5,26,32,38,54,62,120,134,171,183,261,266,282,305,363,417,429,485,528,532,542,618,671,702,761,774,817,842,857,878,890,984,1020,1093,1100,1111,1122,1128,1139,1149,1158,1164,1170 'mixpanel-autom':1 'mm':214,244,328,970 'month':224 'multipl':547 'must':46,240,369,481,830,1000 'name':197,202,251,258,316,373,568,649,692,852,865,873,885,903,922,996 'need':93 'nest':1053 'none':1097,1125,1161 'number':353,575,639,947 'numer':711,1006,1066 'object':1080,1155 'oper':600,627,1040 'optim':824 'option':550,772,782 'output':563,1143,1210 'overview':1191 'page':573,574,615,946,1145 'pagin':577,584,605,931,938,961 'param':1090 'paramet':194,313,361,437,552,680,683,784,898 'pars':1048,1073 'pattern':848 'per':642,1025 'permiss':1231 'pitfal':237,358,470,601,695,808,963 'plan':283,561,929 'point':413 'premium':562,915 'prerequisit':43,181,427 'pro':930 'produc':508 'product':33 'profil':16,515,526,534,539,543,549,557,593,602,622,633,641,647,943,1138,1141,1148,1150,1153 'project':174,176,179,262,801,803,851,853,860,863,870,1026,1092,1096 'prop':372 'properti':236,270,298,332,337,364,367,371,380,392,460,558,560,564,567,599,623,648,899,901,902,905,909,913,921,924,928,991,995,1003,1010,1144 'provid':705 'queri':18,287,306,430,446,490,522,533,603,735,744,754,763,769,771,775,781,807,819,933,944,1029,1112,1126,1129,1137,1140,1163,1166,1168,1171 'quick':1084 'quot':1002 'rang':210,275,324,452,504,942,974,1035,1077 'rate':1018,1023 'read':706 'reduc':1033 'refer':368,831,900,992,1085 'request':643 'requir':192,311,435,474,540,678,682,1229 'resolut':850 'resolv':475 'respond':112 'respons':511,587,612,688,1047,1049 'result':383,386,572,606,717,867,953,959 'return':129,357,381,604,684,957,1070,1078 'review':1222 'rube':8,29,41,44,49,57,65,76,103,109,115 'rube.app':80 'rube.app/mcp':79 'run':143,285,308,740,751,777 'safeti':1232 'save':421,443,676,779,799,834 'schema':25,73 'scope':1203 'script':787,1167 'search':20,50,66,110,535,918 'segment':12,286,307,309,318,334,355,375,391,462,506,1028,1037,1065,1110,1113 'sensit':255,653 'sequenc':169,303,415,530,669,759 'server':85 'session':578,580,608,949 'set':498,628 'setup':74 'show':140 'skill':1179,1195 'skill-mixpanel-automation' 'slug':1088 'source-sickn33' 'specif':815,1217 'status':139,1004 'stop':1223 'string':998,1072 'substitut':1213 'success':1235 'syntax':268,366,620,814,892,990 'task':6,1086,1199 'term':919 'test':1219 'time':167,218,340,394,454,822,1031 'tool':21,51,67,72,111,168,302,414,529,668,758,1087 'toolkit':39,61,119 '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' 'total':161 'track':163,405 'treat':1208 'trend':165 'true':916,1015 'type':225,227,342,344 'typic':956,987,1060 'ui':486,703 'uniqu':229,346 'unit':217,339,395,453,1109 'unquot':1009 'unset':629 'updat':524,545,546,590,594,625,635,646,1147,1152,1154 'us':272,907,926 'use':154,256,265,290,362,370,384,401,518,607,617,659,712,730,747,810,893,945,967,994,1038,1177,1193 'user':15,155,291,402,514,519,525,538,548,660,666,748 'valid':1218 'valu':999,1007,1014,1067 'vari':497 'verifi':102 'via':7,28,40,56,476,736 'want':156,292,403,520,661,749 'week':223 'window':467,494 'without':960 'work':100 'workflow':145,147,1185 'yyyi':213,243,327,969 'yyyy-mm-dd':212,242,326,968","prices":[{"id":"cfd9d05e-85fd-48f7-a654-d4981cf5072b","listingId":"5e052fa9-0861-462e-a334-b0f8a371c3d2","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:40:50.211Z"}],"sources":[{"listingId":"5e052fa9-0861-462e-a334-b0f8a371c3d2","source":"github","sourceId":"sickn33/antigravity-awesome-skills/mixpanel-automation","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/mixpanel-automation","isPrimary":false,"firstSeenAt":"2026-04-18T21:40:50.211Z","lastSeenAt":"2026-04-23T06:51:34.117Z"}],"details":{"listingId":"5e052fa9-0861-462e-a334-b0f8a371c3d2","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"mixpanel-automation","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34666,"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-23T06:41:03Z","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":"6da32575d3e7cb45d9b463e455addb87c08e7cf2","skill_md_path":"skills/mixpanel-automation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/mixpanel-automation"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"mixpanel-automation","description":"Automate Mixpanel tasks via Rube MCP (Composio): events, segmentation, funnels, cohorts, user profiles, JQL queries. Always search tools first for current schemas."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/mixpanel-automation"},"updatedAt":"2026-04-23T06:51:34.117Z"}}