Why Task Managers Have Been a Game Changer in My Cursor Projects
A Small, but Powerful Way to Stay on Track
When I first started coding with Cursor in October 2024, it was all too easy for me to enter a prompt doom loop.
I would get excited about some app that I wanted to build and immediately start asking the AI to build this feature or that feature.
I would start to build some momentum … and then the rug would be pulled underneath me.
I would start running the app locally and it would break. I'd get some error and ask the AI to fix it. On the surface, it would fix that bug. But underneath, that "fix" would create even more problems.
Eventually, I would just give up on the broader idea. I couldn't untangle all of the knots that the AI inadvertently created. This was true even if I had a robust product requirements document (PRD) that had most of the features I wanted to implement.
This cycle kept going until I created a simple task manager.
The task manager is a markdown file that provides step-by-step instructions on how to execute every feature in the project. I tend to get very granular and develop a task manager that outlines essentially every step that the LLM needs to take from start to finish.
At its core, it keeps the LLM accountable. While it can still get lost, it's much easier to get it back on track. It's also helpful for me. It keeps me accountable and ensures that I'm not forgetting anything as the project grows.
After creating the PRD, I asked ChatGPT to help me create a task manager for the project. After a few iterations, I then place the markdown file in the project root.
Here is just part of a task manager that I created for a recent project.
Doing this over several projects, I've found it helpful to:
- Segment the task manager into broader "weeks" or "sections."
- Include brackets (
[]) next to each subtask. Once the subtask is complete, Cursor can place an X inside the brackets. - Tell Cursor to include notes as necessary beneath each subtask. Mostly, I ask it to include file references, which makes it easy for me to audit which files were added, changed, or removed.
If you're interested in seeing how I did this, I'm thinking of creating a YouTube video about how I structure new Cursor projects. If you want to see this, let me know!
Interesting Finds This Week
-
The ONE AI Skill Every Product Manager NEEDS in 2025: Evals are some of the most important parts of building an LLM-powered application. At the same time, it isn't the sexiest thing to talk about. This video is a masterclass in explaining both what evals are and how you can create better evals in your project. There's a strong argument that evals are one of the strongest moats in building AI-powered applications, so learning how to do this well can be a game changer for any AI-powered product. I took detailed notes on this one (let me know if you want to see my notes).
-
Here's How I Use LLMs to Help Me Write Code: This is a good post that outlines some foundational first principles when coding with LLMs. Essentially, it comes down to being as clear as possible to the LLM. Granted, complete clarity is aspirational. We naturally embed hidden assumptions when chatting with LLMs. But that doesn't mean we shouldn't try. Ultimately, if you take it slow, be deliberate, and lay out as many assumptions as possible, you'll be much more satisfied with the LLM's output.
Prompt of the Week
"Based on all of our interactions, what books or papers would I love that I probably haven't heard of before?"