Skip to main content

In this article

rpi-plan

rpi-plan
FieldValue
Kindskill
Source.github/skills/rpi/rpi-plan
InvocationInvoked directly as /rpi-plan, or loaded on demand by referencing agents
InteractiveNo

What it does​

Create or resume an evidence-based RPI implementation plan with an optional independent critique. Use when a task needs an implementation plan or an existing plan needs revision.

When to use it​

Use rpi-plan when adequate evidence exists and the work needs a sequenced, verifiable plan before implementation. The skill writes one plan under .copilot-tracking/plans/ with a stable task ID, Pxx phases, and Pxx-Txx tasks. The plan leads with an executive summary and a diagrammed Phase Checklist; each task carries Goals:, Requirements:, Details:, References:, and Dependencies: blocks.

The Phase Checklist opens with Before and After Mermaid diagrams comparing the evidence-backed starting state with the intended result of all phases. Each phase highlights its changes within the After view, including labeled removal context when needed. Diagrams inherit the renderer's light or dark theme, use readable sans-serif labels, and pair custom highlight fills with explicit contrasting text colors.

Planning owns two internal steps. It activates rpi-research only for a demonstrated readiness gap, and runs rpi-plan-critique by default once the plan is implementation-ready. You can skip the critique; the planner records it as skipped rather than failed. A plan gets at most one critique: corrections and later plan changes do not start another, and a follow-up critique runs only when you ask. When a correction changes requirements, scope, or architecture, the planner says so at closeout so you can decide whether to ask for one. Set critique-effort= to choose the reasoning effort of the critique's lens assessments; otherwise the critique picks it per lens. Pass subagents=none to plan and critique without subagents. Confirmed user direction outranks critique advice.

The planner drafts every phase itself. Before drafting, it looks for skills and subagents whose descriptions say they are used during planning or with rpi-plan and follows each description's guidance on when and how to use it; no subagent is required.

Before drafting tasks, the planner finds the BRD, PRD, and ADR documents behind the work. It cites any you supplied, and it runs one quick search of the repository's BRD, PRD, and ADR locations for other relevant ones, recording what it searched and found in the plan's sources. It always cites the latest copy: a superseded document, whether supplied or found by the search, is followed to the document that replaced it. Each task that implements a source cites it with the specific requirement or decision IDs it satisfies and the document's committed path. The planner then reads each source's status and supersession fields. A superseded, deprecated, rejected, or withdrawn source is a medium risk; a source that is not yet approved, has no status, or cannot be resolved is a low one. Each becomes a row in the plan's risks table, so you see it before work starts. Planning never edits the source. Implementation and review rely on these citations to check alignment later.

One input shapes the critique:

InputValuesEffect
critiquestandard (default), deep, skipHow broadly the critique traces evidence; deep requires an explicit request and skip omits it

Reach for a different asset when:

  • Evidence is missing or contradictory. Run rpi-research first.
  • The plan already exists and is approved. Run rpi-implement.
  • You only want an independent read of an existing plan. Run rpi-plan-critique directly.

Example usage​

Create a plan​

/rpi-plan task=blob-storage research=.copilot-tracking/research/2026-09-04/blob-storage-research.md

The skill sends one RPI Plan opening with the interpreted goal, starting evidence, and decision state, drafts the phases, adds the Phase Checklist diagrams, and runs the critique once the plan is ready. Its final response summarizes readiness rather than restating the plan:

* Planning execution: Complete; Planning Readiness: Ready
* Critique: standard, Revise; PC-001 (Medium) corrected in P02-T02 Requirements
* Decisions: managed identity for production confirmed; connection string limited to local development

| Artifact | Description |
|------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------|
| [.copilot-tracking/plans/2026-09-04/blob-storage-plan.md](.copilot-tracking/plans/2026-09-04/blob-storage-plan.md) | Task-centered plan |
| [.copilot-tracking/reviews/plans/2026-09-04/blob-storage-plan-critique.md](.copilot-tracking/reviews/plans/2026-09-04/blob-storage-plan-critique.md) | Independent critique |

## Next Steps

Run `/rpi-implement plan=.copilot-tracking/plans/2026-09-04/blob-storage-plan.md`.

Inside an automatic RPI Agent session the parent continues to Implement without waiting for that command.

Skip the critique​

/rpi-plan task=blob-storage research=.copilot-tracking/research/2026-09-04/blob-storage-research.md critique=skip

The planner finalizes the plan without running rpi-plan-critique and records the critique as skipped in Critique Disposition. You can also ask to skip the critique at any point during planning, or move straight to /rpi-implement; implementation does not require a critique.

Resume an interrupted critique​

Critique Disposition records the critique status. If a session ends while the status is started and no critique result was saved, resume the task through rpi-plan and the critique runs again. A saved result is reused as is. A critique that returned no result never counts as a pass: the planner reruns it once the cause is resolved, or continues without it when you say so.

The planner records the kind of interruption, such as a session timeout or a missing dependency. If the same kind of interruption happens again to the same critique, it reruns the critique only after something changes, such as a narrower scope or a repaired dependency. Otherwise it stops and names the evidence needed to continue. A follow-up critique writes to the next numbered output, so it starts with its own once-per-kind rerun allowance.

Stop when corrections make no progress​

Before another revision or follow-up critique, the planner compares earlier plan versions, corrections, and unresolved findings. If a correction is reverted, findings oscillate, or the same required findings return without material progress, planning stops as Revise with the exact clearing action. A new session or task does not reset this check.

When most new findings in a follow-up critique come from text the last revision added, the planner stops revising: it resolves Critical and High findings with the smallest correction and accepts the rest as residual risk.