Modular cycling-training skill: periodization logic, workout design, and research-backed protocols that companion an Intervals.icu MCP server (the server owns all data + computed metrics; the skill owns knowledge + reasoning). Structure: - SKILL.md router + README (companion-to-MCP architecture, install steps) - references/: durability, mtb-xco-demands, strength-for-cyclists, vo2max-intervals, periodization, data-confounds, citations - assets/: base + build plan templates, durability field-test protocol Every quantitative claim carries an inline citation; citations.md is the single source of truth with PMID/DOI, each verified against PubMed on 2026-07-20. Notable honesty flags baked in: - VO2 rep-length: running (Fleckenstein 2025) vs cycling (Ronnestad) conflict documented rather than asserted; cycling evidence favors short intervals. - 'Yu et al. 2025' (frequency > distribution) could not be found; not cited. - Under-researched doses (durability, taper TSB, CTL ramp) flagged 'track response'. - HR-confound doc forbids naive decoupling<5% / RHR+5 rules. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TqrhBhC3GEcKyaw8RTk8G6
2.7 KiB
Durability field test — fatigued-state power on a fixed hill
A repeatable field test for fatigue resistance: how much of your fresh power survives after
substantial work. Fatigued-state power discriminates real-world cycling performance better than
fresh power (see references/durability.md and references/citations.md).
⚠️ Under-researched dose. The concept is well supported; the optimal kJ pre-load and effort length are not standardized. Treat the numbers below as a sensible, repeatable default — hold them constant across tests so the comparison is valid, and track your own response.
The protocol
Fresh baseline (do once, on a rested day):
- Warm up, then a maximal 1-minute effort on your chosen fixed hill.
- Record: average power, the segment, gearing, and conditions. This is your fresh anchor.
Fatigued test (the actual durability measure):
- Ride until you have accumulated ~1,500 kJ of work (typically ~2.5 h; read the kJ total from
the MCP
get_activity_*data / head unit — do not estimate it by feel). Keep this ride mostly endurance so the fatigue is from duration, not a second hard effort. - Immediately do the same 1-minute maximal effort on the same hill, same gearing.
- Record average power.
The number that matters:
Durability % = fatigued 1-min power ÷ fresh 1-min power × 100
Higher = more durable. Track the trend across a season, not a single value.
Keep it a valid comparison (hold these constant)
| Variable | Why it must be fixed |
|---|---|
| The hill / segment & gearing | Grade and cadence change the power–speed relationship |
| The 1,500 kJ pre-load | The whole point is matched accumulated work |
| Nutrition during the pre-load | Glycogen status drives fatigued power; fuel it consistently |
| Time of day, rough temperature | Heat and circadian effects move power (references/data-confounds.md) |
Reading it
- Prescribe and judge from power, not HR. HR after 1,500 kJ is confounded by cardiac drift,
heat, and fueling — use it only as a secondary decoupling signal (
references/data-confounds.md). - A rising durability % across a block, with fresh power flat or up, is the signal you want.
- A durability % that only holds when overall training load is high is expected — durability
depends on sustained load, unlike fresh power (see Spragg et al. in
references/citations.md).
Logging it back to Intervals.icu
Record the fresh and fatigued efforts as tagged activities/intervals, or note the durability % in the activity message / wellness comment, so the MCP server can retrieve the series later. This skill does not store data — Intervals.icu does.