Build your own AI running coach: the complete prompt kit

Turn ChatGPT or Claude into a running coach that knows you, interviews you, and writes a periodized plan that drops straight onto your Apple Watch. Every step has a copy-paste prompt, including the exact format that imports cleanly.


A general-purpose model like ChatGPT or Claude already contains enough coaching knowledge to write you a properly periodized plan. The trouble is that most people use it like a vending machine - one vague request, one generic plan - and never get close to what it can actually do.

This post is the other way to do it: build the model into a reusable coach, make it interview you before it writes anything, have it produce the plan in a format that drops straight onto your Apple Watch, and optionally extend it to strength, mobility and fuelling. Every step has a copy-paste prompt.

It pairs with two posts you may have read. How to prompt an LLM for a training plan teaches the underlying craft, and how to use ChatGPT for marathon training takes the marathon-specific angle. This one is the full end-to-end kit - the complete set of prompts plus the exact output format, so the plan you finish with is one you can actually run, not one that dies in a chat window.

Step 1: Build your coach

Don't start with "give me a plan". Start by turning the model into a coach that knows you and stays that way. You have three ways to make it reusable:

a. A Custom GPT (ChatGPT) or a Project (Claude) - paste the setup below as the instructions / project knowledge once, and every new chat in it is already your coach.

b. A pinned system prompt you keep in a note and paste at the top of each conversation.

Either way, the setup is the same. Paste this and fill in the brackets:

You are my running coach. You build periodized plans grounded in
established principles: progressive overload, mostly-easy running,
recovery weeks, and a real taper. You are honest, not a cheerleader -
if my goal and my time available do not match, you say so.

ABOUT ME
- Age: [38]
- Running experience: [3 years, road, a few half marathons]
- Current weekly volume: [~40 km across 5 runs]
- Longest run in the last month: [22 km]
- Recent race or time trial: [10K in 47:30, four weeks ago]
- Days I can train per week: [5], plus [2] I could add strength
- Hard constraints: [long run must be Saturday, no running Mondays]
- Injury history: [mild Achilles flare last autumn, fine now]

Hold all of this as context for everything you write for me. When I
ask for a plan, you will first interview me, then build it. Confirm
you have understood my profile, and ask me nothing yet.

The recent-volume and longest-run numbers are the part that matters most - they stop the model prescribing 60 km weeks to a 40 km runner. Gather them honestly from your last few weeks, or paste a screenshot of your recent training.

A note on where this is going: we're building this history step into Stopa itself, so it will read your recent training from Apple Health and assemble these numbers for you - the prompt then anchors to what you actually ran instead of what you remember. Stopa assembles the briefing; your model still writes the plan. That part is on the way, not live yet. For now, paste the numbers in by hand.

Step 2: Let the coach interview you

This is the highest-leverage step in the whole process, and the one almost everybody skips. Before the model writes a single week, make it ask you questions. Its questions are consistently sharper than your original brief - it will ask about your sleep, your last build, how you recover - and your answers are where a generic plan becomes yours.

Before you write any plan, interview me. Ask me up to eight
questions, one batch, that would change how you design my training -
things my profile above does not already tell you. Cover at least:
how my last training block went and how I felt at the end of it,
how much my weekly time realistically varies, how I tend to respond
to hard weeks, and anything about my goal you would want pinned down.
Wait for my answers before writing anything.

Answer properly. Two minutes here is worth more than any clever wording elsewhere.

Step 3: Set the goal and the output format

Now tell it the goal, and - this is the piece the other posts leave out - tell it exactly how to lay the plan out so it imports cleanly and runs on your watch.

First the goal. Pick one:

My goal: [a marathon on 4 October, sub-3:45] OR [no race, I just
want to build to a strong, consistent 50 km week over the next
12 weeks]. Build me a [16]-week plan, periodized base to peak to
taper, with a recovery week roughly every fourth week. Every quality
session gets a pace or effort target derived from my recent race,
never a vague "tempo".

