Search

PythonReactSEOPDF
OpenClaw

strava

Load and analyze Strava activities, stats, and workouts using the Strava API

bohdanpodvirnyi0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install bohdanpodvirnyi/strava

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

Strava Skill

Interact with Strava to load activities, analyze workouts, and track fitness data.

Setup

1. Create a Strava API Application
  1. Go to https://www.strava.com/settings/api
  2. Create an app (use http://localhost as callback for testing)
  3. Note your Client ID and Client Secret
2. Get Initial OAuth Tokens

Visit this URL in your browser (replace CLIENT_ID):

https://www.strava.com/oauth/authorize?client_id=CLIENT_ID&response_type=code&redirect_uri=http://localhost&approval_prompt=force&scope=activity:read_all

After authorizing, you'll be redirected to http://localhost/?code=AUTHORIZATION_CODE

Exchange the code for tokens:

curl -X POST https://www.strava.com/oauth/token \
  -d client_id=YOUR_CLIENT_ID \
  -d client_secret=YOUR_CLIENT_SECRET \
  -d code=AUTHORIZATION_CODE \
  -d grant_type=authorization_code

This returns access_token and refresh_token.

3. Configure Credentials

Add to ~/.clawdbot/clawdbot.json:

{
  "skills": {
    "entries": {
      "strava": {
        "enabled": true,
        "env": {
          "STRAVA_ACCESS_TOKEN": "your-access-token",
          "STRAVA_REFRESH_TOKEN": "your-refresh-token",
          "STRAVA_CLIENT_ID": "your-client-id",
          "STRAVA_CLIENT_SECRET": "your-client-secret"
        }
      }
    }
  }
}

Or use environment variables:

export STRAVA_ACCESS_TOKEN="your-access-token"
export STRAVA_REFRESH_TOKEN="your-refresh-token"
export STRAVA_CLIENT_ID="your-client-id"
export STRAVA_CLIENT_SECRET="your-client-secret"

Usage

List Recent Activities

Get the last 30 activities:

curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/athlete/activities?per_page=30"

Get the last 10 activities:

curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/athlete/activities?per_page=10"
Filter Activities by Date

Get activities after a spec...

Source information

Source
github
Repository
openclaw/skills
Path
skills/bohdanpodvirnyi/strava
Version
—
Commit
624e6f09af80a064e008a6ca1f732a9ccce4c8c0
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

README

Strava Skill for Clawdbot

🏃 Load and analyze your Strava activities, stats, and workouts using the Strava API.

Features

  • ✅ List recent activities with pagination
  • ✅ Filter activities by date ranges
  • ✅ Get detailed activity stats (distance, pace, heart rate, elevation)
  • ✅ Access athlete profile and cumulative statistics
  • ✅ Auto token refresh helper script
  • ✅ Rate limit aware (200/15min, 2000/day)
  • ✅ Works with curl only (no additional dependencies)

Quick Start

1. Create Strava API Application

Visit https://www.strava.com/settings/api and create an app.

2. Get OAuth Tokens

Follow the setup instructions in SKILL.md to obtain your access token and refresh token.

3. Configure

Add to ~/.clawdbot/clawdbot.json:

{
  "skills": {
    "entries": {
      "strava": {
        "enabled": true,
        "env": {
          "STRAVA_ACCESS_TOKEN": "your-access-token",
          "STRAVA_REFRESH_TOKEN": "your-refresh-token",
          "STRAVA_CLIENT_ID": "your-client-id",
          "STRAVA_CLIENT_SECRET": "your-client-secret"
        }
      }
    }
  }
}

Usage Examples

Ask your agent:

  • "Show me my last 10 Strava activities"
  • "What activities did I do last week?"
  • "Get details for my most recent run"
  • "What's my total distance this month?"
  • "Show my Strava profile and stats"

What You Can Do

  • List Activities: Recent workouts with customizable page size
  • Filter by Date: Query specific date ranges using Unix timestamps
  • Activity Details: Full metrics including pace, heart rate, elevation
  • Athlete Stats: Profile info and cumulative statistics
  • Token Management: Auto-refresh expired tokens (expire every 6 hours)

API Coverage

  • GET /athlete/activities - List activities
  • GET /activities/{id} - Activity details
  • GET /athlete - Athlete profile
  • GET /athletes/{id}/stats - Athlete statistics
  • POST /oauth/token - Token refresh

Documentation

See [SKILL.md](./SK...

Extracted content

SKILL.md
# Strava Skill

Interact with Strava to load activities, analyze workouts, and track fitness data.

## Setup

### 1. Create a Strava API Application

1. Go to https://www.strava.com/settings/api
2. Create an app (use `http://localhost` as callback for testing)
3. Note your **Client ID** and **Client Secret**

### 2. Get Initial OAuth Tokens

Visit this URL in your browser (replace CLIENT_ID):
```
https://www.strava.com/oauth/authorize?client_id=CLIENT_ID&response_type=code&redirect_uri=http://localhost&approval_prompt=force&scope=activity:read_all
```

After authorizing, you'll be redirected to `http://localhost/?code=AUTHORIZATION_CODE`

Exchange the code for tokens:
```bash
curl -X POST https://www.strava.com/oauth/token \
  -d client_id=YOUR_CLIENT_ID \
  -d client_secret=YOUR_CLIENT_SECRET \
  -d code=AUTHORIZATION_CODE \
  -d grant_type=authorization_code
```

This returns `access_token` and `refresh_token`.

### 3. Configure Credentials

Add to `~/.clawdbot/clawdbot.json`:
```json
{
  "skills": {
    "entries": {
      "strava": {
        "enabled": true,
        "env": {
          "STRAVA_ACCESS_TOKEN": "your-access-token",
          "STRAVA_REFRESH_TOKEN": "your-refresh-token",
          "STRAVA_CLIENT_ID": "your-client-id",
          "STRAVA_CLIENT_SECRET": "your-client-secret"
        }
      }
    }
  }
}
```

Or use environment variables:
```bash
export STRAVA_ACCESS_TOKEN="your-access-token"
export STRAVA_REFRESH_TOKEN="your-refresh-token"
export STRAVA_CLIENT_ID="your-client-id"
export STRAVA_CLIENT_SECRET="your-client-secret"
```

## Usage

### List Recent Activities

Get the last 30 activities:
```bash
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/athlete/activities?per_page=30"
```

Get the last 10 activities:
```bash
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/athlete/activities?per_page=10"
```

### Filter Activities by Date

Get activities after a spec...
README
# Strava Skill for Clawdbot

🏃 **Load and analyze your Strava activities, stats, and workouts** using the Strava API.

## Features

- ✅ List recent activities with pagination
- ✅ Filter activities by date ranges
- ✅ Get detailed activity stats (distance, pace, heart rate, elevation)
- ✅ Access athlete profile and cumulative statistics
- ✅ Auto token refresh helper script
- ✅ Rate limit aware (200/15min, 2000/day)
- ✅ Works with curl only (no additional dependencies)

## Quick Start

### 1. Create Strava API Application

Visit https://www.strava.com/settings/api and create an app.

### 2. Get OAuth Tokens

Follow the setup instructions in [SKILL.md](./SKILL.md) to obtain your access token and refresh token.

### 3. Configure

Add to `~/.clawdbot/clawdbot.json`:

```json
{
  "skills": {
    "entries": {
      "strava": {
        "enabled": true,
        "env": {
          "STRAVA_ACCESS_TOKEN": "your-access-token",
          "STRAVA_REFRESH_TOKEN": "your-refresh-token",
          "STRAVA_CLIENT_ID": "your-client-id",
          "STRAVA_CLIENT_SECRET": "your-client-secret"
        }
      }
    }
  }
}
```

## Usage Examples

Ask your agent:
- "Show me my last 10 Strava activities"
- "What activities did I do last week?"
- "Get details for my most recent run"
- "What's my total distance this month?"
- "Show my Strava profile and stats"

## What You Can Do

- **List Activities**: Recent workouts with customizable page size
- **Filter by Date**: Query specific date ranges using Unix timestamps
- **Activity Details**: Full metrics including pace, heart rate, elevation
- **Athlete Stats**: Profile info and cumulative statistics
- **Token Management**: Auto-refresh expired tokens (expire every 6 hours)

## API Coverage

- `GET /athlete/activities` - List activities
- `GET /activities/{id}` - Activity details
- `GET /athlete` - Athlete profile
- `GET /athletes/{id}/stats` - Athlete statistics
- `POST /oauth/token` - Token refresh

## Documentation

See [SKILL.md](./SK...

Related skills

OpenClaw

x402hub

capncoconut

Register, communicate, and earn on the x402hub AI agent marketplace. Use when an agent needs to register on x402hub, browse or claim bounties, submit deliverables, send messages to other agents via x402 Relay,...

OpenClaw

claw

capevace

Real-time event bus for AI agents. Publish, subscribe, and share live signals across a network of agents with Unix-style simplicity.

OpenClaw

captchas-openclaw

captchasco

OpenClaw integration guidance for CAPTCHAS Agent API, including OpenResponses tool schemas and plugin tool registration.