rpi-plan

rpi-plan is a skill for Claude Code from microsoft/hve-core. It costs 31 tokens per session (2,630 once invoked), scanned A, original, MIT.

A planning workflow that turns requirements, evidence, research, and decisions into an implementation-ready plan with phases and tasks.

In plain words
What is it for?
Use it to create or revise a coding plan, break work into phases, define acceptance criteria, and prepare tasks for implementation.
Why use it?
It separates confirmed user requirements from planning assumptions and keeps scope, dependencies, acceptance checks, and follow-up work explicit.

Skill for Claude Code ✓ vendor

Written for Claude Code: user-invocable in frontmatter. Also seen: mentions subagents.

Good fit Use it to create or revise a coding plan, break work into phases, define acceptance criteria, and prepare tasks for implementation.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/microsoft/hve-core/rpi-plan
About the project

HVE Core is a collection of agents, prompts, coding instructions, and skills for building repeatable software-development workflows with GitHub Copilot. It is intended for individuals and teams that want structured AI-assisted research, planning, implementation, and review, while the catalogue entries provide many of its reusable workflow components.

microsoft/hve-core · 1,436 stars · on GitHub

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add microsoft/hve-core --skill rpi-plan
Clone the repo
git clone --depth 1 https://github.com/microsoft/hve-core

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for rpi-plan

