CtrlK
BlogDocsLog inGet started
Tessl Logo

prp-loop

Run the autonomous cyclic PRP pipeline end to end (plan → implement → pr → review, looping review→fix until the PR is clean). Use when the user wants to "ship feature X end to end", "run the full PRP loop", "auto-implement and open a PR for a feature", or invokes /prp-loop.

79

Quality

100%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

SKILL.md
Quality
Evals
Security

PRP Loop — autonomous cyclic pipeline

Launch the orchestrator that drives plan → implement → pr → review and loops review → fix until the PR review is clean (or limits are hit). It runs headless claude -p 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 ${CLAUDE_PLUGIN_ROOT}/skills/prp-loop/scripts/prp_loop.py "$ARGUMENTS"

Resume a halted or in-progress loop:

uv run ${CLAUDE_PLUGIN_ROOT}/skills/prp-loop/scripts/prp_loop.py --resume

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 ${CLAUDE_PLUGIN_ROOT}/skills/prp-loop/scripts/prp_loop.py "$ARGUMENTS" --until implement

--until implement runs plan → implement and stops once validations are green and the work is committed — no PR, no review. This is the headless replacement for the old single-session Ralph loop: "grind one plan to green."

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 claude -p 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 the plan, looping until all validations pass (bounded by --max-implement-iterations), then commits.
  3. prprp-pr pushes the branch and opens the PR (once).
  4. reviewprp-review --agents reviews the PR and writes a {clean, blocking} verdict.
  5. cycle — if not clean, the blocking findings feed back into a fix pass → push → re-review, up to --max-cycles. Clean → done.

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.