
Thanks to some folks on a subreddit I was able to develop an LLM tool leveraging Garmin data to augment training. Including link to the repo and general description. Happy to receive feedback 🙂
https://github.com/404i/coach
https://hub.docker.com/r/404i/garmin-coach-ai
# AI Coach Overview
The AI Coach is a personalized training assistant that connects to your **Garmin device data** to provide intelligent, data-driven coaching. It analyzes your fitness metrics, recovery status, training load, and history to give you tailored workout recommendations and insights.
—
## What It Does
The coach pulls real data from your Garmin Connect account — including heart rate, HRV, sleep, activities, and training stress — and uses it to:
– Recommend daily workouts based on how your body is actually recovering
– Build intelligent weekly training plans using polarized training principles (80% easy, 20% hard)
– Detect overtraining, injury risk, and detraining patterns
– Track your habits and alert you when beneficial routines break down
– Adjust plans based on weather conditions
– Help you log how you're feeling through a training diary
—
## All Available Tools
### 👤 Athlete Setup
– **set_current_athlete** — Set the athlete context for the session
– **get_athlete_profile** — View goals, sports, injuries, and preferences
– **refresh_athlete_memory** — Reload the latest profile data
### 🏃 Workouts & Planning
– **get_today_workout** — Today's workout with 4 intensity options
– **get_weekly_plan** — 7-day training schedule
– **get_workout_recommendations** — Readiness-based workout options with a Training Readiness Score (0–100)
– **get_weekly_workout_plan** — AI-generated 7-day plan based on current fitness/fatigue
– **get_sport_specific_workout** — Structured workouts for running, cycling, swimming, etc.
– **suggest_multi_activity** — Recommend a second/third workout for the day
### 📊 Metrics & Data
– **sync_garmin_data** — Pull latest Garmin Connect data
– **confirm_garmin_auth** — Retry sync after MFA authentication
– **get_training_metrics** — Heart rate, sleep, activities, and more
– **get_activities** — Detailed workout records with power, HR, distance, etc.
### 📈 Load & Fitness Analysis
– **get_training_load_trend** — Acute vs chronic load and ACR status
– **get_recovery_trend** — Recovery score trends and limiting factors
– **get_hrv_baseline** — Personal HRV baseline and current status
– **get_training_stress_balance** — Fitness, fatigue, and form (TSB)
– **get_stats_summary** — All of the above in one call
– **get_load_optimization** — Comprehensive load analysis and recommendations
– **get_ramp_rate_analysis** — Weekly load progression and injury risk
– **get_sport_distribution** — Load balance across sports
– **get_volume_intensity_balance** — 80/20 rule adherence check
### 🏅 Insights & Alerts
– **get_insights_and_alerts** — All current warnings, milestones, and achievements
– **get_alerts_by_type** — Filter by specific alert type (injury risk, overtraining, streaks, etc.)
– **get_nudges** — Proactive coaching nudges for broken habits or gaps
– **get_pattern_breaks** — Detect when regular habits have stopped
– **get_training_patterns** — Established daily/weekly training routines
– **analyze_performance_gaps** — Identify missing modalities (strength, HIIT, flexibility)
– **get_performance_multipliers** — Quantified benefits of adding a missing modality
– **get_activity_distribution** — Training balance across sports
– **get_sport_insights** — Strategic recommendations on training variety
### 📔 Training Diary
– **add_diary_entry** — Log energy, motivation, soreness, sleep, RPE, and notes
– **get_diary_entries** — Review past diary entries
– **analyze_diary_patterns** — Correlate subjective feelings with objective metrics
– **get_weekly_summary** — AI-generated narrative summary of the week
### 📅 Planning & Scheduling
– **add_planned_activity** — Record a future workout or event
– **get_upcoming_activities** — View scheduled upcoming activities
– **update_planned_activity** — Mark activities as completed, cancelled, or rescheduled
### 🌤️ Weather
– **get_weather_safety** — Safety assessment for outdoor training
– **check_weather_forecast** — Current conditions with training-specific analysis
– **get_weather_adjusted_workout** — Workout modified for current weather with indoor alternatives
### ⚙️ Profile Management
– **add_equipment** — Log gear (shoes, bike, watch, etc.)
– **update_preferences** — Save training preferences (time of day, style, motivation)
– **add_important_note** — Record key coaching notes (injuries, restrictions)
– **add_conversation_note** — Log topics discussed for future reference
—
by tsochkata