Files
cycling-training/assets/field-test-durability.md
T
Chris Farhood f6dd9dfc27 feat: add cycling-training Claude skill (MCP companion)
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
2026-07-20 18:59:37 -04:00

2.7 KiB
Raw Blame History

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):

  1. 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.
  2. Immediately do the same 1-minute maximal effort on the same hill, same gearing.
  3. 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 powerspeed 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.