I don't write code to train. I talk to Claude, and it does the rest — reads my Garmin, applies sports science, writes my workouts to my watch, puts them on my calendar, and debriefs me every morning. I can't write a line of Python, and it doesn't matter. You drive the whole thing with plain-English prompts.
Here's the exact flow, stage by stage, with the real prompts I use and real results from my own training. Copy the templates, swap in your goals, and you've got a coach that never forgets your history.
First: the one-time setup (one prompt)
You need Claude Code (Claude that runs in your terminal and can execute tasks) and a Garmin account. Then you paste one prompt and let Claude do the plumbing:
Act as my data-driven endurance coach. Connect to my Garmin Connect
account so you can read my activities, heart rate, sleep, and HRV, and
write structured workouts back to it. Set up whatever tools you need,
keep my training data in a folder so we build a history over time, and
walk me through the one-time login.Under the hood Claude writes and runs small scripts to talk to Garmin — but you never touch them. From here on, it's a conversation.
Stage 1 — Set your goals (and make Claude remember them)
The flow: give Claude your races, targets, and priorities, and tell it to remember them. Every future plan then gets weighed against the same north star.
Prompt template:
Here are my goals for the season, in priority order:
- A goal: [race, date, time target]
- B goal: [race, date, time target]
- C goal: [performance target]
I train [N] days a week. Remember these and use them to prioritize
every plan and every piece of feedback from now on.What I actually said:
A goal is a 70.3 in mid-2027, sub-6. B goal is HYROX Anaheim in December,
sub-1:20. I also want a sub-20 5K this fall. I train 6 days a week.
Remember this.What came back: Claude saved these to its memory and now anchors everything to them. When I later floated the 5K goal, it pointed out that a 5K speed block also sharpens my HYROX run and my 70.3 — the goals sequence rather than compete. That kind of prioritization only works because it remembers the whole picture.
Stage 2 — Make it research the science first
The flow: before Claude writes a single workout, force it to establish best practice. This is the difference between a real plan and generic gym advice — and it's where Claude will tell you the truth about what's realistic.
Prompt template:
Before you build anything, research the best-practice approach for
[goal]. What does the sports-science literature actually say? Give me
the key principles, and be honest about what's realistic for me given
my history and timeline.What I actually said:
I want to target a sub-20 5K. Base everything on science, and verify
from first principles — don't just give me a generic plan.What came back: a gap analysis, not a pep talk. Claude looked at my current 5K (~22–23 min), calculated the fitness jump sub-20 actually requires, and was honest: sub-20 is a reach for one block; ~20:30 is the realistic landing. Then it laid out the principles it would build on — polarized 80/20 easy/hard, VO2max intervals as the single biggest driver of 5K speed, threshold work to raise the sustainable pace, and a short sharp taper — before proposing anything. Ask for the science first and you get a coach; skip it and you get a workout generator.
Stage 3 — Give it your real-life constraints
The flow: a plan you can't follow is worthless. Hand Claude your non-negotiables and it builds around them.
Prompt template:
Build around these constraints:
- Fixed sessions: [days/workouts you won't move]
- Rest days: [when]
- Equipment / travel / injuries: [anything limiting]What I actually said:
Every Saturday I do an easy 5K with my son — keep it, and keep it easy.
Sunday is my long ride, not a run. This week Monday is a rest day. No
swimming until February.What came back: Claude anchored the week on those two weekend sessions and worked everything else around them. When I later said "Monday's a rest day," it re-shuffled the whole week — and caught that I'd had a day-of-week wrong, so my Saturday-with-my-son run stayed on the actual Saturday instead of drifting to Sunday. It treats your life as fixed and the training as the variable, which is exactly backwards from most apps.
Stage 4 — Design the training block
The flow: now it builds a multi-week block — periodization, week-to-week progression, and a test at the end to measure against.
Prompt template:
Design a [N]-week block toward [goal], starting [date], ending with
[test/race]. Use proper periodization, show me the weekly template and
how it progresses each week, work in my constraints, and tell me
straight if any of it is unrealistic.What I actually said:
Create the next block based on science — 8 weeks, ending in a sub-20 5K
test. Strength stays, but the run is the priority now.What came back: a full 8-week block. Two quality runs a week (VO2max intervals + threshold). Strength deliberately cut to a 2×/week maintenance dose — enough to hold muscle while the run leads, because you can't maximize both at once. My Saturday easy-run and Sunday ride built in as fixed anchors. A 3-weeks-on / 1-week-deload rhythm, sharpening to race pace, then a short taper into the test. And tiered outcomes — reach, expected, floor — so I knew what "success" actually meant before I started.
Stage 5 — Load the week to Garmin + your calendar
The flow: turn week 1 into real workouts on your watch and time-blocks on your calendar. This is where the per-set strength intelligence earns its keep — Claude reads your last session and applies progressive overload automatically.
Prompt template:
Load week 1. Push each workout to Garmin and to my Google Calendar at
[time]. For strength, set the weights from my last sessions using
progressive overload, and show me the target for every set.What I actually said:
Start with the first week. Push it to Garmin and my calendar at 8am.
Base the weights on my history and the science.What came back: Claude pulled my last upper-body session and recommended each lift with a reason — "Bench 4×5 @ 145, hold: you were at your ceiling last time. Row 4×8 @ 48–50: you held 46 for all sets, add load. Shoulder press 3×8 @ 35: up from 32.5." It built the structured workouts, scheduled them on my Garmin so they appear on my watch ready to follow, and created color-coded calendar blocks at 8am. I just show up and do what the watch says. The next morning I'd earned a bench "hold" — I hit 5, 5, 5, 4 at 145, exactly the prescription.
Stage 6 — The daily feedback loop
The flow: after each session, one word gets you a full debrief. This is the habit that makes the whole system compound.
Prompt template:
update(Or: how did today's [session] go? / compare this to last week.)
What came back, on real days:
- Strength debrief, per set: "Bench 5·5·5·4 @ 145 — you nailed the hold. Row ramped to 8×50, that's your new base. Recovered going in: sleep 87, HRV trending up." Per-set, never just the max — so it can see when I held, ramped, or stalled.
- Sensor skepticism: a swim came back with a scary average heart rate. Claude flagged it as a faulty wrist reading, and when the real data synced, it was right — actual HR was ~30 bpm lower, a genuinely easy Zone-2 swim. It trusts pace and effort over a sensor that's known to lie in the water.
- Refusing lazy conclusions: it won't call Zone-3 time on a hilly run "overpacing" without checking the elevation first — because on a climb your heart rate is supposed to rise. Most tools would ding you for it.
Type update daily and you get a coach who remembers every prior session and tells you the truth about this one.
The loop, in one line
Goals → Research → Constraints → Block → Weekly load → Daily feedback → adjust and repeat.
Each week you load the next block of sessions; each morning you type update; every few weeks you ask for the next block. The history compounds, so the advice gets sharper the longer you use it.
Why it works (and where to stay skeptical)
Three things make this more than a chatbot:
- Memory — it knows your races, paces, zones, and last twenty sessions, so nothing is generic.
- Science on demand — ask it to justify from first principles and it will, including telling you when a goal is a stretch.
- Judgment — per-set progressive overload, sensor skepticism, terrain-aware pacing. The unsexy details a good coach gets right.
And a few hard-won cautions worth pasting into your own setup:
- Treadmill pace and distance are unreliable — give Claude the treadmill's own numbers.
- Zone-3 on an easy run is usually hills, not fitness creep — tell it to check elevation.
- Optical heart rate in water lies — judge easy swims by pace and feel.
- Always report strength per set, not per max — the pattern across sets is the signal.
The bigger idea
A watch gives you data. A coach gives you decisions. Claude sits in the gap: you talk, it remembers your whole history, applies real training science, writes the next session to your watch, and tells you the truth every morning — no code, no spreadsheet, just prompts. Whether you're chasing a HYROX PR, a sub-20 5K, or a first 70.3, the pile of numbers you already collect finally becomes a plan.