skills/amplitude-automation/SKILL.md
Automate Amplitude tasks via Rube MCP (Composio): events, user activity, cohorts, user identification. Always search tools first for current schemas.
npx skillsauth add williamlimasilva/.copilot amplitude-automationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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_ACTIVITY
Cohort name -> Cohort ID:
1. Call AMPLITUDE_LIST_COHORTS
2. Find cohort by name in results
3. Extract id for cohort operations
Amplitude 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:
{
"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) |
tools
Create a new workshop or use an existing directory as one. Handles two paths: (A) use an existing local directory the operator points at, or (B) create a new private GitHub repo in the signed-in account. Never creates a repo inside another repo.
development
Guide for setting up vcpkg in C++ projects, managing dependency versions, and cross-compiling. Covers manifest initialization, CMake and Visual Studio integration, classic-to-manifest migration, version pinning, baselines, overrides, triplets, and cross-compilation. Use when a user is working with vcpkg project setup, installation, version management, or cross-platform builds. For specialized tasks, additional references cover custom registries and overlay ports (references/registries.md), CI/CD and binary caching (references/ci.md), and troubleshooting and dependency lifecycle (references/troubleshooting.md).
testing
Emit structured agent signals — hands-up, blocked, done, checkpoint, partnership. Signals are written as JSON to .signals/ for dashboard consumption and noted in the journal for persistence.
development
Install and configure Markstream streaming Markdown renderers for Vue, React, Svelte, Angular, Nuxt, and Vue 2 applications. Use for package selection, minimal peer dependencies, CSS order, SSR boundaries, streaming mode, and renderer setup.