Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate Amplitude tasks via Rube MCP (Composio): events, user activity, cohorts, user identification. Always search tools first for current schemas.
.claude/skills/amplitude-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-19 | ✗→✓ | ▲ Improved | — | — |
| case-18 | ✗→✓ | ▲ Improved | — | — |
| case-10 | ✗→✓ | ▲ Improved | — | — |
| case-12 | ✗→✓ | ▲ Improved | — | — |
| case-07 | ✗→✓ | ▲ Improved | — | — |
Automate Amplitude product analytics through Composio's Amplitude toolkit via Rube MCP.
RUBE_MANAGE_CONNECTIONS with toolkit amplitudeRUBE_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 amplitudeWhen to use: User wants to track events or send event data to Amplitude
Tool sequence:
AMPLITUDE_SEND_EVENTS - Send one or more events to Amplitude Required]Key parameters:
events: Array of event objects, each containing:event_type: Name of the event (e.g., 'page_view', 'purchase')user_id: Unique user identifier (required if no device_id)device_id: Device identifier (required if no user_id)event_properties: Object with custom event propertiesuser_properties: Object with user properties to settime: Event timestamp in milliseconds since epochPitfalls:
user_id or device_id is required per eventevent_type is required for every event; cannot be emptytime must be in milliseconds (13-digit epoch), not secondsWhen to use: User wants to view event history for a specific user
Tool sequence:
AMPLITUDE_FIND_USER - Find user by ID or property Prerequisite]AMPLITUDE_GET_USER_ACTIVITY - Retrieve user's event stream Required]Key parameters:
user: Amplitude internal user ID (from FIND_USER)offset: Pagination offset for event listlimit: Maximum number of events to returnPitfalls:
user parameter requires Amplitude's internal user ID, NOT your application's user_idoffsetWhen to use: User wants to look up users or set user properties
Tool sequence:
AMPLITUDE_FIND_USER - Search for a user by various identifiers Required]AMPLITUDE_IDENTIFY - Set or update user properties Optional]Key parameters:
user: Search term (user_id, email, or Amplitude ID)user_id: Your application's user identifierdevice_id: Device identifier (alternative to user_id)user_properties: Object with $set, $unset, $add, $append operationsPitfalls:
$set, $unset, $add, $append)$set overwrites existing values; $setOnce only sets if not already setuser_id or device_id is required for IDENTIFYWhen to use: User wants to list cohorts, view cohort details, or update cohort membership
Tool sequence:
AMPLITUDE_LIST_COHORTS - List all saved cohorts Required]AMPLITUDE_GET_COHORT - Get detailed cohort information Optional]AMPLITUDE_UPDATE_COHORT_MEMBERSHIP - Add/remove users from a cohort Optional]AMPLITUDE_CHECK_COHORT_STATUS - Check async cohort operation status Optional]Key parameters:
cohort_id (from list results)cohort_id: Target cohort IDmemberships: Object with add and/or remove arrays of user IDsrequest_id from update responsePitfalls:
request_id from the update response is needed for status checkingWhen to use: User wants to discover available event types and categories in Amplitude
Tool sequence:
AMPLITUDE_GET_EVENT_CATEGORIES - List all event categories Required]Key parameters:
Pitfalls:
Application user_id -> Amplitude internal ID:
1. Call AMPLITUDE_FIND_USER with user=your_user_id
2. Extract Amplitude's internal user ID from response
3. Use internal ID for GET_USER_ACTIVITYCohort name -> Cohort ID:
1. Call AMPLITUDE_LIST_COHORTS
2. Find cohort by name in results
3. Extract id for cohort operationsAmplitude IDENTIFY supports these property operations:
$set: Set property value (overwrites existing)$setOnce: Set only if property not already set$add: Increment numeric property$append: Append to list property$unset: Remove property entirelyExample structure:
json{ "user_properties": { "$set": {"plan": "premium", "company": "Acme"}, "$add": {"login_count": 1} } }
For cohort membership updates:
1. Call AMPLITUDE_UPDATE_COHORT_MEMBERSHIP -> get request_id
2. Call AMPLITUDE_CHECK_COHORT_STATUS with request_id
3. Repeat step 2 until status is 'complete' or 'error'User IDs:
Event Timestamps:
Rate Limits:
Response Parsing:
data key| Task | Tool Slug | Key Params | |------|-----------|------------| | Send events | AMPLITUDE_SEND_EVENTS | events (array) | | Find user | AMPLITUDE_FIND_USER | user | | Get user activity | AMPLITUDE_GET_USER_ACTIVITY | user, offset, limit | | Identify user | AMPLITUDE_IDENTIFY | user_id, user_properties | | List cohorts | AMPLITUDE_LIST_COHORTS | (none) | | Get cohort | AMPLITUDE_GET_COHORT | cohort_id | | Update cohort members | AMPLITUDE_UPDATE_COHORT_MEMBERSHIP | cohort_id, memberships | | Check cohort status | AMPLITUDE_CHECK_COHORT_STATUS | request_id | | List event categories | AMPLITUDE_GET_EVENT_CATEGORIES | (none) |
This skill is applicable to execute the workflow or actions described in the overview.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
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 18 counted toward the lift figure. The other 4 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 +27 percentage points is the difference between those two pass rates over the 18 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.