.claude/skills/run-decoupling/SKILL.md
Compute aerobic decoupling (Pa:Hr) on long runs to assess aerobic base quality. Use when the user asks "is my aerobic base solid", "am I drifting", "decoupling", "cardiac drift".
npx skillsauth add AlvaroLaraFF/strava-coach run-decouplingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Pulls streams for the user's recent long runs and computes Pa:Hr decoupling between the first and second halves. <5% = solid aerobic base, 5-8% = acceptable, >8% = poor base / under-trained.
python3 .claude/skills/run-decoupling/scripts/decoupling.py --min-minutes 60 --max-runs 5
The script syncs streams on demand for any qualifying run that doesn't have them yet, so the first run can take 30-60 seconds depending on history.
Table with: date, duration, decoupling %, verdict per run. Then an overall trend line if there are at least 3 runs.
python3 .claude/skills/athlete-snapshot/scripts/update_snapshot.py --source run-decoupling --avg-decoupling-pct <AVG_DECOUPLING>
Replace <AVG_DECOUPLING> with the average decoupling % from the output.
Show alerts if any.
| Error contains | Action |
|---|---|
| No token | Invoke strava-setup, retry |
| streams / speed+HR / No usable | Invoke strava-sync --level streams --sport Run --limit 20, retry |
| No runs / No activities | Invoke strava-sync --level summary, retry |
| anything else | Surface |
Chain at most ONCE.
Save a qualitative observation to memory — opinions, patterns, coaching notes. Never store raw numeric values (those are recomputable from the DB). Only write if the observation is NEW or CHANGED vs existing memory. See CLAUDE.md → Memory protocol.
data-ai
Show a weekly training log: activities grouped by ISO week and sport, with totals for distance, time and elevation. Use when the user asks "what did I do this week", "weekly summary", "training log".
tools
Cross-reference recent runs/rides with historical weather (temperature, humidity, wind) from Open-Meteo to find correlations with performance. Use when the user asks "do I run worse in the heat", "weather impact", "temperature vs pace".
testing
Show how the user's training time and volume distribute across run, ride and swim, and flag underweighted disciplines. Use when the user asks "am I balanced", "discipline balance", "which sport am I neglecting".
data-ai
Compute a combined CTL/ATL/TSB across run, ride and swim for triathletes. Use when the user asks "my combined load", "triathlon training load", "total TSS across sports".