Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate Segment tasks via Rube MCP (Composio): track events, identify users, manage groups, page views, aliases, batch operations. Always search tools first for current schemas.
.claude/skills/davepoon-segment-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-12 | ✗→✓ | ▲ Improved | 106% | 0% |
| case-03 | ✓→✗ | ▼ Worse | 101% | 0% |
| case-21 | ✓→✓ | = Same ✓ | 68% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 60% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 58% | 0% |
Automate Segment customer data platform operations through Composio's Segment toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/segment
RUBE_MANAGE_CONNECTIONS with toolkit segmentRUBE_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 segmentWhen to use: User wants to send event data to Segment for downstream destinations
Tool sequence:
SEGMENT_TRACK - Send a single track event Required]Key parameters:
userId: User identifier (required if no anonymousId)anonymousId: Anonymous identifier (required if no userId)event: Event name (e.g., 'Order Completed', 'Button Clicked')properties: Object with event-specific propertiestimestamp: ISO 8601 timestamp (optional; defaults to server time)context: Object with contextual metadata (IP, user agent, etc.)Pitfalls:
userId or anonymousId is requiredevent name is required and should follow consistent naming conventionsWhen to use: User wants to associate traits with a user profile in Segment
Tool sequence:
SEGMENT_IDENTIFY - Set user traits and identity Required]Key parameters:
userId: User identifier (required if no anonymousId)anonymousId: Anonymous identifiertraits: Object with user properties (email, name, plan, etc.)timestamp: ISO 8601 timestampcontext: Contextual metadataPitfalls:
userId or anonymousId is requirednullWhen to use: User wants to send multiple events, identifies, or other calls in a single request
Tool sequence:
SEGMENT_BATCH - Send multiple Segment calls in one request Required]Key parameters:
batch: Array of message objects, each with:type: Message type ('track', 'identify', 'group', 'page', 'alias')userId / anonymousId: User identifierPitfalls:
type fieldWhen to use: User wants to associate a user with a company, team, or organization
Tool sequence:
SEGMENT_GROUP - Associate user with a group Required]Key parameters:
userId: User identifier (required if no anonymousId)anonymousId: Anonymous identifiergroupId: Group/organization identifier (required)traits: Object with group properties (name, industry, size, plan)timestamp: ISO 8601 timestampPitfalls:
groupId is required; it identifies the company or organizationWhen to use: User wants to record page view events in Segment
Tool sequence:
SEGMENT_PAGE - Send a page view event Required]Key parameters:
userId: User identifier (required if no anonymousId)anonymousId: Anonymous identifiername: Page name (e.g., 'Home', 'Pricing', 'Dashboard')category: Page category (e.g., 'Docs', 'Marketing')properties: Object with page-specific properties (url, title, referrer)Pitfalls:
userId or anonymousId is requiredname and category are optional but recommended for proper analyticsurl, title, referrer, path, searchWhen to use: User wants to merge anonymous and identified users, or manage source configuration
Tool sequence:
SEGMENT_ALIAS - Link two user identities together Optional]SEGMENT_LIST_SCHEMA_SETTINGS_IN_SOURCE - View source schema settings Optional]SEGMENT_UPDATE_SOURCE - Update source configuration Optional]Key parameters:
userId: New user identifier (the identified ID)previousId: Old user identifier (the anonymous ID)sourceId: Source identifierPitfalls:
previousId is the anonymous/old ID, userId is the new/identified IDStandard Segment user lifecycle:
1. Anonymous user visits -> PAGE call with anonymousId
2. User interacts -> TRACK call with anonymousId
3. User signs up -> ALIAS (anonymousId -> userId), then IDENTIFY with traits
4. User takes action -> TRACK call with userId
5. User joins org -> GROUP call linking userId to groupIdFor bulk data ingestion:
1. Collect events in memory (array of message objects)
2. Each message includes type, userId/anonymousId, and type-specific fields
3. Call SEGMENT_BATCH with the collected messages
4. Check response for any individual message errorsSegment recommends consistent event naming:
Identity Resolution:
userId or anonymousId on every callData Quality:
Rate Limits:
Response Parsing:
data keyTimestamps:
| Task | Tool Slug | Key Params | |------|-----------|------------| | Track event | SEGMENT_TRACK | userId, event, properties | | Identify user | SEGMENT_IDENTIFY | userId, traits | | Batch calls | SEGMENT_BATCH | batch (array of messages) | | Group user | SEGMENT_GROUP | userId, groupId, traits | | Page view | SEGMENT_PAGE | userId, name, properties | | Alias identity | SEGMENT_ALIAS | userId, previousId | | Source schema | SEGMENT_LIST_SCHEMA_SETTINGS_IN_SOURCE | sourceId | | Update source | SEGMENT_UPDATE_SOURCE | sourceId | | Warehouses | SEGMENT_LIST_CONNECTED_WAREHOUSES_FROM_SOURCE | sourceId |
Powered by Composio
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-21 | pass→pass | 10,235 | 6,455 | -37% | 1 | 1 | 0% | 1,997 | 3,364 | +68% | 0 | 0 | — |
case-01 | fail→fail | 7,597 | 5,379 | -29% | 1 | 1 | 0% | 1,237 | 2,383 | +93% | 0 | 0 | — |
case-11 | fail→fail | 5,042 | 4,615 | -8% | 1 | 1 | 0% | 1,078 | 2,394 | +122% | 0 | 0 | — |
case-02 | fail→fail | 8,776 | 4,868 | -45% | 1 | 1 | 0% | 1,523 | 2,436 | +60% | 0 | 0 | — |
case-03 | pass→fail | 5,113 | 4,575 | -11% | 1 | 1 | 0% | 1,199 | 2,411 | +101% | 0 | 0 | — |
case-04 | pass→pass | 12,189 | 8,303 | -32% | 1 | 1 | 0% | 2,359 | 3,766 | +60% | 0 | 0 | — |
case-05 | pass→pass | 13,653 | 9,533 | -30% | 1 | 1 | 0% | 2,462 | 3,884 | +58% | 0 | 0 | — |
case-06 | pass→pass | 7,742 | 5,602 | -28% | 1 | 1 | 0% | 1,248 | 3,134 | +151% | 0 | 0 | — |
case-07 | fail→fail | 3,306 | 4,855 | +47% | 1 | 1 | 0% | 667 | 2,413 | +262% | 0 | 0 | — |
case-08 | pass→pass | 4,629 | 2,699 | -42% | 1 | 1 | 0% | 913 | 2,588 | +183% | 0 | 0 | — |
case-09 | fail→fail | 10,477 | 5,095 | -51% | 1 | 1 | 0% | 1,782 | 2,426 | +36% | 0 | 0 | — |
case-10 | fail→fail | 5,736 | 2,431 | -58% | 1 | 1 | 0% | 935 | 2,526 | +170% | 0 | 0 | — |
case-20 | pass→pass | 5,097 | 6,451 | +27% | 1 | 1 | 0% | 1,045 | 3,203 | +207% | 0 | 0 | — |
case-12 | fail→pass | 6,421 | 1,936 | -70% | 1 | 1 | 0% | 1,194 | 2,463 | +106% | 0 | 0 | — |
case-13 | fail→fail | 5,852 | 4,880 | -17% | 1 | 1 | 0% | 1,025 | 2,391 | +133% | 0 | 0 | — |
case-14 | pass→pass | 10,152 | 3,191 | -69% | 1 | 1 | 0% | 1,674 | 2,763 | +65% | 0 | 0 | — |
case-15 | pass→pass | 9,959 | 2,798 | -72% | 1 | 1 | 0% | 1,635 | 2,653 | +62% | 0 | 0 | — |
case-16 | fail→fail | 5,880 | 2,276 | -61% | 1 | 1 | 0% | 940 | 2,456 | +161% | 0 | 0 | — |
case-17 | pass→pass | 9,581 | 7,018 | -27% | 1 | 1 | 0% | 1,628 | 3,175 | +95% | 0 | 0 | — |
case-18 | pass→pass | 12,962 | 3,306 | -74% | 1 | 1 | 0% | 2,126 | 2,719 | +28% | 0 | 0 | — |
case-19 | pass→pass | 7,747 | 3,711 | -52% | 1 | 1 | 0% | 1,302 | 2,733 | +110% | 0 | 0 | — |
case-22 | pass→pass | 9,880 | 8,323 | -16% | 1 | 1 | 0% | 1,722 | 3,677 | +114% | 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. 22 cases were attempted, and 15 counted toward the lift figure. The other 7 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 0 percentage points is the difference between those two pass rates over the 15 comparable cases. 4 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.