Measure twice, cut once. Before any non-trivial change, always create and review a plan with AI. An AI plan is only as good as the human review it receives. The Discuss step in the Plan → Discuss → Implement → Review workflow is where your domain knowledge and judgment provide the most value. See the SSW rule on AI-assisted development.
Reviewing the plan is what separates professional AI-assisted development from vibe coding.
Catching problems at the plan stage is dramatically cheaper than catching them after implementation (both in development costs as well as tokens):
Modifying a plan is cheap, re-implementing a feature is expensive.
The original way to review AI plans is to discuss back and forth with your AI agent directly, such as in the terminal, or inside of your editor if you wanted to have more control by reading the raw PLAN.md file yourself.
The simplest approach to reviewing the plan is directly inside of the chat interface with your AI Agent, describing the modifications to your plan that you want.
In the 'Data Access Layer' section, where you suggest adding a new repository class - instead, use the existing IUserRepository we already have. It already supports the query pattern you need.
Figure: Quoting the exact section and describing precisely what to change gives the AI enough context to act
For more direct control over just reading summaries inside of the terminal, you can open the generated plan file (e.g. PLAN.md) inside your editor alongside the chat session with your agent. This gives you a visual overview of the whole plan at once.
These methods work, but they have clear drawbacks:
A number of tools have popped up that give you a proper visual interface for reviewing and annotating AI plans, similar to how you would review a pull request on GitHub.
Plannotator provides a browser-based pull-request-style review UI - think GitHub PR review, but for AI plans. It makes structured, multi-round plan review practical for any plan size.
Key features:
Plannotator triggers automatically when the plan tool is used. See plannotator's documentation for more information
✅ Figure: Good example - Plannotator's diff view shows exactly what changed between plan versions after an AI revision
Review workflow with Plannotator:
PLAN.md✅ Figure: Good example - Plannotator enables precise, structured feedback with multi-round iteration until the plan is right
UltraPlan bridges your local Claude Code CLI with Claude Code on the web. You kick off a planning task from your terminal, and it drafts the plan in the cloud while your terminal stays free. Once ready, you review, comment on, and revise the plan in a rich browser-based UI.
Key features:
/ultraplan command, the keyword "ultraplan" in a prompt, or by promoting a local planNote: UltraPlan is currently in research preview (requires Claude Code v2.1.91+ and a Claude Code on the web account with a GitHub repo).
The Claude Code VSCode extension has built-in plan review features. When Claude generates a plan in VS Code, it automatically opens as a full markdown document in an editor tab - not just a chat message.
Key features:
Limitation: Inline comments are freeform text feedback to Claude - there is no tracked resolution workflow like a GitHub PR review.
| Terminal | Editor | Plannotator (Recommended) | UltraPlan | Claude Code VSCode | |
| Targeted line feedback | ❌ | Partial | ✅ | ✅ | ✅ |
| Multi-round iteration | ❌ | ❌ | ✅ | ✅ | ✅ |
| No copy-pasting needed | ❌ | ✅ | ✅ | ✅ | ✅ |
| Structured feedback to AI | ❌ | Partial | ✅ | ✅ | ✅ |
| Works with any AI agent | ✅ | ✅ | ✅ | ❌ | ❌ |
| Terminal stays free | ❌ | ❌ | ❌ | ✅ | N/A |
| Cost | Free | Free | Free | Research preview | Built-in |