Then, in the same message, give it the format. Paste this block verbatim - it is the vocabulary and layout Stopa's parser reads, so a plan written this way drops in cleanly with nothing to retype:

## STOPA TRAINING PLAN FORMAT

### Output rules - CRITICAL

1. One workout per day. Two layouts parse - pick whichever reads cleanest, and stay consistent within a plan:
   - MULTI-LINE (preferred, most readable): the day name alone on its line, then each part of the workout on its own line below it (warmup, each rep block, recovery, cooldown). This is the natural shape for an interval session.
   - SINGLE-LINE: the whole workout on one line after `Monday:`, joining the parts with `+`, `with`, or commas.
2. Plain text only - no markdown bold, italic, no bullet points (no `-`, no bullet, no `*`).
3. Multi-week plans use `Week 1`, `Week 2`, ... labels on their own line above the days. A week MAY carry a training phase, appended after a dash on the same line: `Week 1 - Base`, `Week 6 - Build`, `Week 11 - Taper`. Use a short phase word - the common names all work (Base / Foundation / Endurance, Build / Threshold, Peak / Sharpening, Taper / Race week). The phase is optional; omit it if the plan doesn't periodise.
4. Days: single-line uses `Monday:` / `Mon:` (with the colon). Multi-line uses the day name alone on its line - `Monday` or `Mon`, colon optional, nothing else after it. Do NOT put a workout name on the day line (no `Tuesday: Tempo intervals`). Pick one day-naming style and stay consistent.
5. Compound workouts use `with`, `+`, or comma separators within the single line.
6. Recovery between reps is in-line with the rep block: `4x1km at threshold, 90s recovery jog`.
7. No commentary lines, no headers between days, no weekly mileage summaries.
8. Rest days as just `Rest`.

### Vocabulary the parser recognizes

Intensities
- Very easy: recovery jog, Z1
- Easy / aerobic: easy, Z2, general aerobic, easy pace
- Steady / endurance: steady, aerobic
- Tempo: tempo, Z3
- Threshold: threshold, at threshold, lactate threshold, Z4, sweet spot
- Interval / VO2max: intervals, VO2max, at VO2max pace, Z5
- Max effort (RPE 10): sprint, all in, full gas, max effort, all out, flat out
- Long: long run, long, LSD, long slow distance

Pace targets
- Specific pace: at 4:15/km, @ 4:15/km, at 4:15 pace
- Named race pace: at threshold, at 5k pace, at 10k pace, at 3k pace, at 1k pace, at marathon pace, at MP, at half marathon pace, at HM
- HR zones: Z1, Z2, Z3, Z4, Z5 (use the zone keyword, e.g. easy Z2)
- HR range: 150-160 bpm
- Power: 85% FTP, 280W, at FTP
- RPE (when no concrete intensity fits): RPE 7, RPE 8-9

Recovery / rest between reps
- Prose comma: 4x1km at threshold, 90s recovery jog
- with form: 4x300m at 5k pace with 100m recovery
- Compact (Final Surge style): P1:30 = 90s, P30s, P2:00

Distance and duration
- Time: 15 min, 45 min, 60 min, 90 min
- Distance: 5 km, 800m, 400m, 1 km, 1 mile, 1mi
- Rep blocks: 8x400m, 6x800m, 5x1km, 4x1mile, 10x60s

### Named references (use these if you know my paces)

If I have told you my threshold pace, 5k/10k/MP/HM pace, FTP, max HR or HR zones, use NAMED references (at threshold, at 5k pace, at MP) instead of concrete numbers. Stopa resolves named refs to concrete Watch alerts from my profile, and they scale automatically as my fitness improves.

If no pace data is given, default to: Easy / Long = easy Z2; Tempo / Threshold = at threshold; Intervals = at 5k pace or at 10k pace; Sprints = sprint or max effort.

### One week, in the format (this is the shape I want every week)

