iterative-development
Opinionated project initialization for Claude Code. Security-first, spec-driven, AI-native.
448 stars37 forksUpdated Jan 20, 2026
npx skills add https://github.com/alinaqi/claude-bootstrap --skill iterative-developmentSKILL.md
Iterative Development Skill (Ralph Wiggum Integration)
Load with: base.md
Concept: Self-referential development loops where Claude iterates on the same task until completion criteria are met. Based on the Ralph Wiggum plugin.
Core Philosophy
┌─────────────────────────────────────────────────────────────┐
│ ITERATION > PERFECTION │
│ ───────────────────────────────────────────────────────── │
│ Don't aim for perfect on first try. │
│ Let the loop refine the work. Each iteration builds on │
│ previous attempts visible in files and git history. │
├─────────────────────────────────────────────────────────────┤
│ FAILURES ARE DATA │
│ ───────────────────────────────────────────────────────── │
│ Failed tests, lint errors, type mismatches are signals. │
│ Use them to guide the next iteration. │
├─────────────────────────────────────────────────────────────┤
│ CLEAR COMPLETION CRITERIA │
│ ───────────────────────────────────────────────────────── │
│ Define exactly what "done" looks like. │
│ Tests passing. Coverage met. Lint clean. │
│ No ambiguity about when to stop. │
└─────────────────────────────────────────────────────────────┘
Installing Ralph Wiggum Plugin
# Clone the plugin
git clone https://github.com/anthropics/claude-code.git /tmp/claude-code
cp -r /tmp/claude-code/plugins/ralph-wiggum ~/.claude/plugins/
# Or add to project-local plugins
mkdir -p .claude/plugins
cp -r /tmp/claude-code/plugins/ralph-wiggum .claude/plugins/
How It Works
┌─────────────────────────────────────────────────────────────┐
│ 1. /ralph-loop "Your task prompt" --max-iterations 20 │
├─────────────────────────────────────────────────────────────┤
│ 2. Claude works on task │
├─────────────────────────────────────────────────────────────┤
│ 3. Claude attempts to exit │
├─────────────────────────────────────────────────────────────┤
│ 4. Stop hook blocks exit, feeds SAME PROMPT back │
├─────────────────────────────────────────────────────────────┤
│ 5. Claude sees modified files + git history from before │
├─────────────────────────────────────────────────────────────┤
│ 6. Claude iterates and improves │
├─────────────────────────────────────────────────────────────┤
│ 7. Loop continues until: │
│ • Completion promise detected: <promise>DONE</promise> │
│ • Max iterations reached │
└─────────────────────────────────────────────────────────────┘
Key insight: The prompt never changes. Only the file state evolves. Claude reads its own previous work and refines it.
TDD-Integrated Prompt Templates
Feature Development (TDD Loop)
/ralph-loop "
## Task: [Feature Name]
### Requirements
- [Requirement 1]
- [Requirement 2]
- [Requirement 3]
### TDD Workflow (MUST FOLLOW)
1. Write failing tests based on requirements
2. Run tests - verify they FAIL (RED phase)
3. Implement minimum code to pass tests
4. Run tests - verify they PASS (GREEN phase)
5. Run lint and typecheck
6. If any failures, debug and fix
7. Repeat until all green
### Completion Criteria
- [ ] All tests passing
- [ ] Coverage >= 80%
- [ ] Lint clean (no errors)
- [ ] TypeScript/type check passing
### Exit Condition
When ALL criteria above are TRUE, output:
<promise>ALL TESTS PASSING AND LINT CLEAN</promise>
" --completion-promise "ALL TESTS PASSING AND LINT CLEAN" --max-iterations 30
Bug Fix (TDD Loop)
/ralph-loop "
## Bug: [Bug Description]
### Reproduction
1. [Step 1]
2. [Step 2]
3. Observe: [Wrong behavior]
4. Expected: [Correct behavior]
### TDD Bug Fix Workflow (MUST FOLLOW)
1. Run existing tests - note if any catch the bug
2. Write a failing test that reproduces the bug
3. Run test - verify it FAILS (proves test catches bug)
4. Fix the bug with minimum code change
5. Run test - verify it PASSES
6. Run FULL test suite for regressions
7. Run lint and typecheck
8. If any failures, debug and fix
9. Repeat until all green
### Completion Criteria
- [ ] New test for bug exists
- [ ] New test passes
- [ ] All existing tests pass
- [ ] No regressions
- [ ] Lint clean
### Exit Condition
When ALL criteria are TRUE, output:
<promise>BUG FIXED WITH TEST</promise>
" --completion-promise "BUG FIXED WITH TEST" --max-iterations 25
Refactoring (Safe Loop)
/ralph-loop "
## Refactor: [What to refactor]
### Goals
- [Goal 1: e.g., Extract function, reduce complexity]
- [Goal 2: e.g., Improve naming]
- [Goal 3: e.g., Split file if > 200 lines]
### Saf
...
Repository Stats
Stars448
Forks37
LicenseMIT License