A Claude-powered triathlon coach with deep training methodology knowledge baked in. Connects to intervals.icu via MCP to pull live fitness data before making recommendations.
- Prescribes training sessions with quantified targets (power, pace, HR zones)
- Interprets PMC data (CTL/ATL/TSB) and HRV to adjust load
- Builds week-by-week training plans anchored to your A race
- Applies 80/20 polarized periodization with Friel phasing
- Flags overreaching risk and tells you when to back off
Ask any training question naturally in Claude Code:
> Build me a 12-week plan for IRONMAN 70.3 Shanghai. FTP 191w, CSS 2:00/100m.
> My HRV dropped 20% today after a threshold bike yesterday. What should I do?
> Design today's VO2max run session.
> Where am I in my build with 6 weeks to race?
The triathlon-coach agent triggers automatically on coaching-related questions.
1. Clone and open in Claude Code
git clone https://github.com/psca/coach.git
cd coach
claude2. Fill in your athlete profile
cp athlete/context.example.md athlete/context.md
# edit athlete/context.md with your details3. Connect intervals.icu (optional but recommended)
export INTERVALS_API_KEY=your_api_key
export ATHLETE_ID=your_athlete_idThe .mcp.json is pre-configured — the MCP server installs automatically and the coach will pull live data on startup.
coach/
├── .claude/
│ └── agents/
│ └── triathlon-coach.md ← coaching brain
├── docs/methodology/ ← zone systems, periodization, PMC, workouts, race distances
├── prompts/ ← structured prompt templates
│ ├── analysis/ ← weekly review, readiness check
│ └── planning/ ← week builder, session designer
├── athlete/
│ ├── context.example.md ← blank profile template
│ └── context.md ← your profile (gitignored)
└── .mcp.json ← intervals.icu MCP config
All coaching output uses metric: km, m, min/km, watts, kg.