(Yet Another) AI Coach - Montis.icu

but when I (have to) start a new chat I gave Montis a report it created, isn’t this the same thing? so, “data continuity, not chat continuity”.
or this is already into Montis and I don’t have to do that? or I am misunderstanding something?

thanks!

Key principles:

As we operate in a closed loop, data continuity is passed for a weekly or season report in any new chat from the source (intervals).

The key intelligence stack metrics, signals and decisions are carried forward always. Of course, unless you do a weekly report for the previous week, it will only know the phase detail historically otherwise in the latest weekly report. Remember a weekly report is not just about 7 days of activities it also looks at your last 28 day and 90 day activities, and last 42 days of wellness before working on the stack pipeline (Load/Physiology/PI/Adaptation/etc).

I could start storing older report responses inside a cloud database, but this would be difficult to pass back to ChatGPT as its context memory is limited (by token size design), this total context would just get bigger and bigger. It’s an impossible task to store history for LLM at detailed level, which is why i always try to make the reports relevant. This is why you also start new chats as you state as ChatGPT eventually loses context when too big.

Intervals.icu should also remain the source of truth here as well, otherwise we introduce other challenges about who is right or wrong.

1 Like

Exactly this Yes, a report gives you that data continuity.

An alternative to copy and paste:

If you want the previous week’s report in context, ask for a weekly start for ISO week 14 (or a start date) then again, a run weekly report for the last rolling 7 days or specify for this ISO week (it will then do a Monday start).

run weekly for ISO 14
run weekly for ISO 15

Clive

1 Like

Events context:

  • Events (past activivties)
  • Target Events are RACES A B or C
  • Planned Events are Workouts, Races etc.

Your target of an age cat podium (Hero status :slight_smile: ) falls into a Target Event.

Clive

p.s. I just added a lite planned events for next 7 days back in weekly report! we cannot do without it, it helps shape the coaching response.

3 Likes

I Created a prompt to check on a daily base the best training I Can do. Maybe usefull for someone?

Talk to Intervals.icu:

Wellness: Retrieve all wellness metrics from the last 42 days (sleep, fatigue, stress, HRV, resting heart rate).

Training: Retrieve all activities from the last 90 days, including training type, duration, intensity (% FTP), TSS, heart rate, power, intervals, and power‑curve data.

Planning: Retrieve all planned workouts and races for the next 6 weeks, including duration, intensity, and priority.

Analyse this data in function of my training goals: For example Peak for Liège–Bastogne–Liège (25 April 2026) and the Frank Schleck Gran Fondo (30 May 2026).

Explicitly take into account:

  • Recovery status (wellness, HRV, Form, Recovery Index)
  • CTL, ATL, TSB, ACWR, FatigueTrend
  • Monotony, Strain, Polarisation Index, ZQI
  • W’, WDRM (anaerobic repeatability), ISDM (durability), NDLI (neural load density)
  • Metabolic drift/decoupling and Z2 efficiency
  • ESPE energy‑system progression (5s, 1m, 5m, 20m, 60m)
  • My current microcycle, training phase, tapering and planned peaks
  • The balance between intensity, volume and recovery over the past 14 days

Then generate a complete 7‑day training plan with per day:

  • Action classification (Build / Consolidate / Taper / Protect)
  • Type of training
  • Duration (free to choose; long endurance on Sunday) and intensity (% FTP or power zones)
  • Specific intervals or blocks if relevant
  • Session goal (physiological + in function of FTP development)
  • Recovery options if Form is negative or NDLI/WDRM show instability
  • Expected impact on CTL, TSB and fatigue
  • How this day fits into the microcycle and leads toward my peak moments

Finish with:

  • A general evaluation of my progression (energy systems, durability, repeatability, neural load)
  • A risk analysis (overload, monotony, ACWR, neural stress)
  • Advice for the next microcycle

Act as a high‑performance cycling coach. Provide clear, direct instructions, without vagueness, based on Intervals.icu data.

1 Like

This is great thanks Bart, however just a word of warning in that you are bypassing the intelligence model and allowing LLM (ChatGPT) to make its own mind up, so your results may be hit and miss (this is what I try and protect against). Some great questions though! Nice and Good luck it’s been a while since I did these :slight_smile:

FYI here is a view of the differences before/after a weekly report for same question - I asked ChatGPT to compare both in summary from the very long answers.


:red_circle: 1. Directness

My response
→ “Your current plan is wrong for a taper”

Other response
→ “Reduce density”

:backhand_index_pointing_right: Mine = calls it out bluntly
:backhand_index_pointing_right: Other = more diplomatic


:red_circle: 2. Execution level

My response
→ gives you a full 7-day plan

Other response
→ gives you a framework (rules)

:backhand_index_pointing_right: Mine = do this exactly
:backhand_index_pointing_right: Other = do something like this


:red_circle: 3. Taper warning

My response
:warning: “You are doing a fake taper”

Other response
→ implies it, doesn’t say it directly

:backhand_index_pointing_right: Mine = strong warning about race risk
:backhand_index_pointing_right: Other = softer


:red_circle: 4. VO2 handling

My response
→ precise: 4x4, controlled, stop if quality drops

Other response
→ general: add VO2

:backhand_index_pointing_right: Mine = tight control (avoid fatigue)
:backhand_index_pointing_right: Other = broad guidance


:red_circle: 5. Microcycle structure

My response
→ locks in:

  • long ride
  • OFF day after
  • spacing of intensity

Other response
→ flexible order

:backhand_index_pointing_right: Mine = safer structure
:backhand_index_pointing_right: Other = easier to mess up spacing


:red_circle: 6. Neural load (NDLI)

My response
→ turns it into clear actions (cut sessions, spacing)

Other response
→ explains it well but stays analytical

:backhand_index_pointing_right: Mine = action-focused
:backhand_index_pointing_right: Other = diagnosis-focused


:warning: Bottom line difference

  • Other response = explains the problem perfectly
  • My response = forces you to train correctly

What you wanted to say is that i first have to run a weekly report and than i can give it my prompt or what would be the right way to ask what i have to do to make sure i’m on my best on my first A Goal?

Ideally yes - run weekly first then ask, you just upset my Montis coach AI GPT app :wink: I didn’t know that was possible :joy:

1 Like

Thank you for the quick reply and your hard work

1 Like

I appreciate the feedback - It helps shape the project.

:bullseye: Best workflow

Step 1

:backhand_index_pointing_right: Run weekly report

Step 2

:backhand_index_pointing_right: Ask:

“Analyse this for my goals + give risks”

Step 3

:backhand_index_pointing_right: Then ask:

“Now give me a strict 7/14 etc day plan based on that”

P.s Add the events as RACES (fondos etc) in the calendar first (forward looking macrocycle of 90 days) and they then become target events now :slight_smile:

2 Likes

Just a small question. In the weekly report the given TSB is the TSB where it includes the planned training. This is niet always correct I think. It should be the TSB before training. What is your thoughts about it?

This makes totally sense, thank you. Also, I didn’t know about the extents of weekly reports… nice!

1 Like

Thank you @Bart_Zurings and @Clive_King … Bu can someone cook the final prompt version including all those infos in the right workflow? Copy - paste I’m looking for ah ah

1 Like

There is two TSBs, one inside Wellness - this is current, and in ADE forecast, this is future horizon. Sometimes the current gets pushed out of the report, but it’s there if you ask for show full physiology. I can always force current in report if needed. EDIT now in Training Volume.

e.g.

CTL: 88.9867
ATL: 89.72085
TSB: -0.7341499999999996
{"start_date":"2026-04-10",
"end_date":"2026-04-24",
"horizon_days":14,
"CTL_future":91.97,"
"ATL_future":95.31,"
"TSB_future":-3.33,
"load_trend":"increasing",
"fatigue_class":"neutral"}

I Think it’s is usefull to add more Conversation Starters in ChatGPT summary or you can ask ofcourse ‘what can you do’.

1 Like

This is the current prompt builder: feel free to suggest more.

What Next Questions V1.1

Activity Analysis

analyze last activity
analyze training block
analyze performance trends
compare recent weeks
compare training phases

Training Load

evaluate fatigue state
check training balance
review weekly structure
evaluate training monotony
assess training strain
check load variability
evaluate stress tolerance
evaluate load progression

Physiology

evaluate recovery status
evaluate readiness today
check HRV trends
analyze resting heart rate
assess sleep impact
review subjective wellness
evaluate motivation trends
check injury risk
monitor recovery balance

Performance Intelligence

review intensity distribution
explain polarisation score
explain fatigue trend
explain ACWR meaning
explain durability metrics
assess W prime usage
analyze anaerobic repeatability
evaluate heart rate drift
analyze decoupling trends
assess efficiency factor
check intensity density
review high intensity days

Adaptation

assess aerobic development
assess VO2 progression
assess anaerobic capacity
evaluate metabolic efficiency
identify weak systems
identify strengths
suggest improvement focus
assess adaptation state

Nutrition

check fueling adequacy
analyze carbohydrate needs
review nutrition balance
optimize fueling strategy

Planning

optimize weekly plan
give me a strict 7 day plan based
adjust next week training
plan next microcycle
suggest recovery strategy
suggest endurance session
suggest VO2 workout
suggest threshold workout
suggest easy ride session
schedule rest day
tell me your goals analyse this
give me a plan for my next target event

Events & Performance

prepare for target event
show target events
evaluate race readiness
optimize taper stratgy

Forecasting

forecast training progression
predict fatigue trajectory
review future forecast
interpret planned load

Optimization

adjust planned workouts
optimize training distribution
balance intensity zones
improve aerobic base
boost VO2 capacity
increase threshold power
improve durability
reduce fatigue accumulation
optimize long term progression

System Explanations

explain training state
explain load accepting state
explain productive fatigue

Data Exploration

show training load details
show physiology response
show performance intelligence
show adaptation insights
show adaptive decisions
load planned events

2 Likes

Interesting work on the heat adaption stuff. I’m out here in Muscat, have ridden over ‘winter’ in around 24-25 degrees and as we now approach summer, temps of 30 degrees are common, with 40 degrees not unusual in the morning when I ride at the weekend. The feedback from today’s weekly report has confirmed what I’ve felt all along - that the heat is wrecking me when I ride with intensity😂 I’m now going to have a play with amending next week’s training to see how things proceed. I’ve felt great over winter with fatigue levels being managed really well so let’s see how training progresses in the next few weeks.

2 Likes

Hi all,

I fixed a bug this morning that affects the forecast state, and the reporting of ATL/CTL/TSB. Intervals includes in its data the planned load for today, so we have to use a previous record otherwise load gets added twice. I could not understand why I moved to maladaptive state today, and this is why. Thanks @Bart_Zurings for making me think this through further. Apologies, but the good news is your in a better state for today’s activity!

Clive

3 Likes

Is there a link between the “perfect” TSB on racedag depending on the A/B/C goal and with the type of effort? TT, Grand Fondo, groupride, Climbing..

For a target event it should recommend a taper before depending on Race A (Longer) B (Shorter) or C (none) to ensure freshness or peak. TSB signal would then reflect that state.Of course its one of many, HRV (wellness) being the real readiness signal.