Iterating on Implementation Plans
Update existing implementation plans based on user feedback through a surgical, verified approach.
Workflow
- •Identify plan and feedback - Parse input for plan path and requested changes
- •Read and understand - Read the entire existing plan
- •Research if needed - Only for changes requiring new technical understanding
- •Confirm approach - Present understanding before modifying
- •Update surgically - Make precise edits, preserve good content
- •Sync and review - Commit changes, offer further iteration
Step 1: Handle Input
If NO plan file provided:
code
Which plan would you like to update? Please provide the path. Tip: `ls -lt thoughts/shared/plans/ | head`
If plan file but NO feedback:
code
I've found the plan at [path]. What changes would you like to make? Examples: "Add a phase for X", "Update success criteria", "Split Phase 2"
If BOTH provided: Proceed directly to Step 2.
Step 2: Read and Understand
- •Read the existing plan FULLY - No limit/offset parameters
- •Parse requested changes - What to add/modify/remove
- •Determine if research needed - Only for new technical understanding
Step 3: Research If Needed
Skip if changes are simple (reordering, rewording, scope adjustments).
Only spawn research if the feedback requires new technical understanding or validating assumptions.
- •Create a research todo list with TodoWrite (only if research is non-trivial)
- •Spawn parallel, focused sub-tasks (do not research serially if tasks are independent)
- •Be explicit about exact directories to search and what signals to extract
- •Ask sub-tasks to return file:line references for every claim
Code investigation (pick the right one):
- •
codebase-locator- Find relevant files quickly - •
codebase-analyzer- Understand implementation details and constraints - •
codebase-pattern-finder- Find similar patterns to model after
Historical context:
- •
thoughts-locator- Find related research or decisions - •
thoughts-analyzer- Extract insights from prior documents
- •Read any newly-identified files FULLY into main context (Read without limit/offset)
- •Wait for ALL sub-tasks to complete before synthesizing
- •Verify sub-task results: if something seems off, spawn a follow-up task immediately
Step 4: Confirm Approach
code
Based on your feedback, I understand you want to: - [Change 1] - [Change 2] My research found: - [Relevant discovery] I plan to update by: 1. [Specific modification] 2. [Another modification] Does this align with your intent?
Get confirmation before proceeding.
Step 5: Update the Plan
- •Make surgical edits using the Edit tool
- •Maintain existing structure unless explicitly changing it
- •Keep file:line references accurate
- •Ensure consistency - new phases follow existing pattern
- •Update related sections - scope, success criteria, approach
Step 6: Sync and Review
bash
thoughtcabinet sync -m "Plan update: <description>"
Present changes made and offer further iteration.
code
I've updated the plan at `thoughts/shared/plans/[filename].md` Changes made: - [Specific change 1] - [Specific change 2] The updated plan now: - [Key improvement] - [Another improvement] Would you like any further adjustments?
Guidelines
Be Skeptical:
- •Question vague feedback - ask for clarification
- •Verify technical feasibility with research
- •Point out conflicts with existing phases
Be Surgical:
- •Precise edits, not wholesale rewrites
- •Only research what's necessary
- •Preserve content that doesn't need changing
Be Interactive:
- •Confirm understanding before changes
- •Allow course corrections
- •Don't disappear into research
Track Progress:
- •Use TodoWrite to track research/update work if complex
- •Mark research tasks complete as you finish them
No Open Questions:
- •Research or ask immediately if uncertain
- •Never update plan with unresolved questions
Success Criteria Structure
Maintain two-category structure when updating:
- •Automated Verification - Commands like
make test,npm run lint - •Manual Verification - UI/UX, performance, edge cases
Path Handling
- •The
thoughts/searchable/directory contains hard links for searching - •Always use canonical paths when referencing or writing files
- •Use:
thoughts/shared/prs/123.md - •Not:
thoughts/searchable/shared/prs/123.md
- •Use: