Strava Cycling Coach
Track cycling performance, analyze rides, and monitor fitness progression using the Strava API.
Setup
1. Create Strava API Application
Visit https://www.strava.com/settings/api and create an application:
- Application Name: Clawdbot (or your preferred name)
- Category: Data Importer
- Club: (leave blank)
- Website: http://localhost
- 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:
- Client ID
- Client Secret
- Visit an OAuth URL to authorize
- Copy the authorization code and complete setup with:
./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:
- Check for new rides every 30 minutes
- Analyze power, heart rate, and training load
- Send insights about performance and fitness trends
- Compare to recent training history
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.