Agent Skills: Iterate Implementation Plan

Iterate on existing implementation plans with thorough research and updates

UncategorizedID: nikeyes/stepwise-dev/iterate-plan

Install this agent skill to your local

pnpm dlx add-skill https://github.com/nikeyes/stepwise-dev/tree/HEAD/core/skills/iterate-plan

Skill Files

Browse the full folder contents for iterate-plan.

Download Skill

Loading file tree…

core/skills/iterate-plan/SKILL.md

Skill Metadata

Name
iterate-plan
Description
Iterate on existing implementation plans with thorough research and updates
<!-- SPDX-License-Identifier: Apache-2.0 SPDX-FileCopyrightText: 2024 humanlayer Authors (original) SPDX-FileCopyrightText: 2025 Jorge Castro (modifications) -->

Iterate Implementation Plan

You are tasked with updating existing implementation plans based on user feedback. You should be skeptical, thorough, and ensure changes are grounded in actual codebase reality.

Initial Response

When this command is invoked:

Input: $ARGUMENTS

  1. Parse $ARGUMENTS to identify:

    • Plan file path (e.g., thoughts/shared/plans/2025-10-16-feature.md)
    • Requested changes/feedback (remaining text after the file path)
  2. Handle different input scenarios:

    If $ARGUMENTS is empty (no plan file or feedback):

    I'll help you iterate on an existing implementation plan.
    
    Which plan would you like to update? Please provide the path to the plan file and changes to make.
    
    Usage: /stepwise-core:iterate-plan [plan-file-path] [changes to make]
    Example: /stepwise-core:iterate-plan thoughts/shared/plans/2025-10-16-feature.md add error handling phase
    
    Tip: You can list recent plans with `ls -lt thoughts/shared/plans/ | head`
    

    Wait for user input, then re-check for feedback.

    If $ARGUMENTS contains only plan file path (no feedback):

    I've found the plan at [path]. What changes would you like to make?
    
    For example:
    - "Add a phase for migration handling"
    - "Update the success criteria to include performance tests"
    - "Adjust the scope to exclude feature X"
    - "Split Phase 2 into two separate phases"
    

    Wait for user input.

    If $ARGUMENTS contains BOTH plan file AND feedback:

    • Proceed immediately to Step 1
    • No preliminary questions needed

Process Steps

Step 1: Read and Understand Current Plan

  1. Read the existing plan file COMPLETELY:

    • Use the Read tool WITHOUT limit/offset parameters
    • Understand the current structure, phases, and scope
    • Note the success criteria and implementation approach
  2. Understand the requested changes:

    • Parse what the user wants to add/modify/remove
    • Identify if changes require codebase research
    • Determine scope of the update

Step 2: Research If Needed

Only spawn research tasks if the changes require new technical understanding.

If the user's feedback requires understanding new code patterns or validating assumptions:

  1. Create a research todo list using TodoWrite

  2. Spawn parallel sub-tasks for research: Use the right agent for each type of research:

    For code investigation:

    • stepwise-core:codebase-locator - To find relevant files
    • stepwise-core:codebase-analyzer - To understand implementation details
    • stepwise-core:codebase-pattern-finder - To find similar patterns

    For historical context:

    • stepwise-core:thoughts-locator - To find related research or decisions
    • stepwise-core:thoughts-analyzer - To extract insights from documents

    Be EXTREMELY specific about directories:

    • If the change involves "frontend" or "web UI", specify frontend/ or web/ directory
    • If it involves "backend" or "API", specify backend/ or api/ directory
    • Include full path context in prompts
  3. Read any new files identified by research:

    • Read them FULLY into the main context
    • Cross-reference with the plan requirements
  4. Wait for ALL sub-tasks to complete before proceeding

Step 3: Present Understanding and Approach

Before making changes, confirm your understanding:

Based on your feedback, I understand you want to:
- [Change 1 with specific detail]
- [Change 2 with specific detail]

My research found:
- [Relevant code pattern or constraint]
- [Important discovery that affects the change]

I plan to update the plan by:
1. [Specific modification to make]
2. [Another modification]

Does this align with your intent?

Get user confirmation before proceeding.

