research-plan-implement
End-to-end Research-Plan-Implement pipeline using parallel subagents. Each phase (research, plan, implement) runs in its own context window with file artifacts as the communication channel between phases.
What this skill does
# Research-Plan-Implement Pipeline
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.
## Purpose
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.
## Architecture
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.
```text
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.
## When to Use
Use this pipeline when:
- A feature requires understanding unfamiliar code or APIs
- Multiple aspects need investigation before planning
- The full research → plan → implement cycle is needed
- You want to avoid manually bridging sessions between phases
Do NOT use when:
- Requirements are already clear (skip to `rpikit:writing-plans`)
- A plan already exists (skip to `rpikit:implementing-plans`)
- This is a simple bug fix (use `rpikit:systematic-debugging`)
- Only research is needed without implementation
## Phase 1: Research (Parallel Subagents)
### Step 1: Define Research Questions
Before spawning subagents, break the feature into independent research questions. Typically 2-3 questions covering:
- **Codebase context**: How does the relevant code work today?
- **External context**: What APIs, libraries, or patterns are involved?
- **Security/performance**: Are there concerns to investigate?
### Step 2: Spawn Research Subagents
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:**
```text
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):**
```text
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):**
```text
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 to `docs/plans/` that other agents and the main
> session need to read.
Guidelines:
- Verify questions are truly independent before parallelizing
- Each subagent gets a focused scope with clear deliverable
- Keep to 2-4 subagents for manageability
- Each subagent writes its findings to a separate file
### Step 3: Synthesize Research
After research subagents complete, spawn a synthesis subagent that consolidates all findings using the synthesis skill.
```text
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"
```
### Step 4: Present Summary and Gate
Read the research document and present a brief summary to the user. Include the subagent results table:
| Agent | Task | Status | Key Findings |
| ----- | ---- | ------ | ------------ |
```text
Research complete for '<topic>'.
Key findings:
- [Finding 1]
- [Finding 2]
- [Finding 3]
Research document: docs/plans/YYYY-MM-DD-<topic>-research.md
```
Use AskUserQuestion:
- "Create plan" — proceed to Phase 2
- "More research needed" — spawn additional subagents
- "Stop here" — end with research document
## Phase 2: Plan (Dedicated Subagent)
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.
```text
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."
```
### Present Plan and Gate
When the planning subagent completes, read the plan document and present a summary to the user:
```text
Plan created for '<topic>'.
Stakes: [level]
Phases: [count]
Steps: [count]
Plan document: docs/plans/YYYY-MM-DD-<topic>-plan.md
```
Use AskUserQuestion:
- "Approve and implement" — proceed to Phase 3
- "Request changes" — describe what to modify, spawn new planner
- "Stop here" — end with plan document
**Do not skip this approval gate.** The user must explicitly approve the plan before implementation begins.
## Phase 3: Implement (Dedicated Subagent)
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.
```text
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 securityRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.