skills/iterate-plan/SKILL.md
Update existing implementation plans through user feedback with thorough research and validation. Also migrates old checkbox-based plans to the new Task tools system. This skill should be used when iterating on implementation plans, updating plans based on new requirements, refining technical approaches in existing plans, migrating old plans to Task tools, or when the user wants to modify a previously created plan file. Triggers on requests like "update the plan", "change the implementation approach", "iterate on this plan", "migrate to new system", or when feedback is provided about an existing plan document.
npx skillsauth add mhylle/claude-skills-collection iterate-planInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill enables intelligent iteration on existing implementation plans. Rather than rewriting plans from scratch, it makes surgical, well-researched updates while preserving the plan's existing structure and quality standards.
This skill uses Claude Code's native Task tools for progress tracking.
When iterating on plans, you must keep Tasks synchronized with plan changes:
| Plan Change | Task Action |
|-------------|-------------|
| Add new phase | TaskCreate for new phase, update addBlockedBy dependencies |
| Remove phase | TaskUpdate to mark removed (or delete if not started) |
| Reorder phases | Update addBlockedBy relationships |
| Rename phase | TaskUpdate to change subject |
| Modify phase scope | TaskUpdate to change description |
Important: The plan's task_list_id in metadata links to its Tasks. Always verify you're updating the correct task list.
Use this process when a plan lacks
task_list_idin its metadata.
Old plans used checkbox-based progress tracking ([x] / [ ]). The new system uses Task tools. When you encounter an old plan, migrate it.
An old plan has:
task_list_id in YAML frontmatter- [x] Task completed / - [ ] Task pendingStep M1: Generate task_list_id
Create an ID from the plan filename:
docs/plans/2024-03-15-user-auth.md → plan-2024-03-15-user-auth
docs/plans/api-refactor.md → plan-api-refactor
Step M2: Add metadata to plan
Add or update the YAML frontmatter:
---
task_list_id: plan-2024-03-15-user-auth
migrated_from_checkboxes: true
migration_date: 2026-01-25
---
Step M3: Create Tasks for each phase
For each phase in the plan:
TaskCreate:
subject: "Phase N: [Phase Name]"
description: "[Phase objective from plan] - Plan: [plan file path]"
activeForm: "Implementing Phase N: [Name]"
Step M4: Determine phase status from checkboxes
Analyze existing checkboxes to determine status:
| Checkbox Pattern | Task Status |
|-----------------|-------------|
| All tasks [x] checked | completed |
| Some tasks [x], some [ ] | in_progress |
| All tasks [ ] unchecked | pending |
TaskUpdate:
taskId: [phase task]
status: "completed" | "in_progress" | "pending"
Step M5: Set up dependencies
Create sequential dependencies:
TaskUpdate:
taskId: [phase-2-task]
addBlockedBy: [phase-1-task]
TaskUpdate:
taskId: [phase-3-task]
addBlockedBy: [phase-2-task]
Step M6: Preserve checkboxes as reference
Do NOT remove checkboxes from the plan. They serve as historical record. Add a note:
> **Note**: This plan has been migrated to Task tools for progress tracking.
> Checkboxes below are preserved for reference but progress is now tracked via `TaskList`.
> Task List ID: `plan-2024-03-15-user-auth`
Before (old plan):
# Implementation Plan: User Authentication
## Phase 1: Database Schema
- [x] Create users table
- [x] Add password hash column
- [x] Create sessions table
## Phase 2: Auth Service
- [x] Implement password hashing
- [ ] Implement login endpoint
- [ ] Implement logout endpoint
## Phase 3: Testing
- [ ] Unit tests for auth service
- [ ] Integration tests
After (migrated plan):
---
task_list_id: plan-user-authentication
migrated_from_checkboxes: true
migration_date: 2026-01-25
---
# Implementation Plan: User Authentication
> **Note**: This plan has been migrated to Task tools for progress tracking.
> Checkboxes below are preserved for reference but progress is now tracked via `TaskList`.
> Task List ID: `plan-user-authentication`
## Phase 1: Database Schema
- [x] Create users table
- [x] Add password hash column
- [x] Create sessions table
## Phase 2: Auth Service
- [x] Implement password hashing
- [ ] Implement login endpoint
- [ ] Implement logout endpoint
## Phase 3: Testing
- [ ] Unit tests for auth service
- [ ] Integration tests
Tasks created:
Tasks (1 done, 2 open):
✓ #1 Phase 1: Database Schema
● #2 Phase 2: Auth Service (in_progress) › blocked by #1
◻ #3 Phase 3: Testing › blocked by #2
Migrate automatically when:
/iterate-plan on an old plan/implement-plan on an old planPresent migration summary to user:
📋 Plan Migration Required
This plan uses the old checkbox-based progress tracking.
I'll migrate it to the new Task tools system.
Phases detected: 3
- Phase 1: Database Schema (completed - all checkboxes checked)
- Phase 2: Auth Service (in progress - partial checkboxes)
- Phase 3: Testing (pending - no checkboxes checked)
Proceed with migration? (Tasks will be created, checkboxes preserved)
Parse the user's request to identify two required elements:
Handle these scenarios:
| Scenario | Action | |----------|--------| | No plan provided | Ask: "Which plan file should I update?" | | Plan but no feedback | Ask: "What changes would you like to make to this plan?" | | Both provided | Proceed to Step 1 |
Read the complete plan file and thoroughly understand:
task_list_id in plan metadata (links to Task tools progress)Check for old plan format:
IF plan has no task_list_id in frontmatter:
→ Plan needs migration (see "Migrating Old Plans to Task Tools")
→ Present migration summary to user
→ Perform migration before proceeding with iteration
Check existing Tasks (for migrated/new plans):
TaskList: View current tasks for this plan
Note which phases:
Document the sections that will likely need modification based on the feedback.
Critical: Only spawn research tasks if the changes require new technical understanding.
When research is necessary, use specialized sub-agents with highly specific instructions:
Research Task Template:
- Agent type: codebase-locator | codebase-analyzer | Explore
- Specific directories to examine
- Exact patterns or code to find
- Required output format (file:line references)
Research scenarios that warrant sub-agent spawning:
Do NOT research when:
Before making any modifications, present:
Interpretation of Feedback
Research Findings (if research was performed)
Planned Modifications
Wait for user confirmation before proceeding to Step 4.
Update the plan using Edit tool with these principles:
Structural Integrity
Content Quality
Success Criteria Standards
Edit Scope
Critical: Keep Tasks aligned with plan changes.
For added phases:
TaskCreate:
subject: "Phase N: [New Phase Name]"
description: "[Phase objective] - Plan: [plan file path]"
activeForm: "Implementing Phase N: [Name]"
TaskUpdate:
taskId: [new task]
addBlockedBy: [previous phase task ID]
For removed phases:
# If phase was never started:
TaskUpdate:
taskId: [removed task]
status: "completed"
description: "[Original description] - REMOVED: [reason]"
# Update dependencies of subsequent phases
TaskUpdate:
taskId: [next phase]
addBlockedBy: [new predecessor]
For reordered phases:
# Clear old dependencies and set new ones
TaskUpdate:
taskId: [moved phase]
addBlockedBy: [new predecessor IDs]
For renamed/modified phases:
TaskUpdate:
taskId: [phase task]
subject: "Phase N: [New Name]"
description: "[Updated description]"
After editing, present:
Summary of Changes Made
Current Task Status
Invitation for Further Iteration
Do NOT update the plan with unresolved questions.
If research reveals ambiguity or multiple valid approaches:
Before considering iteration complete, verify:
For migrated plans, also verify:
task_list_id added to YAML frontmattermigrated_from_checkboxes: true in frontmatter| Scenario | Plan Action | Task Action | |----------|-------------|-------------| | Migrate old plan | Add frontmatter + migration note | TaskCreate for all phases with correct status | | Add phase between 2 and 3 | Insert new Phase 2.5 (renumber to 3) | TaskCreate + update dependencies | | Remove phase 3 | Delete phase content | Mark task completed with "REMOVED" note | | Split phase into two | Create two phases from one | TaskCreate for new, update original | | Merge two phases | Combine into single phase | Mark one completed with "MERGED" note | | Change phase order | Reorder in plan | Update all blockedBy relationships |
Never leave Tasks out of sync with the plan. The Task list is the source of truth for progress, and the plan is the source of truth for specifications.
testing
One-command issue-to-merge pipeline orchestrator. Drives a GitHub issue through nine stages (preflight, plan, implement, review, ci, cloud_review, deploy, e2e, logs) with two human gates, persisting all run state to files so a crashed or interrupted run resumes losslessly. Triggers on "/ship-issue" with an issue number or URL. User-invoked only.
tools
--- name: tt-workflow-build description: Tasktracker-native trigger for a PARALLEL build via the Claude Code Workflow tool. Thin by design — it does two things, then drives to done: (1) ensure a tasktracker project exists (use the existing one, or create one), then (2) start a dynamic `Workflow` that builds it, tracking the work in tasktracker and using the build + verify skills. It does NOT analyze parallelism up front, ask the user to choose a mode, hand back, or fall back to a sequential skil
tools
--- name: grumpy-reviewer description: A single grumpy, nitpicky structural code reviewer that runs as an isolated subagent and treats the code as third-party work submitted by a junior programmer for validation. It cares about exactly one thing — maintainability — judged through separation of concerns, service-oriented design, helper-method extraction, small files, and the rule of 7 (as any grouping nears 7 members, it pushes for sub-groupings). It is deliberately kept OUT of the implementation
development
--- name: tt-workflow-run description: Tasktracker-native autonomous build-loop orchestrator. Drives a first-class `workflow_run` end-to-end — create the run (Gate 1 lifecycle completeness + Gate 2 zero-defects-in), then loop while `getNextReadyTask(projectId)` returns a slice — `setActiveTask` → record a pre-slice `scanArchitectureDrift` baseline → delegate the slice to `/tt-implement-phase` (which does the code work, registers the architecture delta in-slice, and auto-logs defects/learnings/fr