README.md

September 6, 2026 · View on GitHub

The RPI (Research, Plan, Implement, Review) lifecycle guides complex coding tasks toward verified outcomes and explicit follow-up. It keeps five concepts distinct without requiring every run to execute all of them. Start with research readiness: reuse supplied or completed evidence when it is adequate, and activate research only for a demonstrated gap.

Task context and evidence → Research when needed → Plan → Implement → Review → Follow-up

Why Use RPI

AI coding assistants can complete simple tasks quickly, but complex changes require more than plausible code. The assistant must verify existing patterns, understand dependencies, preserve decisions, and compare the result with explicit acceptance criteria.

RPI solves this through a counterintuitive insight: when AI knows it cannot implement, it stops optimizing for "plausible code" and starts optimizing for "verified truth." The constraint changes the goal.

Key benefits

  • Assesses evidence before opening a research stage, so adequate research is reused rather than repeated.
  • Uses verified existing patterns instead of inventing plausible ones.
  • Preserves decisions, changes, validation, and review routing in durable task artifacts.

Tip

See Why the RPI Workflow Works for the psychology, quality comparisons, and entry surfaces behind the lifecycle.

RPI separates lifecycle concepts without requiring an autonomous chain of specialized task workers. Use RPI Agent as a user-selected lifecycle wrapper, /rpi-quick as a skill-based full-flow entry point, or a direct phase skill when you need focused work.

The Lifecycle Concepts

🔬 Research with rpi-research

Use /rpi-research only when available evidence is not adequate for requirements, acceptance criteria, dependencies, material risks, complexity, uncertainty, or a decision-critical question. Multi-file changes, new patterns, external integrations, and architecture decisions can reveal a gap, but they do not automatically require fresh research.

Research is read-only. It searches the workspace and relevant external sources, distinguishes evidence from assumptions, evaluates alternatives, and records planning readiness. When research runs, its durable output is:

.copilot-tracking/research/{{YYYY-MM-DD}}/{{task_slug}}-research.md

Reuse supplied or completed evidence when it is adequate. Record why research was reused or satisfied-and-skipped so the next phase does not repeat the investigation.

📋 Plan with rpi-plan

Use /rpi-plan when adequate evidence must become a sequenced, verifiable implementation strategy. Planning focuses on dependencies, acceptance criteria, boundaries, and stable work identifiers instead of changing source files.

The skill creates or revises two coordinated artifacts:

.copilot-tracking/plans/{{YYYY-MM-DD}}/{{task_slug}}-plan.md
.copilot-tracking/reviews/plans/{{YYYY-MM-DD}}/{{task_slug}}-plan-critique.md

The task-centered plan uses stable Pxx phase IDs and Pxx-Txx task IDs with matching <!-- rpi:... --> markers. It opens with an executive summary and a Phase Checklist that starts with a Mermaid diagram of the overall change; each phase repeats that diagram with its own portion highlighted.

Every task carries labeled Goals:, Requirements:, Details:, References:, and Dependencies: blocks, with backticks around code and commands and Markdown links to the files it touches. The Requirements: block is the checkable record for the task; how to verify it is left to the implementer. An independent critique records Pass, Revise, or Blocked before implementation readiness.

⚡ Implement with rpi-implement

Use /rpi-implement to execute approved Pxx or Pxx-Txx work. Provide the dated plan, critique disposition, and exact phase or task when the execution scope is bounded.

Implementation records material work and truthful validation in:

.copilot-tracking/changes/{{YYYY-MM-DD}}/{{task_slug}}-changes.md

Completion checkboxes change only after evidence exists. If implementation needs a significant departure from the approved plan, it records the discovery in the changes record, updates the affected plan tasks after the required decision, and pauses only dependent work until the plan is current. The existing critique remains historical evidence and is not repeated.

✅ Review with rpi-review

Use /rpi-review when the implementation evidence is ready for acceptance review. Review does not modify the sources under review. One selected review worker compares requirements, acceptance criteria, plan and task completion, critique dispositions, implementation-time plan updates, changes, and validation evidence in one record, and the review parent records the final outcome and routing:

.copilot-tracking/reviews/logs/{{YYYY-MM-DD}}/{{task_slug}}-review.md

Substantive findings receive severity-graded RV-xxx identifiers and explicit destinations. Review keeps execution status (Complete, Partial, or Blocked) separate from outcome (Conformant, Conformant with justified divergence, Defects found, Residual work, or Not accepted). This distinction prevents completed execution from being mistaken for accepted work.

➡️ Follow-up

Follow-up does not rename or repeat another lifecycle concept. It routes defects to implementation, decision gaps to planning, evidence gaps to research, and residual work to a distinct next item.

RPI Entry Surfaces

Choose the smallest entry surface that owns the next action:

Entry surfaceUse it whenContract
RPI AgentYou want a user-selected lifecycle wrapperActivates the applicable RPI skills with one task identity; manual by default, Full Auto on request
/rpi-quickYou want a skill-based full-flow entry pointCoordinates research readiness, planning, implementation, review, and follow-up
/rpi-researchA demonstrated evidence gap blocks credible progressProduces research evidence without planning or implementation
/rpi-planAdequate evidence needs an implementation strategyProduces the task-centered plan and critique disposition
/rpi-implementApproved work is ready to executeProduces source changes, change evidence, and validation
/rpi-reviewImplementation evidence is ready for reconciliationProduces one review record and routes open work
/rpi-challengerYou want to expose assumptions before actingAsks adaptive skeptical questions and records unresolved items
/rpi-walkthroughYou want to understand code or artifacts before changing themExplains one segment at a time and captures requested changes when needed

Select RPI Agent when you want a user-selected lifecycle wrapper that activates these same skills. It runs in manual mode until you confirm an automatic session, which then completes the remaining phases through Review and offers ranked follow-up work. RPI Agent and /rpi-quick are alternative entry surfaces, not autonomous dispatchers of specialized task workers. See Using RPI Together for the mode details.

Managing Context Between Lifecycle Concepts

Use /clear or a new chat when a long lifecycle has accumulated context, you are switching concepts, or the conversation is no longer serving the task well. A context reset is a tool for clarity, not a requirement to repeat research or restart the lifecycle.

Durable artifacts carry the necessary context:

research, when it runs → task-centered plan → changes → review and routed follow-up

Resume with the same stable task ID and open or reference the relevant dated artifacts. Navigate plan sections with Pxx, Pxx-Txx, headings, and <!-- rpi:... --> markers.

For the technical explanation of why this matters, see Context Engineering.

When to Use RPI

Use RPI artifacts when...Use a smaller direct edit when...
The task needs evidence, planning, or review routingThe change is clear and isolated
Dependencies, risk, or uncertainty need explicit handlingExisting evidence and acceptance are sufficient
A handoff needs durable task evidenceNo durable lifecycle evidence is needed

Use research when readiness identifies a gap. Otherwise, select the smallest lifecycle action that gives the task credible evidence and a clear owner.

Quick Start

  1. Define the task with requirements, acceptance criteria, decisions, dependencies, and available evidence.
  2. Assess research readiness and use /rpi-research only if a demonstrated gap remains.
  3. Plan with /rpi-plan when durable planning is needed.
  4. Implement approved work with /rpi-implement.
  5. Review with /rpi-review, then route defects, decisions, evidence gaps, or residual work through Follow-up.

Tip

Use /rpi-quick or select RPI Agent when you want a lifecycle entry surface. Use a direct phase skill when the required next action is already clear.

Next Steps

See Also


🤖 Crafted with precision by ✨Copilot following brilliant human instruction, then carefully refined by our team of discerning human reviewers.