Bohdan Podvirnyi

Strava

データ分析v1.0.0
作者:Bohdan Podvirnyi更新日 2026-05-11strava@clawhub_bohdanpodvirnyi/strava
ユーザー分析指標モニタリング

AlphaMoatによると、2026-09時点でStravaのダウンロード数は3,799、スター数は10で、AIスキル全体5,078件中2,779位、データ分析では399件中211位です。

インストール数
238
ダウンロード数
3799
スター数
10
総合順位
#2,779
全体の上位 55% · データ分析の上位 53%
プラットフォームインストール数ダウンロード数スター数コメント
ClawHub ↗122365710-
SkillHub ↗23837999—

プラットフォームごとに集計方法と集計時点が異なります。

このスキルでできること

このスキルは、Strava API経由でアクティビティ・統計・ワークアウトを読み込み分析します。APIアプリ作成とOAuthトークン交換の後、STRAVA_ACCESS_TOKENを設定すれば、curlで最近のアクティビティ一覧(per_pageページネーション)、Unixタイムスタンプによる日付範囲フィルタ、個別アクティビティの詳細、アスリートプロフィール、累計統計を取得できます。アクセストークンは6時間で失効し、refresh_tokenでの更新が必要。レート制限は15分ごとに200リクエスト、1日あたりの上限で、401はトークン失効を意味します。

資料公開日 2026-10-27

できること

  • 直近30件のアクティビティを取得:ラン・ライド・スイムなど
  • after/beforeのタイムスタンプで日付範囲のアクティビティを絞り込み
  • 個別アクティビティの詳細を取得:距離・移動時間・標高差・心拍数
  • アスリートプロフィールと累計統計を取得
  • 6時間で失効するアクセストークンをrefresh_tokenヘルパーで更新

使う場面

  • 自分のStravaトレーニングデータや傾向を分析したいとき
  • 期間内の距離・ペース・心拍などの指標を集計したいとき
  • OAuthが完了し、STRAVA_ACCESS_TOKENを安全に保管しているとき

プロンプト例

スキルのドキュメントをもとに生成した例であり、実際の実行結果ではありません。

先週のランニングアクティビティを、名前・距離・種目付きで取得して
直近10件のアクティビティの合計距離をキロに換算して出して
アクセストークンが401で失効した。refresh_token.shを実行して更新して

月次の推移

ダウンロード数3799
2563322738912026-03 · ダウンロード数 26552026-05 · ダウンロード数 31092026-07 · ダウンロード数 34672026-08 · ダウンロード数 35752026-09 · ダウンロード数 379926-0326-09
スター数10
910102026-03 · スター数 92026-05 · スター数 92026-07 · スター数 102026-08 · スター数 102026-09 · スター数 1026-0326-09

2026-09 から集計方法を変更し、同名スキルを作者ごとに分けて集計し、全スキルを対象にしました。破線は変更前の月で、変更後のデータとは直接比較せず、変更をまたぐ増減も計算していません。

月ダウンロード数前月比スター数
2026-093799—10
2026-083575+3.1%10
2026-073467—10
2026-053109—9
2026-032655—9

SKILL.md 原文

作者が公開した元のファイルをテキストのまま表示しています。AlphaMoat による編集や審査はしていません。リンクはクリックできません。コマンドは内容を確認してから実行してください。取得日 2026-10-23。

6.0 KB・ClawHub v1.0.0
---
name: strava
description: Load and analyze Strava activities, stats, and workouts using the Strava API
homepage: https://developers.strava.com/
metadata: {"clawdbot":{"emoji":"🏃","requires":{"bins":["curl"],"env":["STRAVA_ACCESS_TOKEN"]},"primaryEnv":"STRAVA_ACCESS_TOKEN"}}
---

# Strava Skill

Interact with Strava to load activities, analyze workouts, and track fitness data.
すべて表示(全 212 行)

## 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 specific date (Unix timestamp):
```bash
# Activities after Jan 1, 2024
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/athlete/activities?after=1704067200"
```

Get activities in a date range:
```bash
# Activities between Jan 1 - Jan 31, 2024
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/athlete/activities?after=1704067200&before=1706745600"
```

### Get Activity Details

Get full details for a specific activity (replace ACTIVITY_ID):
```bash
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/activities/ACTIVITY_ID"
```

### Get Athlete Profile

Get the authenticated athlete's profile:
```bash
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/athlete"
```

### Get Athlete Stats

Get athlete statistics (replace ATHLETE_ID):
```bash
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/athletes/ATHLETE_ID/stats"
```

### Pagination

