ralph-loop - Completion Enforcement Loop
When to use this skill
-
Long-running implementation tasks that tend to stop early
-
Tasks that need strict completion signaling
-
Workflows using ultrawork / ulw in OpenCode
-
Sessions where the agent must continue until exact completion
- Core Command Pattern
Use the built-in command form:
/ralph-loop "<task description>" [--completion-promise=TEXT] [--max-iterations=N]
Defaults:
-
Completion promise: DONE
-
Max iterations: 100
- How the Loop Behaves
-
Starts with your task prompt.
-
On each idle cycle, verifies whether the assistant output contains:
<promise>DONE</promise>
-
If not found, injects a continuation prompt and increments iteration.
-
Stops only when:
-
Completion promise is detected, or
-
Max iterations is reached, or
-
You run /cancel-ralph .
- Practical Usage
Standard run
/ralph-loop "Refactor auth module and finish all tests"
Custom promise
/ralph-loop "Migrate API clients to v2" --completion-promise=SHIP_IT
Bounded iteration run
/ralph-loop "Fix flaky CI tests" --max-iterations=20
Cancel active loop
/cancel-ralph
- Integration Notes for skills-template
-
Keep this skill as an operational guide for OpenCode workflows.
-
Pair with orchestration skills (for example, ohmg ) when tasks require delegation.
-
Require explicit completion tags in final responses to avoid premature stop.
Quick Reference
Action Command
Start loop /ralph-loop "task"
Custom promise /ralph-loop "task" --completion-promise=TEXT
Iteration cap /ralph-loop "task" --max-iterations=N
Cancel /cancel-ralph