Add a reproducible way to build the Claude-skill package and publish it:
- scripts/build-skill-zip.sh: stages SKILL.md + README + references/ + assets/
into a zip whose single top-level cycling-training/ folder is the layout
Claude Desktop / claude.ai import expects. Validates SKILL.md frontmatter.
- .gitea/workflows/release-skill.yml: on tag v* builds the zip and attaches it
to a Gitea release (via the API using the automatic token); on manual
dispatch uploads it as a run artifact.
- README: document the packaging/release flow and Claude Desktop zip-import.
- .gitignore: ignore dist/ build output.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TqrhBhC3GEcKyaw8RTk8G6
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