Install
openclaw skills install @hhq0421/strava-training-coachAI running coach that prevents injuries by monitoring your Strava training load daily. Detects dangerous mileage spikes, intensity imbalances, and recovery gaps using evidence-based sports science (80/20 rule, acute:chronic workload ratio), then sends smart alerts to Discord or Slack before problems become injuries. Use when: "Am I overtraining?" — Analyze weekly mileage and intensity for injury risk "Check my training load" — Run a daily analysis of your Strava activities "Send me a training report" — Generate a weekly summary with 4-week trends "Is my running mileage safe?" — Calculate acute:chronic workload ratio (ACWR) "Set up automated training alerts" — Schedule daily checks via cron Monitoring heart rate to ensure easy days are actually easy (80/20 compliance) Tracking recovery gaps and consistency streaks Optional Oura ring integration for sleep and readiness scores Unlike basic Strava data skills, this coach actively monitors your patterns daily and alerts you before problems become injuries — backed by research from Seiler (2010), Gabbett (2016), and Stoggl & Sperlich (2014). Security: No hardcoded secrets, input validation, log redaction, webhook URL validation, secure token storage (XDG, 0600 permissions), rate limiting, 30s request timeouts.
openclaw skills install @hhq0421/strava-training-coachEvidence-based AI training partner that catches injury risk before you feel it.
Most running injuries follow the same pattern: too much, too soon. Nielsen et al. (2014) found that runners who increase weekly distance by more than 30% have significantly higher injury rates. By the time you feel pain, the damage is weeks old.
This coach watches your Strava data daily and alerts you before problems become injuries — so you stay consistent instead of sidelined.
Built on the 80/20 polarized training model (Seiler, 2010; Stoggl & Sperlich, 2014) — the same approach used by elite endurance coaches to build durable athletes who train smarter, not just harder.
# Set your Strava API credentials (required)
export STRAVA_CLIENT_ID=your_id
export STRAVA_CLIENT_SECRET=your_secret
# Authenticate (opens browser for OAuth)
python3 scripts/auth.py
Tokens are stored in ~/.config/strava-training-coach/strava_tokens.json with 0600 permissions.
Discord:
export DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...
export NOTIFICATION_CHANNEL=discord
Slack:
export SLACK_WEBHOOK_URL=https://hooks.slack.com/...
export NOTIFICATION_CHANNEL=slack
⚠️ Security: Webhook URLs must be set via environment variables. No hardcoded URLs allowed.
export OURA_ENABLED=true
Requires Oura CLI authentication.
# Daily training check + alerts
python3 scripts/coach_check.py
# Weekly summary report
python3 scripts/weekly_report.py
Optional: schedule with cron for hands-off monitoring:
{
"name": "Training Coach - Daily Check",
"schedule": {"kind": "every", "everyMs": 86400000},
"command": "python3 scripts/coach_check.py"
}
This skill is designed with security in mind for ClawHub publication:
~/.config/strava-training-coach/All thresholds are optional — sensible defaults with validation.
# Training thresholds (validated ranges)
MAX_WEEKLY_MILEAGE_JUMP=30 # 5-100%, default: 30
MAX_HARD_DAY_PERCENTAGE=25 # 5-100%, default: 25
MIN_EASY_RUN_HEART_RATE=145 # 100-200 bpm, default: 145
# Feature flags
OURA_ENABLED=false # Enable Oura integration
VERBOSE=false # Enable debug logging
"Weekly mileage up 45% (18 -> 26 mi). ACWR: 1.62. Nielsen et al. (2014) found >30% weekly increases significantly raise injury risk. Your acute:chronic workload ratio is in the high-risk zone (>1.5). Reduce next week's volume by 20-30%."
"60% of runs were moderate/high effort (HR >145). Seiler (2010) found elite athletes keep ~80% of sessions below VT1. Polarized training produces better VO2max gains than moderate-intensity training (Stoggl & Sperlich, 2014)."
"5 days since last activity. Mujika & Padilla (2000) found VO2max begins declining after ~10 days of inactivity. A gentle 20-min walk or easy jog can maintain adaptations."
"30-Day Streak! Consistency beats intensity. Holloszy & Coyle (1984) showed mitochondrial density increases with repeated aerobic stimulus."
See references/training-principles.md for the full guide with 30+ scientific references.
scripts/auth.py — Strava OAuth setup (tokens stored in XDG config dir)scripts/coach_check.py — Daily training analysis and alerts (security-hardened)scripts/weekly_report.py — Sunday summary reports (security-hardened)references/training-principles.md — Evidence-based injury prevention guideAlerts fire only when something matters:
Not every workout. That's what Strava is for.