How felixrieseberg/claude-coach works
Claude Coach combines a Claude skill for athlete assessment and endurance-plan design with CLI tools for importing Strava history and rendering a plan, then a browser viewer for managing workouts and exporting them. The documented workflow starts with athlete context and optional Strava data, proceeds through plan creation, and ends with local plan use and workout exports. The CLI and viewer excerpts show their respective persistence and dispatch behavior; the skill’s detailed internal sequencing is documented but not sampled, so its finer-grained links are omitted.
Main entry points: cli.ts Plan CLI · SKILL.md Coaching skill · App.svelte Plan application · index.ts Export dispatcher
Components 27
Coaching workflow
- Coaching skill
skill/SKILL.md - Fitness assessment
skill/reference/assessment.md - Training principles
skill/reference/load-management.md - Periodization
skill/reference/periodization.md - Workout guidance
skill/reference/workouts.md - Race strategy
skill/reference/race-day.md - Training plan model
src/schema/training-plan.ts
CLI and sync
- Plan CLI
src/cli.ts - CLI configuration
src/lib/config.ts - Strava authorization
src/strava/oauth.ts - Strava activity API
src/strava/api.ts - Training database
src/db/client.ts
Plan viewer
- Plan application
src/viewer/App.svelte - Plan data state
src/viewer/stores/plan.ts - Settings state
src/viewer/stores/settings.ts - Workout changes
src/viewer/stores/changes.ts - Workout calendar
src/viewer/components/WeeksContainer.svelte
Workout exports
- Export dispatcher
src/viewer/lib/export/index.ts - Calendar export
src/viewer/lib/export/ics.ts - Zwift export
src/viewer/lib/export/zwo.ts - Garmin export
src/viewer/lib/export/fit.ts - ERG export
src/viewer/lib/export/erg.ts
Other components
- Athlete
- Claude
- Strava
- Browser storage
- Calendar and training apps
Connections 31
- Athlete → Claude: provides context
- Claude → Coaching skill: uses guidance
- Coaching skill → Fitness assessment: consults
- Coaching skill → Training principles: consults
- Coaching skill → Periodization: consults
- Coaching skill → Workout guidance: consults
- Coaching skill → Race strategy: consults
- Athlete → Plan CLI: runs commands
- Plan CLI → CLI configuration: loads credentials
- Plan CLI → Strava authorization: authenticates
- Strava authorization → Strava: exchanges tokens
- Plan CLI → Strava activity API: fetches activities
- Strava activity API → Strava: requests activities
- Plan CLI → Training database: stores activity data
- Strava → Plan CLI: returns athlete data
- Claude → Training plan model: creates plan data
- Plan CLI → Training plan model: renders plan
- Athlete → Plan application: views and edits
- Plan application → Plan data state: loads plan
- Plan application → Settings state: loads and saves settings
- Plan application → Workout changes: saves workout edits
- Plan application → Workout calendar: displays workouts
- Plan data state → Browser storage: reads and writes
- Settings state → Browser storage: reads and writes
- Workout changes → Browser storage: reads and writes
- Plan application → Export dispatcher: requests exports
- Export dispatcher → Calendar export: generates calendar
- Export dispatcher → Zwift export: generates Zwift
- Export dispatcher → Garmin export: generates Garmin
- Export dispatcher → ERG export: generates ERG
- Export dispatcher → Calendar and training apps: downloads files