Arguments:
$ARGUMENTS(and$1,$2, ...) refer to the arguments given when this skill was invoked. Take them from the user's request; if absent, infer them from the conversation.
PRP Loop — autonomous cyclic pipeline
Launch the orchestrator that drives plan → implement (commit + PR) → review and loops review → fix until the PR review is clean (or limits are hit). It runs headless codex exec once per stage and tracks progress in ~/.prp/<key>/state/prp-loop.state.json.
Run it
Start a new loop with the user's request as the feature argument:
uv run .agents/skills/prp-loop/scripts/prp_loop.py "$ARGUMENTS" --cli codex
Resume a halted or in-progress loop:
uv run .agents/skills/prp-loop/scripts/prp_loop.py --resume --cli codex
Defaults: --max-cycles 3, --max-implement-iterations 10, base branch auto-detected. Pass --validate "<cmd>" to give the loop an authoritative green check (exit 0 = pass).
Stop after a stage (--until)
Pass --until <stage> (plan | implement | pr | review | fix) to halt once that stage completes:
uv run .agents/skills/prp-loop/scripts/prp_loop.py "$ARGUMENTS" --cli codex --until implement
--until implement runs plan → implement and stops once validations are green and the implementation skill has committed and opened its PR — no review.
UX note: the retired Ralph loop was single-session and interactive (a Stop-hook fed the prompt back in the same session). prp-loop --until implement is headless instead — it drives fresh codex exec sessions per iteration and you resume/inspect via the state file rather than watching it live.
What it does
- plan —
prp-planwrites the plan under the project's PRP store at$PRP_DIR/plans/<feature>.plan.md. - implement —
prp-implementexecutes and validates the plan, commits the work, and opens the PR (bounded by--max-implement-iterations). - pr compatibility — if an older implementation run did not open a PR,
prp-prdoes so once. - review —
prp-reviewruns its current default review, writes the canonical report, and publishes that complete report to GitHub. - cycle — if the verdict needs fixes, the complete report, plan, and live PR feed into a fresh
prp-implementcorrection pass → push → re-review, up to--max-cycles. Ready to merge → done; review incomplete → halt.
Safety
- Fully autonomous (
--dangerously-skip-permissions). Operates only on the feature branch — it refuses to PR frommain/master/development/the base branch. - Halts with state preserved on: implement/fix not green after the iteration limit, review still dirty after
--max-cycles, a fix pass with no new commit (no progress), failed push, or any stage error. - Inspect or resume via
~/.prp/<key>/state/prp-loop.state.json.
Notes
This orchestrator is self-contained and uses no Stop-hook. It owns both loops itself and detects "green" from each stage's VALIDATION: GREEN sentinel (or the --validate command). The PRP skills it calls are invoked verbatim and never modified.