CtrlK
BlogDocsLog inGet started
Tessl Logo

prp-loop

Runs the detached, resumable PRP pipeline in fresh headless CLI sessions, cycling plan, implementation, PR, review, and corrections with persisted state and safety bounds. Use only when the user explicitly asks to "run the full PRP loop", "run this detached", "continue across context windows", use headless autonomous execution, resume a saved loop, or invokes $prp-loop. Use prp-issue for ordinary end-to-end delivery.

75

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

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

  1. planprp-plan writes the plan under the project's PRP store at $PRP_DIR/plans/<feature>.plan.md.
  2. implementprp-implement executes and validates the plan, commits the work, and opens the PR (bounded by --max-implement-iterations).
  3. pr compatibility — if an older implementation run did not open a PR, prp-pr does so once.
  4. reviewprp-review runs its current default review, writes the canonical report, and publishes that complete report to GitHub.
  5. cycle — if the verdict needs fixes, the complete report, plan, and live PR feed into a fresh prp-implement correction 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 from main/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.

Repository
Wirasm/prp
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.