---
title: research-plan-implement
description: Research, plan, implement, validate, and review in one run.
---

`research-plan-implement` is a full pipeline for changes that need context before code. It asks one agent to research, another to plan, then passes the enriched prompt into the same `ValidationLoop` used by `implement`.

```bash
bunx smithers-orchestrator workflow run research-plan-implement --prompt "Replace the auth cookie format"
```

<Frame caption="The research-plan-implement UI chains research and planning into the shared validation loop as one pipeline.">
  <img src="/images/workflow-ui/research-plan-implement.png" alt="research-plan-implement workflow UI showing research, plan, and validation-loop stages in sequence" />
</Frame>

## Inputs

| Input | Type | Default |
| --- | --- | --- |
| `prompt` | string | `"Implement the requested change."` |
| `tdd` | boolean | `false` |

When `tdd` is `true`, the planning task is instructed to start with test steps before any implementation steps, and the implementation task is instructed to write or update tests before production code.

Pass structured input when you want test-first planning:

```bash
bunx smithers-orchestrator workflow run research-plan-implement \
  --input '{"prompt":"Add invite-only signup","tdd":true}'
```

## How It Runs

1. Research gathers repo context, prior art, and relevant implementation details.
2. Planning turns the request and research into concrete steps.
3. Implementation receives the original prompt plus research and plan context.
4. Validation and review decide whether another implementation pass is needed.

## Use it when

- The change needs repo context and a plan before code.
- You want research, planning, and a validated implementation in one run.

## Use something else when

- You already know what to build: use [`implement`](/workflows/implement).
- You only need context or a plan, not code: use [`research`](/workflows/research) or [`plan`](/workflows/plan).
- The scope spans many units or milestones: use [`tickets-create`](/workflows/tickets-create) with [`kanban`](/workflows/kanban), or [`mission`](/workflows/mission).

## Resume & retry

Runs are durable and resume with `up --resume`; completed research and planning are not re-run. The implementation stage uses the same validation loop as `implement` (up to 3 iterations, stopping on validation pass plus the synthesized review verdict approval).
