Skip to main content

In this article

rpi-research

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

What it does​

Research-only RPI playbook that gathers task evidence, writes dated research artifacts under .copilot-tracking/research/ or a caller's trusted evidence root, and hands off planning-ready findings. Use when the user needs evidence, alternatives, or task framing first.

When to use it​

Use rpi-research when a task needs evidence before anyone plans or edits: a codebase pattern is unknown, an external API, library, or standard must be verified, alternatives need comparison, or a decision-critical question is open. Research is read-only. It writes one dated primary artifact under .copilot-tracking/research/, and that artifact is the only research artifact.

A helper such as RPI Researcher may be asked for source pointers when isolating a gathering task helps; its return is a suggestion the research verifies at the source.

Each executed cycle runs Wider, Deeper, and Contrarian waves, then synthesizes findings, records Planning Readiness, and resolves material decisions according to the participation mode: user-owned when invoked directly, agent-owned or user-retained inside an automatic RPI Agent session.

The research posture controls how far it goes: balanced by default, focused to stay within the named targets, or expansive for a broad or materially unknown decision space. Pass posture= to change it. The output mode (convergence, analysis, audit, comparison, research-only, or no-handoff) controls whether a planning handoff is offered.

Reach for a different asset when:

  • Evidence is already adequate. Start rpi-plan, which activates research only for a demonstrated gap.
  • You want to understand existing code or an artifact rather than gather new evidence. Use rpi-walkthrough.
  • You want to test the assumptions behind a decision. Use rpi-challenger.

Example usage​

Invoke the skill with a topic. Add chat to let it refine scope from the current conversation, and posture=focused or posture=expansive to change the default balanced depth.

/rpi-research topic="Streaming uploads to Azure Blob Storage from the Python pipeline"

The skill sends one opening update with its interpreted goal, posture, starting areas, and boundaries, then researches and updates the artifact as evidence arrives. The final response separates execution status from readiness:

## rpi-research: Azure Blob Storage streaming uploads

* Research execution: Complete; disposition `executed`
* Output mode: convergence; Planning Readiness: Ready (C1-C4, W1-W3)
* Recommendation: azure-storage-blob async client behind the existing WriterBase contract
* Rejected alternative: synchronous SDK client (blocks the pipeline event loop, W2)
* Unresolved decisions: none

| Artifact | Description |
|----------------------------------------------------------------------------------------------------------------------------------|---------------------------|
| [.copilot-tracking/research/2026-09-04/blob-storage-research.md](.copilot-tracking/research/2026-09-04/blob-storage-research.md) | Primary research artifact |

## Next Steps

Run `/rpi-plan` with this research artifact.

When readiness is Not ready or the output mode does not support planning, the response states the no-handoff reason instead of advising a command.