plan-reviewlisted
Install: claude install-skill vsdudakov/troika
# Plan review (pre-code)
Pre-code gate. Use a **different model family** from the architect.
**Kind** procedure · **Used by** [reviewer](../../agents/reviewer.md) · **When** the architect has written the plan (develop-flow step 2f) · **Ends with** an `Approve` verdict on the plan file, or a loop back to the architect
Read-only. Architect rewrites. Set `TROIKA_WORKSPACE` first.
## 1. Inputs
- `$TROIKA_SCRATCHPAD/plans/<TICKET>.md` — the plan, written to [plan-template.md](../plan-template/SKILL.md).
- **The whole ticket, every surface** (PROFILE.md › Tracker (`#tracker`)) — the plan is checked against the ticket, never against the plan's own summary of it.
- The code the plan touches — a plan pinned to a symbol that moved is wrong before dev starts (PROFILE.md › Code search (`#code-search`)).
- `ls $TROIKA_MEMORY/*.md` — an entry can invalidate a plan outright ([memory](../memory/SKILL.md)).
<a id="ticket-surfaces"></a>
### Every ticket surface
Collect all before review (tracker (`#tracker`)):
| Surface | What it carries |
| --- | --- |
| **Description** | nominal requirement |
| **Comments** | ordered corrections; newest wins |
| **Attachments/screenshots** | download and **look at** them — copy, states, error text, empty state, layout. A screenshot is a spec |
| **Links** | designs, tickets, PRs, docs; follow all |
| **Fields** | labels, type, release, linked issues |
A requirement on any surface but absent from the plan is a **Blocker** under check 1. Name every so