Week 6 - Build
Monday
Rest
Tuesday
Warmup 2km
4x300m at 5k pace with 100m recovery
3 min pause
4x300m at 3k pace with 100m recovery
Cooldown 2km
Wednesday
Recovery 8km
Thursday
Warmup 2km
20 min at threshold
Cooldown 2km
Friday
Rest
Saturday
Easy 10km
Sunday
Long 24km with last 6km at marathon pace

That format block is the difference between a plan you admire in a chat window and a plan that is on your wrist on Tuesday morning. If a day ever comes back in a shape that does not import, paste it back and ask the model to rewrite it using only the patterns above.

Step 4 (optional): strength, mobility and fuelling

Once the running skeleton is set, you can layer the rest on - but do it after the runs are solid, so it slots around your key sessions instead of crowding them. Keep these secondary. The running plan in the format above is the spine.

The running plan is set. Now fit in two strength sessions a week.
Rules: never the day before a key run (intervals or long run),
30 to 45 minutes each, lower-body and core focused but not so heavy
it wrecks the next day's run. Add short daily mobility, 10 minutes,
weighted toward ankles, hips and hamstrings. Tell me which days,
and keep it inside my available time - do not pile it on top.
Give me simple fuelling guidance to support this block: everyday
eating on normal vs hard days, what to take before and after long
runs, hydration for sessions over 90 minutes, and a basic race-day
fuelling plan. Also build in gut training: pick the specific long
runs where I should practise taking on carbs at race intensity -
the same gels or drink I'll use on race day, at the same hourly
rate - so my stomach learns to absorb fuel under load and I'm not
testing it for the first time on race day. Keep it practical and
mostly whole foods, not supplements.

Gut training is the part of this worth flagging on the calendar. Your stomach is trainable like everything else - if the first time you try to take 60 to 90 grams of carbs an hour is on race morning, it often ends badly. Have the coach mark two or three long runs in the back half of the block as fuelling rehearsals, then treat them as exactly that: race nutrition, race pace segments, nothing new on the day. Keep strength, mobility and fuelling out of the plan text you import - they are guidance to follow, not workouts your watch needs to run.

Step 5: The last mile - get it onto your watch

You now have a real plan, written by your own coach, in a clean format. It is sitting in a chat window. This is exactly where execution dies: you screenshot it, glance at it before a run, start a plain outdoor run on the watch, and by week six the plan and your actual training have drifted apart. We wrote a whole post on why that gap is so stubborn - from PDF to Apple Watch.

Closing that gap is the one thing Stopa does. Paste the plan in, Stopa parses it into structured workouts, lays them on a calendar, and pushes each day's session to your Apple Watch ready to start - warmup, intervals, recovery, cooldown, with the pace and heart-rate targets the watch can actually hold. Stopa does not write your plan. You and your model did the interesting part. Stopa just makes sure it ends up somewhere you will actually follow it. (For what the watch can and cannot sync, WorkoutKit explained is the honest version.)

Step 6: The feedback loop

Here is the part that makes this a coaching relationship rather than a one-off. Your model writes the plan once and then never finds out what happened - whether you hit the intervals, whether the easy days stayed easy, whether week nine quietly fell apart.

Stopa pairs your completed runs back against the plan through Apple Watch and HealthKit, so you see actual versus prescribed at a glance. That picture - how the block really went - is the best possible input for your next conversation with the coach. You go back to the Custom GPT or Project you built in step 1, paste in how the block actually went, and ask for the next block. You stop prompting from memory and start prompting from what you did.

That is also where step 1's coming-soon closes the circle: once Stopa assembles your real training history from Apple Health, the briefing for your next block writes itself, and your coach picks up where your legs actually left off.

Build the coach once. Let it interview you. Make it write in the format. Run it from your wrist. Then feed back what really happened and go again. That loop, not any single clever prompt, is how a general-purpose model turns into a coach that actually gets you to the start line ready.


Stopa is an iOS app for endurance athletes who already have a training plan - or just built one with their own AI coach - and want it on their Apple Watch without retyping every workout. We're building in public - follow along on X, Instagram, TikTok and Facebook.