home / skills / composiohq / awesome-claude-skills / strava-automation

strava-automation skill

/strava-automation

This skill automates Strava operations via Composio's Rube MCP, discovering tool schemas first to ensure up-to-date, schema-compliant task execution.

npx playbooks add skill composiohq/awesome-claude-skills --skill strava-automation

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.8 KB
---
name: strava-automation
description: "Automate Strava tasks via Rube MCP (Composio). Always search tools first for current schemas."
requires:
  mcp: [rube]
---

# Strava Automation via Rube MCP

Automate Strava operations through Composio's Strava toolkit via Rube MCP.

**Toolkit docs**: [composio.dev/toolkits/strava](https://composio.dev/toolkits/strava)

## Prerequisites

- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Strava connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `strava`
- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas

## Setup

**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.

1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `strava`
3. If connection is not ACTIVE, follow the returned auth link to complete setup
4. Confirm connection status shows ACTIVE before running any workflows

## Tool Discovery

Always discover available tools before executing workflows:

```
RUBE_SEARCH_TOOLS
queries: [{use_case: "Strava operations", known_fields: ""}]
session: {generate_id: true}
```

This returns available tool slugs, input schemas, recommended execution plans, and known pitfalls.

## Core Workflow Pattern

### Step 1: Discover Available Tools

```
RUBE_SEARCH_TOOLS
queries: [{use_case: "your specific Strava task"}]
session: {id: "existing_session_id"}
```

### Step 2: Check Connection

```
RUBE_MANAGE_CONNECTIONS
toolkits: ["strava"]
session_id: "your_session_id"
```

### Step 3: Execute Tools

```
RUBE_MULTI_EXECUTE_TOOL
tools: [{
  tool_slug: "TOOL_SLUG_FROM_SEARCH",
  arguments: {/* schema-compliant args from search results */}
}]
memory: {}
session_id: "your_session_id"
```

## Known Pitfalls

- **Always search first**: Tool schemas change. Never hardcode tool slugs or arguments without calling `RUBE_SEARCH_TOOLS`
- **Check connection**: Verify `RUBE_MANAGE_CONNECTIONS` shows ACTIVE status before executing tools
- **Schema compliance**: Use exact field names and types from the search results
- **Memory parameter**: Always include `memory` in `RUBE_MULTI_EXECUTE_TOOL` calls, even if empty (`{}`)
- **Session reuse**: Reuse session IDs within a workflow. Generate new ones for new workflows
- **Pagination**: Check responses for pagination tokens and continue fetching until complete

## Quick Reference

| Operation | Approach |
|-----------|----------|
| Find tools | `RUBE_SEARCH_TOOLS` with Strava-specific use case |
| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `strava` |
| Execute | `RUBE_MULTI_EXECUTE_TOOL` with discovered tool slugs |
| Bulk ops | `RUBE_REMOTE_WORKBENCH` with `run_composio_tool()` |
| Full schema | `RUBE_GET_TOOL_SCHEMAS` for tools with `schemaRef` |

---
*Powered by [Composio](https://composio.dev)*

Overview

This skill automates Strava tasks by orchestrating Composio’s Strava toolkit through a Rube MCP connection. It guides tool discovery, connection management, and safe execution patterns so you can run uploads, queries, and bulk operations reliably. The skill emphasizes always searching tools first and validating connection status before executing workflows.

How this skill works

The skill uses RUBE_SEARCH_TOOLS to discover available Strava tool slugs and exact input schemas, then verifies an active Strava connection with RUBE_MANAGE_CONNECTIONS. Once tools and connection are confirmed, it runs one or more composio tools via RUBE_MULTI_EXECUTE_TOOL or bulk jobs using RUBE_REMOTE_WORKBENCH, always including memory and a session id. It recommends repeating discovery for each workflow because tool schemas may change.

When to use it

  • Automating routine Strava tasks like uploading activities, fetching activity lists, or updating athlete data.
  • Running bulk operations or scheduled workflows against Strava via Composio toolkits.
  • Building multi-step agent workflows that depend on current tool schemas and active connections.
  • Integrating Strava actions into larger automation pipelines where schema compliance matters.
  • Debugging or updating integrations after toolkit or API changes.

Best practices

  • Always call RUBE_SEARCH_TOOLS at the start to retrieve current tool slugs and input schemas — do not hardcode fields.
  • Verify RUBE_MANAGE_CONNECTIONS shows an ACTIVE Strava connection before any execute call.
  • Include a memory object (even {}) in RUBE_MULTI_EXECUTE_TOOL calls and reuse session_id across workflow steps.
  • Handle pagination tokens and follow continuation links until full result sets are retrieved.
  • Generate a new session_id for distinct workflows; reuse for steps within the same run to maintain context.

Example use cases

  • Discover the latest Strava endpoints, then upload a batch of GPX activities using RUBE_MULTI_EXECUTE_TOOL.
  • Fetch all recent activities for an athlete, handling pagination, then summarize weekly totals.
  • Create a scheduled job that uses RUBE_REMOTE_WORKBENCH to run repeated composio tool calls for bulk edits.
  • Validate and refresh Strava connections via RUBE_MANAGE_CONNECTIONS before running any downstream automation.

FAQ

Do I need API keys to use Rube MCP with Composio?

No API keys are required for the MCP endpoint; add https://rube.app/mcp to your client configuration and use the provided Rube MCP actions.

What if a tool schema changes during a workflow?

Always re-run RUBE_SEARCH_TOOLS to get the current schema. If a schema changes mid-workflow, generate a new session_id and adapt arguments to the updated schema.