Task Router Skill
Task Router
Load and analyze Strava activities, stats, and workouts using the Strava API
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/stravaInspect 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.
Interact with Strava to load activities, analyze workouts, and track fitness data.
http://localhost as callback for testing)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.
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"
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"
Get activities after a spec...
These signals come from indexed source analysis and may lag behind changes. Check the current source files.
🏃 Load and analyze your Strava activities, stats, and workouts using the Strava API.
Visit https://www.strava.com/settings/api and create an app.
Follow the setup instructions in SKILL.md to obtain your access token and refresh token.
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"
}
}
}
}
}
Ask your agent:
GET /athlete/activities - List activitiesGET /activities/{id} - Activity detailsGET /athlete - Athlete profileGET /athletes/{id}/stats - Athlete statisticsPOST /oauth/token - Token refreshSee [SKILL.md](./SK...
# 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...# 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...Task Router
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,...
Real-time event bus for AI agents. Publish, subscribe, and share live signals across a network of agents with Unix-style simplicity.
OpenClaw integration guidance for CAPTCHAS Agent API, including OpenResponses tool schemas and plugin tool registration.