Search

PythonReactSEOPDF
OpenClaw

strava-cli

Interact with Strava via the strava-client-cli Python tool. Use for viewing activities, athlete profiles, stats, and exporting data. Covers setup (creating a Strava account, API app, and OAuth) and all CLI commands.

geodeterra0 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 geodeterra/strava-cli

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 CLI

Install

uvx --from strava-client-cli strava --help
# Or install persistently:
uv tool install strava-client-cli

Setup

1. Create a Strava Account (if needed)

Sign up at https://www.strava.com/register. Only name, email, and password required.

2. Create a Strava API Application
  1. Go to https://www.strava.com/settings/api
  2. Fill in:
    • Application Name: any descriptive name
    • Category: pick closest match (e.g. "Other")
    • Website: any URL (e.g. your GitHub)
    • Authorization Callback Domain: localhost
    • Description: brief description
  3. Check the API Agreement checkbox
  4. Click Create
  5. Note your Client ID and Client Secret

Important: New Strava API apps allow only 1 connected athlete. To connect a different athlete, revoke the current one at Settings → My Apps → Revoke Access.

3. Authenticate
strava auth

Enter Client ID and Client Secret when prompted. Open the displayed URL in a browser, authorize, then copy the code parameter from the redirect URL (http://localhost/?code=XXXXX) and paste it back.

Tokens auto-refresh (every 6 hours). Config: ~/.config/strava-cli/config.json, tokens: ~/.config/strava-cli/tokens.json.

Manual Token Exchange (headless/automated)

If no browser is available, do the OAuth flow manually:

  1. Build the auth URL:
    https://www.strava.com/oauth/authorize?client_id=CLIENT_ID&response_type=code&redirect_uri=http://localhost&approval_prompt=force&scope=activity:read_all,profile:read_all
    
  2. Open in any browser, authorize, grab the code from the redirect URL
  3. Exchange:
    curl -s -X POST https://www.strava.com/oauth/token \
      -d client_id=CLIENT_ID \
      -d client_secret=CLIENT_SECRET \
      -d code=CODE \
      -d grant_type=authorization_code
    
  4. Save the response tokens to ~/.config/strava-cli/tokens.json:
    {
      "access_token": "...",
      "refresh_token...
    

Source information

Source
github
Repository
openclaw/skills
Path
skills/geodeterra/strava-cli
Version
—
Commit
49eac52da0533f20eb817722f7220aeb3141c1a5
Classification source
rules
Status
active
Visibility
public

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

Extracted content

SKILL.md
# Strava CLI

## Install

```bash
uvx --from strava-client-cli strava --help
# Or install persistently:
uv tool install strava-client-cli
```

## Setup

### 1. Create a Strava Account (if needed)

Sign up at https://www.strava.com/register. Only name, email, and password required.

### 2. Create a Strava API Application

1. Go to https://www.strava.com/settings/api
2. Fill in:
   - **Application Name**: any descriptive name
   - **Category**: pick closest match (e.g. "Other")
   - **Website**: any URL (e.g. your GitHub)
   - **Authorization Callback Domain**: `localhost`
   - **Description**: brief description
3. Check the API Agreement checkbox
4. Click **Create**
5. Note your **Client ID** and **Client Secret**

> **Important**: New Strava API apps allow only **1 connected athlete**. To connect a different athlete, revoke the current one at Settings → My Apps → Revoke Access.

### 3. Authenticate

```bash
strava auth
```

Enter Client ID and Client Secret when prompted. Open the displayed URL in a browser, authorize, then copy the `code` parameter from the redirect URL (`http://localhost/?code=XXXXX`) and paste it back.

Tokens auto-refresh (every 6 hours). Config: `~/.config/strava-cli/config.json`, tokens: `~/.config/strava-cli/tokens.json`.

#### Manual Token Exchange (headless/automated)

If no browser is available, do the OAuth flow manually:

1. Build the auth URL:
   ```
   https://www.strava.com/oauth/authorize?client_id=CLIENT_ID&response_type=code&redirect_uri=http://localhost&approval_prompt=force&scope=activity:read_all,profile:read_all
   ```
2. Open in any browser, authorize, grab the `code` from the redirect URL
3. Exchange:
   ```bash
   curl -s -X POST https://www.strava.com/oauth/token \
     -d client_id=CLIENT_ID \
     -d client_secret=CLIENT_SECRET \
     -d code=CODE \
     -d grant_type=authorization_code
   ```
4. Save the response tokens to `~/.config/strava-cli/tokens.json`:
   ```json
   {
     "access_token": "...",
     "refresh_token...

Related skills

OpenClaw

bambu-studio-ai

heyixuan2

Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...

OpenClaw

geo-optimization

capt-marbles

Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...

OpenClaw

0protocol

0isone

Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.

OpenClaw

0x0-messenger

eijiac24

Send and receive P2P messages using disposable numbers and PINs. No servers, no accounts. Use for human notifications, approval flows, and agent-to-agent communication.