From rpikit
Orchestrates end-to-end Research-Plan-Implement pipeline using parallel subagents per phase with file artifacts for communication. Use for complex features needing codebase research, planning, and implementation in one session.
npx claudepluginhub bostonaholic/rpikit --plugin rpikitThis skill uses the workspace's default tool permissions.
Orchestrate the full Research → Plan → Implement workflow in a single session using subagents. Each phase runs as a
Guides software development through six-phase workflow: Research, Plan, Iterate Plan, Experiment, Implement, Validate. Generates structured markdown docs via slash commands for auditable trails.
Executes 6-phase gated workflow for complex tasks: Questions, Research, Design Discussion, Structure Outline, Plan, Implement. Pauses for user approval after each markdown artifact.
Implements research code from research_plan.md in outputs directories. Locates plan, detects language/ecosystem from src/ or frontmatter, sets up workspace, uses MCP for implementation.
Share bugs, ideas, or general feedback.
Orchestrate the full Research → Plan → Implement workflow in a single session using subagents. Each phase runs as a separate subagent with its own context window, coordinated by the orchestrator that handles approval gates and phase transitions.
Running RPI phases across separate sessions loses context and requires manual bridging. This skill collapses the three phases into one orchestrated pipeline using subagents via the Agent tool. Each subagent gets maximum context for its work, with file artifacts on disk as the communication channel between phases.
The orchestrator (you) stays thin. It spawns subagents for each phase via the Agent tool, reads their output artifacts, presents summaries to the user, and handles approval gates. The orchestrator does NOT do research, planning, or implementation itself.
ORCHESTRATOR (main context — stays thin)
│
├── Phase 1: Spawn research subagents (parallel)
│ ├── Subagent: codebase exploration
│ ├── Subagent: web research
│ └── Subagent: synthesis → writes research file
│ └── Output: docs/plans/YYYY-MM-DD-<topic>-research.md
│
├── [APPROVAL GATE: User confirms research findings]
│
├── Phase 2: Spawn planning subagent
│ └── Subagent: reads research file, writes plan file
│ └── Output: docs/plans/YYYY-MM-DD-<topic>-plan.md
│
├── [APPROVAL GATE: User approves plan]
│
└── Phase 3: Spawn implementation subagent
└── Subagent: reads plan file, executes steps
└── Output: code changes, test results
Key principle: Subagents communicate through files, not conversation context. Each subagent reads the artifacts from prior phases and writes its own artifacts for the next phase.
Use this pipeline when:
Do NOT use when:
rpikit:writing-plans)rpikit:implementing-plans)rpikit:systematic-debugging)Before spawning subagents, break the feature into independent research questions. Typically 2-3 questions covering:
Spawn subagents for each research question using the Agent tool. Each subagent gets its own context window. Use existing skills to ensure consistent methodology. Launch independent subagents in parallel by including multiple Agent tool calls in a single message.
Codebase researcher:
Spawn a subagent with the Agent tool:
name: "codebase-researcher"
model: "sonnet"
prompt: "Research [feature area] for the goal: [what will be implemented].
1. Invoke the Skill tool with skill: 'rpikit:researching-codebase'
and args: '[feature area]'
2. Follow the skill's full methodology (interrogation, exploration,
documentation)
3. Write your findings to docs/plans/YYYY-MM-DD-<topic>-codebase.md"
Web researcher (when external context needed):
Spawn a subagent with the Agent tool:
name: "web-researcher"
model: "sonnet"
prompt: "Research [specific question about API, library, pattern, or best
practice].
Provide findings with source citations and confidence assessment.
Write your findings to docs/plans/YYYY-MM-DD-<topic>-external.md"
Additional subagents (when needed):
Spawn a subagent with the Agent tool:
name: "security-researcher"
model: "sonnet"
prompt: "Investigate security and performance implications of [feature].
Write findings to docs/plans/YYYY-MM-DD-<topic>-security.md"
Note: Research agents must NOT use
isolation: "worktree"— they write shared artifacts todocs/plans/that other agents and the main session need to read.
Guidelines:
After research subagents complete, spawn a synthesis subagent that consolidates all findings using the synthesis skill.
Spawn a subagent with the Agent tool:
name: "synthesizer"
model: "sonnet"
prompt: "Synthesize all research findings for '<topic>'.
1. Invoke the Skill tool with skill: 'rpikit:synthesizing-research'
and args: '<topic>'
2. Follow the skill's full methodology to consolidate:
- docs/plans/YYYY-MM-DD-<topic>-codebase.md
- docs/plans/YYYY-MM-DD-<topic>-external.md
- [any additional research files]
3. Write the consolidated document to:
docs/plans/YYYY-MM-DD-<topic>-research.md"
Read the research document and present a brief summary to the user. Include the subagent results table:
| Agent | Task | Status | Key Findings |
|---|
Research complete for '<topic>'.
Key findings:
- [Finding 1]
- [Finding 2]
- [Finding 3]
Research document: docs/plans/YYYY-MM-DD-<topic>-research.md
Use AskUserQuestion:
Spawn a planning subagent that reads the research document and creates the implementation plan. The subagent gets a fresh context window with only the research file as input.
Spawn a subagent with the Agent tool:
name: "planner"
model: "opus"
prompt: "You are creating an implementation plan.
1. Read the research document at
docs/plans/YYYY-MM-DD-<topic>-research.md
2. Invoke the Skill tool with skill: 'rpikit:writing-plans' and
args: '<topic>'
3. Follow the skill's full methodology to create the plan
4. Write the plan to docs/plans/YYYY-MM-DD-<topic>-plan.md
The plan must reference the research document and be self-contained.
Do NOT ask the user questions — use the research document as your
source of truth for requirements and constraints."
When the planning subagent completes, read the plan document and present a summary to the user:
Plan created for '<topic>'.
Stakes: [level]
Phases: [count]
Steps: [count]
Plan document: docs/plans/YYYY-MM-DD-<topic>-plan.md
Use AskUserQuestion:
Do not skip this approval gate. The user must explicitly approve the plan before implementation begins.
After plan approval, spawn an implementation subagent that reads the plan and executes it. The subagent gets a fresh context window with only the plan file as input.
Spawn a subagent with the Agent tool:
name: "implementer"
model: "opus"
isolation: "worktree"
prompt: "You are implementing an approved plan.
NOTE: You are running in an isolated worktree (isolation: worktree).
The implementing-plans skill will detect this via 'test -f .git' and
skip the worktree offer — this is expected behavior.
1. Read the plan at docs/plans/YYYY-MM-DD-<topic>-plan.md
2. Invoke the Skill tool with skill: 'rpikit:implementing-plans' and
args: 'docs/plans/YYYY-MM-DD-<topic>-plan.md'
3. Follow the skill's full methodology:
- Execute steps in order
- Run verification after each step
- Track progress
- Run code review and security review at completion
4. Update the plan document status as you complete steps
5. CRITICAL: git commit ALL changes before completing — uncommitted
work in an isolated worktree is silently destroyed on cleanup
The plan has been approved by the user. Execute it as written. If you
encounter issues that require plan changes, document them and return
the issue — do NOT deviate silently."
When the implementation subagent completes, present results:
Implementation complete for '<topic>'.
Steps completed: [N/M]
Files changed: [list]
Tests: [pass/fail]
Reviews: [code review status, security review status]
If the subagent reported deviations or blockers, present them and ask the user how to proceed.
If partial context already exists:
Match research depth to complexity:
| Complexity | Research Subagents | Expected Duration |
|---|---|---|
| Simple | 1 (codebase) | Quick |
| Moderate | 2 (code + web) | Medium |
| Complex | 3-4 (multiple) | Thorough |
If requirements are unclear, prepend brainstorming:
Skill tool with skill: "rpikit:brainstorming"
Then resume the pipeline at Phase 1 with clarified requirements.
The orchestrator MUST stay thin:
This ensures the orchestrator's context remains small, leaving maximum context for each subagent.
Use explicit model parameters when spawning subagents:
| Model | Use For | Rationale |
|---|---|---|
haiku | file-finder, quick lookups | Fast, cost-effective |
sonnet | research agents, synthesis, code review | Balanced capability |
opus | planning, implementation, architecture | Deep reasoning needed |
| Do Not | Instead |
|---|---|
| Do research/planning/implementation as orchestrator | Delegate each phase to a subagent |
| Pass findings through conversation context | Write to files, read from files |
| Spawn 5+ research subagents | Keep to 2-4 focused subagents |
| Skip approval gates between phases | Always get explicit user approval |
| Combine dependent research questions | Only parallelize independent questions |
Before each phase transition:
docs/plans/At pipeline completion:
docs/plans/