The PRD to Plan to Todo Methodology
You have a Jira ticket that says “Add user notifications.” Your PM wants it by Friday. You open Cursor, Claude Code, or Codex, paste the ticket description, and hit enter. The AI generates 400 lines of code that looks plausible but misses half the requirements, invents a notification table schema that conflicts with your existing database, and ignores your team’s API conventions entirely.
The problem is not the AI. The problem is that you skipped the planning phase and asked a probabilistic system to make architectural decisions it is not qualified to make.
What You’ll Walk Away With
Section titled “What You’ll Walk Away With”- A repeatable three-phase workflow (PRD, Plan, Todo) that works across Cursor, Claude Code, and Codex
- Copy-paste prompts for each phase that you can use on your next feature
- A strategy for keeping the AI focused on implementation while you own the architecture
- Techniques for saving your plan as a reusable artifact that survives context resets
The Three Phases
Section titled “The Three Phases”The PRD to Plan to Todo methodology separates thinking from doing. You invest 15-20 minutes in structured planning to save hours of debugging and rework.
Phase 1: Ingest the PRD
Section titled “Phase 1: Ingest the PRD”Every feature starts with a requirement. It might be a formal Product Requirements Document, a user story, a Slack message from your PM, or a bug report. Whatever form it takes, you need to get it into your AI tool as the foundational context.
The key principle: the AI reads the requirement, but you validate its understanding before it writes a single line of code.
Place your PRD in the repository (e.g., docs/notifications-prd.md). Open Agent mode and reference it directly:
Read @docs/notifications-prd.md and summarize the key requirements.List any ambiguities or missing details I should clarify before we plan.Do not write any code yet.Cursor’s Agent will read the file, cross-reference it against your codebase using semantic search, and surface questions you might not have considered. Use @codebase to let it scan for existing patterns.
Keep your PRD in the repo or pipe it directly. Use Plan Mode (Shift+Tab to toggle) to prevent any file modifications:
Read docs/notifications-prd.md. Summarize the requirements andidentify anything ambiguous or underspecified. Cross-referenceagainst the existing codebase to find related code.Do not make any changes yet.Claude Code will explore the codebase, read relevant files, and report back. Plan Mode ensures nothing gets modified during this exploration phase.
Reference the PRD in your prompt. Codex can work from the App, CLI, IDE, or Cloud surfaces:
Read docs/notifications-prd.md and summarize the requirements.Identify any ambiguities and list what existing code is related.Do not make any code changes.In the Codex App, you can also attach images of mockups or screenshots alongside the PRD for additional context. Codex will analyze both text and visuals before proposing a plan.
Phase 2: Collaborative Planning
Section titled “Phase 2: Collaborative Planning”With the requirements understood, you now co-create the implementation plan. This is where your architectural expertise matters most. The AI proposes, you evaluate, and together you refine until the plan is solid.
Stay in Agent mode. Ask for a structured plan and iterate on it:
Based on the PRD and your analysis of the codebase, create ahigh-level implementation plan covering:
1. Database schema changes (migrations)2. Backend API endpoints (following our existing patterns in src/api/)3. Frontend components (following our component patterns)4. Integration points with existing notification systems
Do not write code. Output the plan as a markdown document.Review the plan carefully. Push back on architectural decisions:
The plan proposes a new notifications table, but we already havean events table that could be extended. What are the trade-offsof each approach? Which aligns better with our existing patterns?Continue in Plan Mode. Ask Claude to produce a plan and press Ctrl+G to edit the plan directly in your text editor:
Create a detailed implementation plan for the notifications feature.Cover database changes, API endpoints, frontend components, andintegration points. Follow the patterns you found in the codebase.
Output as a structured markdown plan I can review.Use the interview technique for complex features:
Before writing the plan, interview me about the requirements.Ask about edge cases, performance requirements, and constraintsI might not have mentioned. Use the AskUserQuestion tool.Codex excels at planning across surfaces. Use the App for complex planning since it provides the best review experience:
Create an implementation plan for the notifications feature basedon the PRD. Analyze the existing codebase for patterns to follow.Cover: database, API, frontend, and integration points.
Output the plan as docs/notifications-plan.md so the team can review.With Codex’s GitHub integration, you can have it create a draft PR with just the plan document for team review before any implementation begins.
Phase 3: Generate the Todo List
Section titled “Phase 3: Generate the Todo List”The plan becomes a checklist. Each item should be small enough to implement and verify in a single AI interaction. This is what makes the methodology reliable: instead of asking the AI to build an entire feature, you give it one focused task at a time.
Convert the implementation plan into a detailed, ordered todo list.Each task should:- Be implementable in a single focused session- Have clear acceptance criteria- Include the specific files to modify- Be ordered so each task builds on the previous one
Save this as docs/notifications-todo.mdCursor tracks todo items natively. You can reference the todo file throughout implementation with @docs/notifications-todo.md and ask Cursor to mark items complete as you go.
Switch out of Plan Mode (Shift+Tab) to allow Claude to create the file:
Convert our plan into an actionable todo list. Requirements:- Each task is a single, verifiable unit of work- Tasks include the files that need modification- Tasks are ordered by dependency (database first, then API, then UI)- Include test tasks after each implementation task
Save to docs/notifications-todo.mdClaude Code’s TodoWrite tool can manage these items across sessions. Use --continue to resume where you left off.
Convert the plan into an ordered todo checklist indocs/notifications-todo.md. Each item should be:- A single implementable task- Include files to create or modify- Include verification steps (tests to run, behavior to check)- Ordered by dependency
Format as markdown checkboxes so I can track progress.Codex can then work through the list systematically. In the App, each todo item can become its own thread, keeping context focused and clean.
The Execution Loop
Section titled “The Execution Loop”With your todo list in hand, implementation becomes a predictable loop:
- Pick the next unchecked task from the todo list
- Give the AI the task with the plan as reference context
- Let the AI implement it
- Verify (run tests, review the diff)
- Commit the change
- Repeat
Each iteration is small, reviewable, and reversible. If the AI goes off track on task 7, you only lose the work from that one task, not the entire feature.
When This Breaks
Section titled “When This Breaks”The PRD is too vague. If the requirement is “make notifications better,” no amount of methodology will save you. Push back on your PM or write a more specific PRD yourself. The AI can help: ask it to generate a PRD template and fill in what you know.
The plan is too ambitious. If your plan has 40+ todo items, the feature is too big for one cycle. Split it into milestones that each deliver user-visible value. Ship milestone 1 before planning milestone 2.
The AI drifts from the plan. Context window limits mean the AI may “forget” earlier planning in long sessions. Reference the plan file explicitly in every prompt (@docs/notifications-plan.md). In Claude Code, use /clear between tasks and re-reference the plan. In Codex, use separate threads per task.
You skip the planning phase “just this once.” Every developer who has tried to skip straight to implementation has learned the same lesson: the time you save skipping the plan, you spend tripling on debugging. The 15-minute planning investment pays for itself on every feature larger than a one-file change.