Run a Ralph loop against a TODO file.
# Loop on an existing TODO.md in the current directory
mix skill_kit.ralph TODO.md
# Generate TODO.md from a prompt, then loop
mix skill_kit.ralph TODO.md --prompt "Add JSON parsing to lib/foo.ex with tests"
# Choose a different agent (default: ralph)
mix skill_kit.ralph TODO.md --agent some-other-ralph
# Operate in a different working directory
mix skill_kit.ralph TODO.md --cwd path/to/projectHow it works
This task is a thin driver. The Ralph contract lives in skills:
examples/agents/ralph/AGENT.md— agent identity, routes user requests to the right skill.examples/agents/ralph/skills/plan/SKILL.md— generates a TODO file from a goal.examples/agents/ralph/skills/iterate/SKILL.md— does one iteration: pick top unchecked item, do it, mark [x], commit.
The task sends a trigger message per turn — "Plan a TODO file at
PATH for: GOAL" or "Iterate on PATH" — and waits for the agent to
echo the skill's final word: PLANNED, CONTINUE, or DONE. The
loop exits on DONE (or on an %Event.Error{}). There is no
iteration cap and no per-turn timeout — pacing is handled by
Anthropic.Client's 429 retry.
See guides/ralph-loop.md for the design.