---
name: iterative-runner
description: "Runs Claude in a retry loop until tests pass or task completes. Use for TDD loops, overnight builds, or any task needing repeated iteration until success. Triggers on: loop until done, keep trying, retry until pass, TDD loop, iterate until tests pass."
---
# Iterative Runner
Runs Claude in a persistent loop that keeps retrying until tests pass or the task is complete.
## When to Use
- Running TDD loops that iterate until all tests pass
- Overnight builds that need to keep trying until successful
- Any task requiring repeated attempts until completion criteria are met
- Automated retry for flaky or complex implementations
## Core Concept
```bash
while :; do cat PROMPT.md | claude ; done
```
Keep iterating until task is complete.
## Workflow
### Step 1: Define Completion Criteria
Specify clear success conditions:
- All tests passing
- No linter errors
- Specific output marker (e.g., `DONE`)
### Step 2: Set Safety Limits
Always use `--max-iterations` to prevent infinite loops.
### Step 3: Run the Loop
```bash
# Basic loop
iterative-runner "Build feature X" --completion-promise "DONE" --max-iterations 30
# TDD loop
iterative-runner "Implement feature using TDD.
1. Write failing test
2. Implement to pass
3. Run tests
4. Fix if failing
5. Repeat
Output DONE when all tests green." --max-iterations 50
```
## Prompt Best Practices
1. **Clear completion criteria** - Define what "done" means
2. **Incremental goals** - Break into phases
3. **Self-correction** - Include retry logic
4. **Escape hatch** - Always use --max-iterations
## Template
```
Implement [FEATURE].
Requirements:
- [Requirement 1]
- [Requirement 2]
Success criteria:
- All tests passing
- No linter errors
After 15 failed iterations:
- Document blockers
- List attempted approaches
Output COMPLETE when done.
```