Navigate through pages:
```bash
# Page 1 (default)
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/athlete/activities?page=1&per_page=30"

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

## Token Refresh

Access tokens expire every 6 hours. Refresh using the helper script:
```bash
bash {baseDir}/scripts/refresh_token.sh
```

Or manually:
```bash
curl -s -X POST https://www.strava.com/oauth/token \
  -d client_id="${STRAVA_CLIENT_ID}" \
  -d client_secret="${STRAVA_CLIENT_SECRET}" \
  -d grant_type=refresh_token \
  -d refresh_token="${STRAVA_REFRESH_TOKEN}"
```

The response includes a new `access_token` and `refresh_token`. Update your configuration with both tokens.

## Common Data Fields

Activity objects include:
- `name` — Activity title
- `distance` — Distance in meters
- `moving_time` — Moving time in seconds
- `elapsed_time` — Total time in seconds
- `total_elevation_gain` — Elevation gain in meters
- `type` — Activity type (Run, Ride, Swim, etc.)
- `sport_type` — Specific sport type
- `start_date` — Start time (ISO 8601)
- `average_speed` — Average speed in m/s
- `max_speed` — Max speed in m/s
- `average_heartrate` — Average heart rate (if available)
- `max_heartrate` — Max heart rate (if available)
- `kudos_count` — Number of kudos received

## Rate Limits

- **200 requests** per 15 minutes
- **2,000 requests** per day

If you hit rate limits, responses will include `X-RateLimit-*` headers.

## Tips

- Convert Unix timestamps: `date -d @TIMESTAMP` (Linux) or `date -r TIMESTAMP` (macOS)
- Convert meters to km: divide by 1000
- Convert meters to miles: divide by 1609.34
- Convert m/s to km/h: multiply by 3.6
- Convert m/s to mph: multiply by 2.237
- Convert seconds to hours: divide by 3600
- Parse JSON with `jq` if available, or use `grep`/`sed` for basic extraction

## Examples

Get running activities from last week with distances:
```bash
LAST_WEEK=$(date -d '7 days ago' +%s 2>/dev/null || date -v-7d +%s)
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/athlete/activities?after=${LAST_WEEK}&per_page=50" \
  | grep -E '"name"|"distance"|"type"'
```

Get total distance from recent activities:
```bash
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
  "https://www.strava.com/api/v3/athlete/activities?per_page=10" \
  | grep -o '"distance":[0-9.]*' | cut -d: -f2 | awk '{sum+=$1} END {print sum/1000 " km"}'
```

## Error Handling

If you get a 401 Unauthorized error, your access token has expired. Run the token refresh command.

If you get rate limit errors, wait until the limit window resets (check `X-RateLimit-Usage` header).

データ分析の人気スキル

AdMapixデータ分析

AdMapix のデータ取得層で、広告やアプリの問い合わせを API 呼び出しに変え、生の JSON だけを返します。

↓ 36.6万★ 304fly0pants
Tavily Searchデータ分析

Tavily 経由で公開ウェブを検索し、リンクと抜粋付きの構造化結果を返します。

↓ 12.2万★ 286Xiaoran Li
Data Analysisデータ分析

データベースや表計算、書き出した生データを意思決定に使える結論へ変えるデータ分析スキルです。

↓ 10.1万★ 244Iván
Stock Analysisデータ分析

Yahoo Finance のデータで株式と暗号資産を分析し、ポートフォリオを追跡するスキルです。

↓ 7.5万★ 299udiedrichsen
Stock Watcherデータ分析

ローカルのウォッチリストを管理し、銘柄コードごとに同花順の相場と足元の値動きを要約するスキルです。

↓ 6.5万★ 122Robin797860
全国招标中标查询及分析【知了标讯】データ分析

全网招中标数据查询与分析助手。当用户涉及以下任何场景时,必须使用此SKILL:查询招标/中标公告、搜索标讯、查找临期/即将到期项目、商机预测、推荐潜在投标供应商、分析公司主营业务/历史中标、查询公司上下游合作客户与供应商、分析竞争对手/竞对企业、查询Top采购单位/Top中标单位/Top中标品牌、招中标数据统计分析(按月/季/年/省份/品牌等维度)、查询品牌型号历史中标单价/价格趋势、市场分析/行业分析/采购寻源/渠道拓展等采购与投标相关场景。即使用户没有提到「知了标讯」,只要涉及招投标、采购、中标、供应商、竞争对手等关键词,都应使用本SKILL。

↓ 5.6万★ 13user_98035bfb
Blogwatcherデータ分析

ブログと RSS/Atom フィードの更新をコマンドラインで追跡します。

↓ 5.4万★ 75Peter Steinberger
Model Usageデータ分析

Codex や Claude のモデル別の利用コストを集計するスキルです。

↓ 5万★ 114Peter Steinberger

データ月:2026-09 · ダウンロード数、スター数、インストール数は公開スキルレジストリ(ClawHub、SkillHub)から月単位で集計しています。詳しくはデータの方法論をご覧ください。