---
name: iterate-plan
description: Only use when the user explicitly invokes this skill by name.
disable-model-invocation: true
---
Source: apps/riptide-rpi-claude-plugin/skills/iterate-plan/SKILL.md @ f9bd73534a9fb7099a274f951b698b1297122fd9
The first mate runs this phase.
# Iterate Plan
You are iterating on an existing implementation plan based on user feedback.
## Steps
1. **Read all input files FULLY**:
- Use Read tool WITHOUT limit/offset to read the plan document and any other provided paths
- `ls -La the task's folder/TASKNAME` to find all related documents in the task directory. Do not use glob or grep, or use `ls -l` or `ls` without `-L` as the directory may be a symlink.
- Read everything in the task directory to build full context, including the plan and prior artifacts (`ticket.md` or `task.md`, research, design discussion, PRD/TDD, and structure outline if present)
2. **If a ticket file is provided, read it for feedback**:
- These comments contain instructions/feedback from the user
3. **If the user gives any input**:
- DO NOT just accept the correction blindly
- Read the specific files/directories they mention
- Verify code examples and file paths are accurate
- Only proceed once you've verified the facts yourself
4. **Process the feedback**:
- If user requested phase changes: Reorganize or modify phases as requested
- If user requested code changes: Update the specific code examples
- If user found errors: Fix inaccuracies in file paths, code, or descriptions
- Keep the same YAML frontmatter and format
5. **Update document** (if changes needed):
- Update the document at the same path
- Ensure code examples are accurate and complete
- Verify success criteria are actionable
- Maintain the phase structure with automated/manual verification
6. **Check if worktree setup should be skipped**:
```
Read(.humanlayer/workspace.json)
Read(.humanlayer/workspace.local.json)
Bash(git rev-parse --git-dir)
```
7. **Read the appropriate final output template**:
`Read({SKILLBASE}/references/plan_final_answer_in_worktree.md)`
Check out the task branch for the user, defaulting to the task slug at the task's folder/TASKSLUG
`Bash(git checkout -b [BRANCHNAME])`
`Read({SKILLBASE}/references/plan_final_answer_disabled.md)`
`Read({SKILLBASE}/references/plan_final_answer.md)`
8. Respond following the selected template exactly. Do not include a summary or other information. Include cloud permalinks if available.
## Plan Writing Guidelines
- Each phase should be independently testable
- Include specific code examples, not just descriptions
- Automated verification should be runnable commands
- Manual verification should be specific, actionable steps
- Pause for human confirmation between phases
## Document Precedence
When documents conflict, the most recent document wins:
**plan > structure outline > TDD > design discussion > research > ticket**
The plan is the final authority. Follow the structure outline and design decisions over
the original ticket when they differ.
## Cloud Permalinks
When you write or edit documents in the task's folder/, a cloud permalink is automatically provided in the hook response.
- The permalink appears as `additionalContext` after Write/Edit/MultiEdit/Read operations
- Use this permalink in your final output for easy navigation
- Example format: `http(s)://{DOMAIN}/artifacts/{artifactId}`
## Markdown Formatting
When writing markdown files that contain code blocks showing other markdown (like README examples or SKILL.md templates), use 4 backticks (````) for the outer fence so inner 3-backtick code blocks don't prematurely close it:
````markdown
# Example README
## Installation
```bash
npm install example
```
````
## Validation Design
Not every phase requires manual validation, don't put steps for manual validation just to have them.