strava-cycling
Strava cycling performance analysis and coaching insights.
Installation
npx clawhub@latest install strava-cycling-coachView the full skill documentation and source below.
Documentation
Strava Cycling Coach
Track cycling performance, analyze rides, and monitor fitness progression using the Strava API.
Setup
1. Create Strava API Application
Visit and create an application:
- Application Name: Clawdbot (or your preferred name)
- Category: Data Importer
- Club: (leave blank)
- Website:
- Authorization Callback Domain: localhost
Save your Client ID and Client Secret.
2. Run Setup Script
cd skills/strava
./scripts/setup.sh
You'll be prompted for:
./scripts/complete_auth.py YOUR_CODE_HERE
3. Configure Automatic Monitoring (Optional)
To receive automatic ride analysis after each workout:
# Set your Telegram chat ID
export STRAVA_TELEGRAM_CHAT_ID="your_telegram_chat_id"
# Add to your shell profile for persistence
echo 'export STRAVA_TELEGRAM_CHAT_ID="your_telegram_chat_id"' >> ~/.bashrc
# Set up cron job (checks every 30 minutes)
crontab -l > /tmp/cron_backup.txt
echo "*/30 * * * * $(pwd)/scripts/auto_analyze_new_rides.sh" >> /tmp/cron_backup.txt
crontab /tmp/cron_backup.txt
4. Test the Setup
Analyze your recent rides:
./scripts/analyze_rides.py --days 90 --ftp YOUR_FTP
Usage
Get latest ride:
scripts/get_latest_ride.py
Analyze specific ride:
scripts/analyze_ride.py <activity-id>
Monitor for new rides (runs in background):
scripts/monitor_rides.sh
Automatic Monitoring
The skill can automatically:
Metrics Analyzed
- Power: Average, normalized, max, variability index
- Heart rate: Average, max, time in zones
- Training load: TSS estimation, intensity factor
- Fitness progression: Trends over time
- Segments: PR achievements and efforts
- Comparative: vs recent rides, vs personal bests
Configuration
Edit ~/.config/strava/config.json to customize:
- Monitoring frequency
- Analysis preferences
- Notification settings
API Reference
See references/api.md for complete Strava API documentation.