ai for designers

Plan Surface

The plan surface is the agent's first binding promise rendered as a structured editable checklist. It forces the model to decompose the user's goal into discrete concrete steps each displayed as its own row with inline text fields checkboxes delete icons and add controls. The user reads the full sequence tweaks wording removes irrelevant steps inserts missing ones reorders the list or kills the entire plan and sends the agent back to rethink. Only after explicit approval does execution begin. The strongest versions reuse the exact same surface for the progress stream so approved steps light up sequentially with live terminal output code diffs or browser actions expanding beneath them. This creates one unified artifact instead of disconnected chat bubbles and hidden tool logs. The surface must output machine readable JSON on the backend so each row maps directly to tool calls. Without that the plan becomes decorative instead of operational. It sits at the exact center of the seven agent UI patterns because task framing feeds it autonomy controls calibrate it and confirmation gates error recovery and handoffs all depend on it. Skip it and every other pattern weakens.

A plan surface is not a paragraph of eloquent prose that summarizes the agent's thinking in natural language. It is not a chat style message that appears after the agent has already fired off silent tool calls. It is not an immutable block of markdown the user can only applaud or regenerate by rewriting the original prompt. It is not a vague high level outline like optimize the checkout flow that gives zero visibility into the actual sequence of actions. Early 2023 and 2024 agent products loved this mistake. They streamed beautiful thinking steps that looked smart yet offered no edit surface no delete button and no way to correct course before damage occurred. The result trained users to treat every agent run as a coin flip. That is not a plan surface. That is theater designed to impress investors rather than survive real work.

Devin shipped one of the first plan surfaces that actually worked when Cognition launched it in 2024. After receiving a coding goal the agent displayed a vertical list of eight to fifteen steps on the left panel of the workspace. Each row supported direct inline edits so a user could change step seven from update database schema to update database schema and add migration tests. Drag handles let you reorder. Trash icons removed steps instantly. A prominent approve button sat at the bottom. Once clicked the identical list flipped state and began checking off rows while embedding live terminal output file diffs and browser previews directly beneath each active step. The plan surface and progress stream were literally the same component in two modes which eliminated context switching and made deviations obvious. Cursor's Composer mode in its 2024 releases got close but buried the plan inside a sidebar that felt more like enhanced chat. Editing a step required typing natural language commands instead of clicking into a row which added friction and broke the direct manipulation contract. Claude Code renders plans as formatted markdown inside the terminal view. The transparency is honest yet you cannot edit individual steps without regenerating the entire plan which wastes time and kills momentum. Linear AI parses vague tickets into structured fields with titles labels and assignees but still lacks a true multi step execution plan for autonomous workflows. When the generated issue misses the mark the user has no granular way to correct the agent's path without starting from scratch. ChatGPT Operator kept its plan trapped in the chat panel while the supervised browser ran ahead creating a constant disconnect between what the agent promised and what the user saw on screen. Replit Agent Bolt and v0 all ship thin versions that list high level goals such as build login screen rather than atomic actions like scrape current navbar html then generate new component with dark mode support. The missing granularity leaves users guessing until the preview renders and the mistakes are already baked in.

Deploy a plan surface on every task where the agent will chain four or more tool calls or touch state that matters. Coding agents web automation agents research synthesizers and internal enterprise tools all require it. Scale the detail to the stakes. A simple bug fix might need six rows. A full feature build needs twenty five with nested subtasks and explicit acceptance criteria per row. Tie the surface to autonomy controls so a high trust setting generates shorter plans while a strict setting produces exhaustive ones with confirmation gates already flagged. Never skip it on production touching work. You do not need a plan surface for single turn generative tasks like summarize this document or generate a mood board. Those are tools not agents. Forcing a full plan surface there adds pointless latency and makes the product feel bureaucratic. Products that hide the plan to look faster on demos inevitably produce users who either babysit every run or abandon the agent after the first hallucinated deletion. The pattern is load bearing the moment your interface claims autonomy.

The plan surface turns invisible model reasoning into a reviewable contract the user can edit before any real work begins.

Related terms

Keep exploring