README.md
[![agentmods](https://agentmods.dev/badge/skills/microsoft/hve-core/rpi-plan.svg)](https://agentmods.dev/skills/microsoft/hve-core/rpi-plan)
Your own site
<a href="https://agentmods.dev/skills/microsoft/hve-core/rpi-plan"><img src="https://agentmods.dev/badge/skills/microsoft/hve-core/rpi-plan.svg" alt="Measured on agentmods" height="20"></a>
Per session 31 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,630 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00031 $0.02630
Opus 5 $0.00015 $0.01315
Sonnet 5 $0.00006 $0.00526
Haiku 4.5 $0.00003 $0.00263

Measured 3d ago against content hash 93e92f21f969, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

rpi-plan scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.github/skills/rpi/rpi-plan/SKILL.md · 91 lines

How it starts

The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.

RPI Plan

Goal

Produce an implementation-ready, ordinary Markdown plan and separate phase details. Record user intent in a concise freeform ## User Decisions and Requirements list, then maintain independently editable planner-synthesized goals, scope, requirements, and acceptance criteria. The primary planner owns both artifacts, orchestration, revisions, critique timing, and the final readiness decision.

Read references/planning.md for readiness, executive-summary, delegation, and artifact guidance.

Flow

  1. Establish the task identity and build ## User Decisions and Requirements from user prompts, user-pointed external documents, tasks, issues, and prior research that captures the user's task, goals, requirements, or accepted decisions. Preserve the user's meaning without forcing entries into categories. Distinguish evidence, assumptions, and open choices. Treat supplied evidence as the starting point, not as a reason to repeat investigation.
  2. Create or revise these artifacts with one stable task ID, current Pxx phase IDs, and current Pxx-Txx task IDs. Initialize and maintain the plan's ## Follow-Up Items section for discovered work outside the active approved plan.
    • .copilot-tracking/plans/{{YYYY-MM-DD}}/{{task_slug}}-plan.md
    • .copilot-tracking/details/{{YYYY-MM-DD}}/{{task_slug}}-phase-details.md
  3. Before substantive phase drafting or delegation, persist the canonical planning state in the plan and phase-details sections that own it. Record task identity, interpreted planning goal, user decisions and requirements, goals, scope and non-goals, initial evidence and readiness assessment, active boundaries, unresolved decisions or blockers, and resolved artifact paths when applicable. The plan owns task-wide state; phase details own the initial phase direction and task-level context.
  4. Send one canonical RPI Plan opening after that state is persisted and before substantive phase drafting or delegation. Follow the opening shape in references/planning.md.
  5. Assess supplied and completed evidence against goals, requirements, acceptance criteria, dependencies, material risks, complexity, uncertainty, and decision-critical choices. Reuse adequate evidence and activate rpi-research only when one of those dimensions reveals a demonstrated planning gap.
  6. Use templates/implementation-plan.md for the overall plan and templates/implementation-details.md for evidence-based phase detail. Keep ## User Decisions and Requirements as a concise freeform list, with optional source pointers in entries when useful. Before ## Phase Checklist, maintain separate top-level ## Goals, ## Scope and Non-Goals, ## Functional Requirements, ## Non-Functional Requirements, and ## Acceptance Criteria sections. Synthesize and update those sections from current user input and evidence without duplicating the list. Follow the executive-summary protocol, placing the summary after task metadata and before sources, and keep it synchronized with every material plan change. Put contextual phase and task markers immediately before their headings.
  7. Use one or more RPI Planner subagents for bounded planning assignments. A dispatch may refine phase details, examine supplied evidence, propose decisions or options, expose assumptions, or challenge and refute current goals, phases, or tasks with counter-evidence. Give each dispatch the exact artifacts, relevant evidence, assignment, allowed write boundary, and expected return. Run independent assignments in parallel and dependent assignments sequentially. The primary planner evaluates every return and decides whether to add, update, delete, recreate, reorder, split, merge, or replace goals, scope, non-goals, requirements, acceptance criteria, phases, tasks, or details. Subagent output does not automatically become plan content.
  8. Apply a clear user decision or requirement change directly, without a redundant question. When a decision-critical change remains unclear, use a small focused vscode_askQuestions set. Before asking, send a conversation message that states the affected user decision or requirement and plan area, the evidence or conflict, viable choices, material consequences, a recommendation when evidence supports one, and Markdown links to relevant planning artifacts, documents, code, or authoritative external sources when available. Apply the user's answer to the freeform list and all affected synthesized sections. Reconcile current sections, IDs and markers, dependencies, executive summary, details, and ## Follow-Up Items after every material revision.
  9. Keep the stable overall task ID and current Pxx and Pxx-Txx markers for navigation. During planning, the primary planner may add, update, delete, recreate, reorder, split, merge, or replace phases and tasks, and may renumber current IDs so the plan and details remain aligned. Remove obsolete active content rather than retaining it for identifier history.
  10. Run one final-candidate internal critique by default, only when the primary planner judges both the plan and phase details to be implementation-ready candidates.
  • Before dispatch, lock applicable test ownership, exact removals or none, maximum additions, canonical and generated targets, semantic-versus-regression coverage, and validation evidence in the candidate.
  • Dispatch a fresh critique worker that activates rpi-plan-critique with the exact task context, caller requirements, research and evidence pointers, plan and details paths, current user decisions and requirements, dependencies, acceptance criteria, and one critique output path.
  • Give the critique worker read access to the supplied evidence and write access only to the critique artifact. Do not critique an initial draft merely because it exists.
  • Require one complete actionable finding set. Each PC-xxx records its action owner, exact resolving evidence, and whether the planner can apply it directly or needs a significant or divergent user decision.
  • Treat confirmed user requests and answers as authoritative when critique advice conflicts with them. Apply compatible planner-owned corrections in one coherent batch. Reject a conflicting recommendation when current user direction already resolves it. Ask the smallest decision-critical question only when a significant or divergent finding is not resolved by current user direction and affects requirements, scope, architecture, acceptance criteria, dependencies, or evidence boundaries.
  • Record every finding disposition in the plan's standalone top-level ## Critique Disposition section and finalize without running another critique. A Revise verdict means revise the candidate or obtain the required user decision; it never creates a critique loop.
  1. Prepare the plan, phase details, critique, and downstream changes-record path for the next stage. Treat executive-summary synchronization as a readiness condition. The implementation phase owns creation of .copilot-tracking/changes/{{YYYY-MM-DD}}/{{task_slug}}-changes.md.

Read the full file on GitHub · 91 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 91 lines · 31 tokens per session scan A 93e92f21f969

Subscribe to this mod's changes

rpi-plan is a skill published in the GitHub repository microsoft/hve-core (1,436 stars, last pushed yesterday), licensed MIT. It adds 31 tokens to every session and 2,630 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.