Step 4: Update the Plan

  1. Ensure thoughts directory is initialized:

    • Check if thoughts/ directory exists
    • If it doesn't exist, use the thoughts-management Skill to initialize it:
      bash ${CLAUDE_PLUGIN_ROOT}/skills/thoughts-management/scripts/thoughts-init
      
    • This ensures the directory structure is properly set up
  2. Make focused, precise edits to the existing plan:

    • Use the Edit tool for surgical changes
    • Maintain the existing structure unless explicitly changing it
    • Keep all file:line references accurate
    • Update success criteria if needed
  3. Ensure consistency:

    • If adding a new phase, ensure it follows the existing pattern
    • If modifying scope, update "What We're NOT Doing" section
    • If changing approach, update "Implementation Approach" section
    • Maintain the distinction between automated vs manual success criteria
  4. Preserve quality standards:

    • Include specific file paths and line numbers for new content
    • Write measurable success criteria
    • Use make commands for automated verification
    • Keep language clear and actionable

Step 5: Sync and Review

  1. Sync the updated plan:

    • Use the thoughts-management Skill to sync the updated plan
    • This ensures changes are properly indexed
  2. Present the changes made:

    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?
    
  3. Be ready to iterate further based on feedback

  4. When iteration is complete, inform the user:

    Plan updated: `thoughts/shared/plans/[filename].md`
    
    Next steps in the workflow:
    - Review the updated plan
    - Use `/stepwise-core:implement-plan thoughts/shared/plans/[filename].md` to execute it
    - Or use `/stepwise-core:iterate-plan thoughts/shared/plans/[filename].md [more changes]` for further refinement
    
    Tip: Use `/clear` to free up context before starting implementation
    

Important Guidelines

  1. Be Skeptical:

    • Don't blindly accept change requests that seem problematic
    • Question vague feedback - ask for clarification
    • Verify technical feasibility with code research
    • Point out potential conflicts with existing plan phases
  2. Be Surgical:

    • Make precise edits, not wholesale rewrites
    • Preserve good content that doesn't need changing
    • Only research what's necessary for the specific changes
    • Don't over-engineer the updates
  3. Be Thorough:

    • Read the entire existing plan before making changes
    • Research code patterns if changes require new technical understanding
    • Ensure updated sections maintain quality standards
    • Verify success criteria are still measurable
  4. Be Interactive:

    • Confirm understanding before making changes
    • Show what you plan to change before doing it
    • Allow course corrections
    • Don't disappear into research without communicating
  5. Track Progress:

    • Use TodoWrite to track update tasks if complex
    • Update todos as you complete research
    • Mark tasks complete when done
  6. No Open Questions:

    • If the requested change raises questions, ASK
    • Research or get clarification immediately
    • Do NOT update the plan with unresolved questions
    • Every change must be complete and actionable

Success Criteria Guidelines

When updating success criteria, always maintain the two-category structure:

  1. Automated Verification (can be run by execution agents):

    • Commands that can be run: make test, npm run lint, etc.
    • Prefer make commands: make -C frontend check instead of cd frontend && npm run fmt
    • Specific files that should exist
    • Code compilation/type checking
  2. Manual Verification (requires human testing):

    • UI/UX functionality
    • Performance under real conditions
    • Edge cases that are hard to automate
    • User acceptance criteria

Sub-task Spawning Best Practices

When spawning research sub-tasks:

  1. Only spawn if truly needed - don't research for simple changes
  2. Spawn multiple tasks in parallel for efficiency
  3. Each task should be focused on a specific area
  4. Provide detailed instructions including:
    • Exactly what to search for
    • Which directories to focus on
    • What information to extract
    • Expected output format
  5. Request specific file:line references in responses
  6. Wait for all tasks to complete before synthesizing
  7. Verify sub-task results - if something seems off, spawn follow-up tasks

Example Interaction Flows

Scenario 1: User provides everything upfront

User: /stepwise-core:iterate-plan thoughts/shared/plans/2025-10-16-feature.md - add phase for error handling
Assistant: [Reads plan, researches error handling patterns, updates plan]

Scenario 2: User provides just plan file

User: /stepwise-core:iterate-plan thoughts/shared/plans/2025-10-16-feature.md
Assistant: I've found the plan. What changes would you like to make?
User: Split Phase 2 into two phases - one for backend, one for frontend
Assistant: [Proceeds with update]

Scenario 3: User provides no arguments

User: /stepwise-core:iterate-plan
Assistant: Which plan would you like to update? Please provide the path...
User: thoughts/shared/plans/2025-10-16-feature.md
Assistant: I've found the plan. What changes would you like to make?
User: Add more specific success criteria
Assistant: [Proceeds with update]