How to turn an AI into your personal coach: Goal-specific prompts and setup instructions
Would you use AI to analyse your historical riding data?
The world of Artificial Intelligence (AI) is moving so fast that even WorldTour cycling teams are now using it to help understand and interpret riders' data to aid with training and racing.
For example, Netcompany-Ineos recently announced it would use an AI-based aero testing app next year.
AI use is commonplace now, and cyclists are using it to their advantage. Following suit, I decided to see what AI could do for me.
My end goal was for AI to generate a bespoke training plan that could return me to my peak level of fitness, whatever that was. Simple, or so I thought. I wanted to learn about customising an AI training plan based on my own historical data, and improve my skills along the way.
The first challenge was choosing a platform. ChatGPT, Claude, Gemini and Microsoft Copilot were all AI assistants that I investigated.
Some AI engines or apps are free, some aren't. Free versions limit what you can do and, in this case, how many files you can upload to be analysed. I paid a subscription fee as I was always going to need to use my full training history. After researching the different platforms, I settled on Claude because it could read and analyse my CSV files directly.
With Claude chosen, I paid for a subscription and began to see what it could do.
The latest race content, interviews, features, reviews and expert buying guides, direct to your inbox!
I decided to ask it to build me a 12-week indoor training plan using this simple prompt:
"Build me a 12-week indoor cycling training plan of between 7 and 10 hours a week. I can ride 5 times a week, but not on Thursday."
Claude then produced the plan below for me:
Weeks |
Phase |
Hours per week |
Main work |
1-3 |
Base |
7.5 → 8.5 → 9.5 |
FTP test in Week 1, then sweet spot and tempo |
4 |
Recovery |
7 |
Easier riding |
5-7 |
Build |
8 → 9 → 10 |
Threshold and over under intervals |
8 |
Recovery |
7 |
Easier riding |
9-11 |
Peak |
8.5 → 9.5 → 10 |
V02 Max intervals with some threshhold |
12 |
Taper |
7 |
FTP re -test on Saturday |
The plan is perfectly acceptable, but it's limited. It offers nothing beyond what you can find in cycling training manuals or on hundreds of websites online.
The plan falls short because it is not based on my own data. Without access to my training data, asking AI to build me a plan will always result in something this generic.
Granted, you can input parameters such as how many rides you intend to do each week, how many hours you have available for training, and which days suit you best, but beyond that, the output will always be limited.
Data is key
To create a bespoke plan and something tailored to my requirements, I realised that I needed to provide AI with my training data. Only with this could AI produce a bespoke plan. And for that, I knew where to go:
My Strava account held almost all my training data, and with the functionality to download it, I could then take the relevant files and have AI analyse them and utilise my training and riding history.
[Ed. Since undertaking this project, but prior to publishing, Strava launched its MCP connector, allowing direct plugin to AI assistants, enabling the sharing of historic datam, plus future data in perpetuity].
A data side quest
However, I had to undertake a slight side quest first. Strava did not have all my data. My early years of training results were held on spreadsheets, so I had to get these uploaded into Strava using a third-party app.
I reformatted the spreadsheets got the data uploaded into Strava, using a third-party go between. I then requested my complete set of training data from Strava. An email link soon arrived with a 1.7 GB archive, though I only needed one file from it.
The summary file was called "activities.csv" and contained enough data to enable AI to produce a tailored plan for me.
To download your own data in Strava, go to Settings > My Account > Download or Delete Your Account, then select Request Your Archive. Strava then emails you a link to the data.
Only activities.csv is needed, so there's no need to upload the whole thing. If you have many years of riding and the file is too large to upload, delete the oldest rows, but keep your best season so the AI can compare against it.
A word of caution: activities.csv includes heart-rate data, which is personal health information. I recommend checking your AI platform's privacy and data settings before you upload it.
Power figures only appear in activities.csv files for rides recorded with a power meter or smart trainer. Without them, the AI's FTP estimates and power targets will be much less reliable, so bear this in mind too.
AI and prompts
The next challenge was writing the correct prompts to finesse my training programme. My first attempt was too simple. After some research, I learned that a good prompt needs four key components.
The first component is the persona, which assigns the AI a specific role, for example: "You are an elite cycling WorldTour coach."
The second component is the specific task, such as "Using my uploaded data, analyse and assess my current level and create me a 12-week training plan that gets me to and surpasses my previous best cycling fitness levels."
The third component is the context: including any important details, which in this case were the days I could train and for how many hours.
The fourth and final component is the format, or how I would like the answer to look.
The prompt I decided to use to build my specific training plan was as follows:
"You are an elite cycling WorldTour coach. Using my uploaded data in the spreadsheet only, analyse and assess my current level and create a 12-week training plan that gets me to and surpasses my previous best cycling fitness levels."
"I have 10 hours per week for training and can ride 5 times a week, with the exception of Thursday."
"Sessions in the week must not last longer than 90 minutes. I would like a detailed session plan, detailing how long each session should last, power output and heart rate."
I also find that going to a separate Claude chat window and asking it to suggest its own prompt is a good way to learn the phrasing and terminology that Claude itself understands. You can iterate on its suggestion more easily than create your own from scratch, and the wording is often less vague than anything I would generate myself.
I later refined these prompts into a shorter version that you can reuse:
"You are an elite WorldTour cycling coach. Using only the rides in my attached Strava activities.csv, assess my current level against my all-time best (estimated FTP, and best 20-minute and 60-minute power), then create a 12-week plan starting [date] to beat it."
"I have 10 hours a week over 5 rides. I can't ride on Thursday or [second rest day], and weekday rides must be 90 minutes or less. Give me my power and heart-rate zones, then a table for each week showing day, duration, session, target watts, and target heart rate. Include recovery weeks and FTP tests in weeks 1, 4, 8, and 12, and be honest about how realistic the goal is."
Before building the plan, the AI assessed my data. It estimated that my FTP had fallen from about 325–329 watts at my peak (December 2021 to February 2022) to about 260 watts, a drop of around 20%, and that my weekly riding had halved from 8–10 hours to about 4.5 hours. That told me straight away that this plan would be built around me, not a textbook.
The output, generated by the first of the two prompts above, was a very detailed plan with tailored power and heart-rate targets. The table below shows Week 1; the other 11 weeks are just as detailed.
The plan is not fixed. After each FTP test, I can give the AI the result and ask it to recalculate my zones and update the remaining weeks, so the plan keeps pace with my fitness. With the newly added MCP Connector, this could even be automated.
Example Block 1: Rebuild (FTP 260 W)
Day |
Duration |
Session |
Power |
HR |
Tue |
75 mins |
20-min FTP test. 15 min Z2, 3 × 1 min at 290 W (1 min easy), 5 min easy, 20 min max effort (start at 265 W, build). FTP = 0.95 × 20-min average |
FTP TEST |
Rising to 165-172 |
Wed |
75 mins |
Z2 endurance, 85–95 rpm |
170-190 W |
115-133 |
Fri |
60 mins |
Easy, with 4 × 30 s spin-ups at 110–120 rpm |
155-180 W |
<128 |
Sat |
150 mins |
Endurance, last hour includes 2 × 10 min tempo (5 min easy between) |
175-190 W |
<133 / 135 - 148 |
Sun |
120 mins |
Z2 endurance |
165-185 W |
<133 |
Prompts you may find useful
Goal Planning
This prompt gets the AI to act as your personal cycling coach and build a 12-week plan that fits around your life and moves you towards a goal, such as beating your best FTP. It is a fuller version of the short prompt above, giving you more control over the output.
"You are an elite WorldTour cycling coach who builds periodised, power-based plans for time-limited amateurs. Using the 'Ride' and 'Virtual Ride' activities in my attached Strava activities.csv, create a progressive 12-week plan to [goal, e.g., beat my previous best FTP]. I have [X] hours a week across [X] rides; I can't ride on [days], and weekday sessions are capped at [X] minutes.
Remember to be specific in your demands; a degree of nuance and experience is needed here, and if you choose to experiment, the more you do, the better you will get.
I asked the AI to give me:
- An assessment of my current level against my all-time best, with key numbers. Estimate FTP from Weighted Average Power in 20–60-minute rides, and include weekly hours, load, and consistency over the last 12 weeks.
- A zones table: % of FTP, watts, and heart rate.
- One table per week: day, duration, session (with intervals and recoveries), target watts, target heart rate, and weekly total hours. Include recovery weeks and FTP tests in weeks 1, 4, 8, and 12, with week 12 a taper that ends in the final test.
- Up to five rules on fuelling, adjusting when fatigued, and updating zones after each test.
- Be realistic about what 12 weeks can achieve.
Recovery Assessment
This prompt uses your data to check whether you've been riding too hard too often over the past month without enough easy days or rest between hard rides. The aim is to catch fatigue before it leads to poor performance, illness, or burnout.
"You are a cycling physiologist specialising in recovery and fatigue monitoring. Using the 'Ride' and 'Virtual Ride' activities in my attached Strava activities.csv file from the last 30 days, find the days where my recovery was probably not enough. My FTP is [X] W, and my threshold heart rate is [X] bpm. Classify each ride as hard (above 85% of FTP), moderate, or easy (below 70% of FTP), using Weighted Average Power, Relative Effort, and heart rate, and treat a heart rate of 0 as not recorded. Flag hard days back-to-back, more than three hard rides in any seven days, and heart rate out of line with power."
I also asked my AI coach to give me:
- A 30-day calendar table: date, ride, duration, Weighted Average Power, and Hard/Moderate/Easy/Rest.
- Each day where recovery was not enough, with a one-line reason.
- My hard-to-easy ratio compared with 80/20.
- Three changes to my weekly structure.
Event Preparation
This prompt checks whether your recent riding has prepared you for a specific event, such as a sportive, road race, or time trial, and tells you what to work on in the four weeks before it.
"You are an experienced cycling coach who prepares riders for races and sportives. Look at my rides from the last 12 weeks in the attached Strava activities.csv file. I'm riding [event, e.g., a 120 km sportive with 2,000 m of climbing] on [date]; my goal is [goal, e.g., finish under 4 hours], and my FTP is about [X] W. Tell me whether my training so far has prepared me for this event.
I also asked my AI coach to give me:
- A short summary of how fit I am now, in three or four sentences.
- A table of my last 12 weeks: hours ridden, longest ride, total climbing, and number of hard sessions (Weighted Average Power above 85% of FTP) each week.
- What's missing. Check whether I've done enough long rides, enough climbing, enough long steady, hard efforts, and enough short bursts for attacks. For each gap, show the evidence from my data and why it matters for this event.
- A four-week plan to fix those gaps, with the key sessions, the long ride for each week, and power and heart-rate targets.
- An honest one-line answer on whether my goal is realistic.
A word on agentic AI
Rather than building all of the above as a self-serve chat-based coach that you ask questions of and manually prompt when you want it to adjust or analyse your work, it could even be built agentically. An overarching AI Agent could be given the primary prompt, the database of Strava workouts uploaded as resources alongside your preferences, and improvements to your power duration curve or your FTP can be its reward signal.
The trio of prompts above - alongside others - could then be created as 'skills' - essentially tools that the LLM can call upon, and automations can be built to check your progress periodically, update the plan in real time, and flag whenever you're off track.
If you wanted, you could even connect it to your Whoop (if you use one), and your Calendar app of choice to slot the workout into your day.
There's a lot of potential here, and although the build essentially seeks to mimic much of what's already been achieved by TrainerRoad, Zwift Plus, Vekta, FasCat, Xert et al, there's a certain enjoyment and pride in building it yourself (even if Claude is doing the hard yards), and being able to tweak it to your liking.
Conclusion
AI can be a valuable tool for cyclists to understand their training and improve performance, and many are already experimenting with ways to use AI to improve their training.
The results are going to depend on the input. While generating a basic training plan is easy, creating a genuinely bespoke one is harder.
The real insights come when AI accesses your historical training data. It analyses past performances, assesses your current state, and builds a plan around your ambitions, time, and individual needs. This results in a more detailed and personalised approach.
For the plans and outputs to be relevant, the data must be accurate, prompts carefully constructed, and output critically evaluated. Training recommendations are only as useful as their underlying information and assumptions. AI should not replace professional coaching or understanding your body's response to training.
There's also a cost, both for AI platform subscriptions and the time to organise data and refine prompts. Yet, for cyclists willing to invest the initial effort, the reward is a plan built around their own numbers rather than a generic one.
I aimed to see if AI could help me regain peak fitness. I now have a structured, data-driven 12-week plan designed to do just that. Its success will ultimately be determined on the bike in the coming weeks.
You must confirm your public display name before commenting
Please logout and then login again, you will then be prompted to enter your display name.