Generative AI isn’t smarter than you: It can’t figure out the best answer to your question, and it can’t ponder a problem (yet). But it often knows more than you: The average LLM has a lot of information stored in its pointy little head.
Coax an AI to convert all that information into something useful. Persuade it. Cajole it, even.
To do that, remember:
- Performing tasks with generative AI is not a linear process
- You need to prompt, test, refine, fix what’s broken, and then do it again
- The most painful prompt/test/refine/fix process is almost always a lot faster than doing it yourself
Today I followed those rules, and by golly, it worked!
Great content and bad habits: Our story begins
Two things happened to me today:
First, I read this piece by Wil Reynolds: AI survival kit for marketers. It inspired the poop out of me.
Second, I realized I’ve been overtraining. I’m a cyclist. For the last six weeks, I’ve been training absurdly hard, including riding Zwift with a bunch of lunatics called the Knights Of Sufferlandria. Yes, I’m one of them. No, it makes no difference. I’m left with my metaphorical tongue flapping in my spokes every damn time. Lately, though, I’ve been getting slower. After forty-plus years, you’d think I’d no longer be a testosterone-laden wannabe superhuman who rides his knees off every day. And yet here I am, having ridden my knees off in a testosterone-laden attempt to get stronger and riding myself into the ground instead.
The math does itself:
AI inspiration + bad training habits = Have AI design a training plan.
What I wanted
I wanted to create a 4-week cycling and strength training plan with:
- 6 workouts per week and 1 rest day
- Using workouts from a program called The Sufferest. It’s not as crazy as it sounds, I promise
- Hard rides always on Saturdays
- Everything imported into Todoist as a project, with weeks as sections and workouts as tasks
I decided to go step-by-step.
Warning! If you don’t know your limits, the sport you’re training for, and a little training science, do not use generative AI to create a workout plan!!! This is an example based in a training system I’ve used for years. I still shared it with experienced friends to make sure I wasn’t about to wreck myself. Remember: AI provides knowledge, not intelligence.
Step 1: Use ChatGPT to generate the training plan
This, as it turned out, was the easy part. I wrote a prompt.
The prompt
“I am a 56-year-old cyclist with an FTP of — watts. I weigh — pounds and have a VO2 Max of –. I’m having issues with overtraining. I have 8–10 hours per week for training. I want to improve my VO2 max and FTP while allowing sufficient rest and recovery time. Create a 4-week cycling and strength training plan. Each week should include a mix of recovery rides, VO2 max intervals, endurance rides, and strength training. Please structure the plan so that each week has 6 workouts and 1 rest day. Please make sure that my hardest ride is always on Saturday. Include specific strength workouts for someone who owns a pullup bar and dumbells. Where possible, use Sufferfest cycling workouts as examples.”
Note that I included:
- A little bit about me to set context. Weight, functional threshold power (FTP), and VO2 max give the AI a sense of my limits
- The fact that I’m overtraining and need more rest
- What I want to improve
- Timing and schedule
I jabbed the return key and waited.
The result
I have a great, detailed plan. It included strength workouts (which I hate), and cycling workouts (which I love) and used Sufferfest videos for examples. Here’s what one week looks like (screen capture because I’m lazy):
Boom. That didn’t require any cajoling. Or coaxing. Or even persuading.
Look at me, Mr. AI-literate. I was feeling pretty smug. Now, I just needed to turn it into a Todoist project.
Remember when I said, “Performing tasks with generative AI isn’t linear?”
This next part is a perfect, not-so-perfect example.
Step 2: Generate the Todoist CSV
I wanted the entire training plan in Todoist. It’s my favorite productivity gadget and my portable brain. But there is no way I’m cutting and pasting dozens of tasks by hand.
Todoist has a nifty import feature. I’d never used it, so why not let ChatGPT do the work?
First try: A vague prompt
“Please convert this to a format I can import into Todoist as a project.”
ChatGPT spat out a Markdown file. I’m a Markdown guy, so, hey, neat! Todoist accepts Markdown!
Wrong. Todoist requires a CSV file. ChatGPT got it wrong. Or did it?
Repeat after me: Prompt, test, refine. Also coax. No persuading or cajoling necessary (yet).
Second try: Say what I mean
ChatGPT needs a little more information. Todoist does accept Markdown for formatting. ChatGPT knew that. But it couldn’t figure out that I wanted to import this plan as tasks. Knowledge, not intelligence.
However, you need a CSV to import specific tasks. OK, time to try something different:
“Please format as a CSV for importing into Todoist. Each week should be a section, and each workout should be a task.”
Poof! ChatGPT gave me a CSV file. It had sections for each week, tasks for each workout, dates, everything. I hummed cheerfully to myself as I imported the CSV.
Cue the error message: Not a valid format. The amateur developer in me wanted to punch a hole in the universe. If you know, you know.
ChatGPT didn’t know Todoist’s super-specific CSV formatting rules. Fields were missing, rows were different lengths, blah blah blah. As a severely CSV-impaired human, I wasn’t going to judge. But I did need to fix it. Time to do a little persuading.
Third try: Provide an example
I needed to help ChatGPT help me. I grabbed Todoist’s official CSV template and uploaded it into ChatGPT.
“Here is Todoist’s official CSV template. Please use this as a reference to fix any formatting issues with the workout plan.”
ChatGPT added the right columns. It looked much better.
Same error.
Grrrr.
But prompt, test, refine, right?! I tried a little cajoling, saying “Quit it!” I felt a little guilty, but I had to put my foot down.
Fourth try: Banishing comma demons
Here’s a workout description:
Focus on 85–95% FTP, short intervals.
See the comma in the description? Commas are delimiters. Todoist saw that comma and thought, “Oh, a new field!”
It then split the field into two columns, creating rows with different numbers of columns, and breaking the entire file.
I hate commas, and so do ChatGPT and Todoist. I’m in good company.
It made perfect sense, but I’d already spent a whole twenty minutes on this project and was getting impatient.
I am not normal.
My new prompt:
“Please remove all commas within the descriptions so that the only commas in the file are column delimiters. Also, ensure there are no empty rows.”
It worked. Perfectly. My whole training plan was in Todoist.
I give you generative AI, folks. Not linear. Prompt. Test. Refine. And yeah, sometimes, cajole. Be firm. Hold your ground.
One last tweak
Remember my first prompt? I wanted my hardest training day to be Saturday. After import, though, my hardest days were Wednesdays, and there’s no way I’m going to pedal myself senseless if I can’t go out for pancakes after.
My theory: ChatGPT didn’t understand “Saturday” versus “Wednesday” and needed dates instead. I had one more request:
“Please readjust so that the first workout is on Monday, 1/6/2025. That will ensure the hardest rides are on Saturdays.”
All set. I re-imported and now have my entire training plan in Todoist with correct dates. Here’s how it looks:
What I learned
The whole process, start to finish, took thirty minutes. Next time, it’ll take ten.
Doing the entire process by hand, from research to Todoist, would’ve taken hours.
Since I knew my training numbers, generating the plan was pretty straightforward.
Generating the Todoist file was not so easy. If I did it again, I would:
- Give ChatGPT the CSV template first
- Tell ChatGPT you can’t have commas in fields, or ask it to escape the commas, or ask it to follow best practices for CSV generation
- Specify the start date rather than the day of the week
Gen AI requires patience, patience, patience
But the real lesson is coax, cajole, persuade. Don’t assume Generative AI is smart. Assume it knows a lot. And yes, there’s a difference. That’s why you need to prompt, test, refine, fix what’s broken, and then do it again. It’s worth it.
HAHAHAA “I am not normal.”
Love seeing the full detailed process of idea -> iterations of prompts -> outcome! Patience is key
Love your thought process breakdown on cajoling AI, love for Todoist and above all patience.
Would love to see more of your thoughts and blogs on how you use Gen AI for PPC or SEO or any marketing in general .
I am not normal. As real as it can get.
I love the real world example. Thanks for the real laughs, too.