๐Ÿงช Beta โ€” do the one-time setup on a computer
AI COACH. My dashboard

Step 05 / 06

Sync

This is where the plan stops being a chat message and starts appearing on your watch. intervals.icu is the hub; set it up once.

Set up intervals.icu

  1. 1

    Create a free account at intervals.icu and connect Strava (or Garmin) when it offers โ€” your history flows in automatically.

  2. 2

    Go to Settings โ†’ Developer and copy your API key and athlete ID (looks like i123456). Give both to your coach chat. Never post them anywhere public.

  3. 3

    Enter your real zones in intervals.icu Settings (from Step 2). Workout targets are computed from these โ€” wrong zones mean wrong workouts.

How workouts get pushed

Your coach writes the week; the Claude Chrome extension pushes it. With intervals.icu open in a Chrome tab, tell your coach to push the week โ€” it fills in the workouts for you. A terminal script exists as a last resort only; if the extension route works, never touch the terminal.

Workout syntax cheat sheet

intervals.icu only builds real power/HR targets if the workout description uses its workout syntax โ€” not prose. Get this wrong and you get a calendar note with no targets. Get it right and your head unit runs the session. This is Claude's job, not yours โ€” the sheet is here so it (or a curious you) gets it exactly right.

You wantWriteNotes
A step- 20m 88%Dash, duration, target. In a Ride, % = % of FTP โ€” only if you have power; no power meter/trainer? use % LTHR heart-rate targets on rides too.
A power range- 12m 92-98%Ranges are fine and preferred for feel.
Repeats3x
then the dashed steps
Nx on its own line, then the steps to repeat. Leave a blank line before and after the block โ€” the parser needs it.
Warm-up / cool-downWarmup
- 15m ramp 50-70%
Cooldown
- 10m 60%
The keyword sits on its own line as a header; the dashed step goes underneath. ramp = build/ease smoothly.
Run / HR target- 45m 74-82% LTHR% of LTHR. bpm and pace do NOT parse to HR.
Duration & TSSleave blankLet intervals auto-compute from the steps.
The "why" lineA plain sentence at the topPut the session's purpose above the steps โ€” and be honest about difficulty: hard sessions should say they're hard (knowing it's meant to hurt makes it easier to hold on), easy days should say "deliberately easy". intervals shows it to you; the parser ignores it.

โœ” Why percentages, never raw numbers. Because targets are % FTP / % LTHR, every workout auto-rescales the moment you update your FTP or LTHR after a retest. Hard-coded watts and bpm go stale the day you get fitter.

A threshold session โ€” a purpose line on top, then the structured steps:

threshold-session.txt
HARD session โ€” builds the threshold ceiling everything hangs off.
Rep 2 is supposed to burn: that's the adaptation, not a problem.
Hold the intervals steady โ€” don't surge. If it falls apart, stop.

Warmup
- 15m ramp 50-70%

2x
- 12m 92-98%
- 6m 55%

Cooldown
- 10m 60%

And an easy aerobic run (HR-targeted):

easy-run.txt
Deliberately EASY โ€” going harder here steals from the hard days.
Build the engine: truly conversational, nose-breathing pace.

Warmup
- 10m 60-70% LTHR

- 35m 74-82% LTHR

Cooldown
- 5m 60% LTHR

The first line(s) are the plain-language "why" โ€” intervals shows them to you and skips them when building targets. Everything from Warmup down is the structured workout.

Get workouts on your devices

Garmin

In intervals.icu Settings, connect Garmin Connect. Planned workouts land on your watch calendar and guide you step-by-step mid-session.

Zwift

Authorise Zwift in intervals.icu Settings. Today's bike workout appears in Zwift's workout list, ERG-ready.

Gotchas

Four things that bite people here

Stuck? Just ask your Claude.

Sync problems are fiddly but fixable โ€” describe what you see and your coach will debug it with you.

Next: Step 6 โ€” Automate โ†’