The intent flow

Every intent goes through four gates before its work reaches you for review: brainstorm, design, plan and execute. At each gate your agent does the groundwork and you make the decisions. Nothing moves to the next gate until you agree.

Gate Intent status What you decide What gets written to the intent
Brainstorm new What should change, and why The outcome list you accepted
Design design How to build it The design you approved
Plan plan Which tasks, in which order The tasks and the plan notes
Execute build Nothing until review Code on a branch, tests, the work log

When execute finishes, the intent is in_review. You review the branch, merge it, and close the intent as done.

How your agent asks

The gates share one way of talking to you:

  • One question at a time. Your agent never hands you a questionnaire.
  • A recommendation with every question. When the options can be listed, it offers them as a multiple choice, leads with the one it recommends and says why, and always leaves room for "something else".
  • Only questions that matter. Before asking, your agent checks the code, the docs and the intent itself. It does not ask what it can find out, or what would not change the result.
  • Your questions first. If you ask something, your agent answers it before asking its own.
  • Decisions are logged as they land. Each decision goes on the intent's work log with its reason the moment you agree on it, so an interrupted session loses nothing.

Your agent also never jumps to the next gate by itself. At the end of each gate it asks whether you want to review more or move on.

Brainstorm

The first gate turns an idea into an outcome you agree with. The intent is new.

Your agent acts as a thinking partner, not a form. It first checks whether the idea is already built or half built, and whether another intent covers it. Then it asks what should change, for whom, and what success looks like.

You decide: the outcome list. Your agent proposes one to seven lines, and you accept, comment or rewrite until the whole list is right. You also agree what is out of scope and how success will be checked.

Ideas about how to build it or in what order come up along the way. Your agent does not block on them: it files them as notes for the design and plan gates, marked as yours, and steers back to the outcome.

terminal
 Let's brainstorm self-serve sign-up.

Your agent: Here is the outcome list I propose:

1. Self-serve sign-up — A new user can create an
   account and reach the dashboard without talking
   to sales. [user]
2. No lost sign-ups — A user who closes the browser
   mid sign-up can finish later from the email link.
   [user]

Out of scope: paid plans, SSO.
Success check: a new user signs up alone in under
5 minutes.

Accept, or tell me what to change.

 Accept.

Your agent: Written to IN-s1gn4p, now in design.
Review the outcome again, or start designing?

Design

The second gate turns the agreed outcome into a solution. The intent is design.

Your agent reads the outcome, your notes from the brainstorm and the code it will change. It ties every question to an outcome line, so you always know which promise a decision shapes. It then proposes two or three approaches with their trade-offs and recommends one.

You decide: the approach, and the questions that shape it: technical choices, the user experience when there is a screen, edge cases. Your agent presents the design section by section and asks whether each looks right.

The approved design names the files and parts of the code it touches, the decisions you took and why, the options you rejected and why, and how the result will be tested. Rejected options stay on record, so nobody brings them back later without knowing they were already weighed.

terminal
 Design the sign-up intent.

Your agent: For outcome 2 (no lost sign-ups): how
should a user get back to a half-finished sign-up?

  a) A magic link in the confirmation email
     (recommended: no password to set before the
     account exists)
  b) A saved draft tied to the browser
  c) Something else, tell me

Plan

The third gate turns the design into tasks your agents can build. The intent is plan.

Your agent splits the design into flat tasks, each placed in the area where its code lives, and checks that every part of the design is covered by at least one task. Each task gets its own tests and instructions complete enough that an agent with no prior context can pick it up. One more task tests the whole intent against its outcome list, and a last one updates the documentation once everything is green.

You decide: whether the plan is right: the tasks, their order and dependencies, and what each one tests. Your agent creates nothing before you approve. After approval it creates the tasks, shows you what landed, and moves the intent to build.

terminal
 Plan it.

Your agent: 5 tasks across 2 areas:

  TS-a1  Sign-up form and account creation   web-app
  TS-b2  Magic link for unfinished sign-ups  web-app
  TS-c3  Welcome email template               mailer
  TS-d4  Intent test: both outcomes, end to end
  TS-e5  Update the docs once all tests pass

TS-b2 depends on TS-a1, TS-d4 on the first three.
Create them and start building?

Execute

The fourth gate builds the plan. The intent is build.

Your agent works through the tasks, in parallel where they do not depend on each other. Before touching anything it runs the existing tests to record a baseline, so any new failure is caught as one the build caused. Each task is built, tested and committed to a branch for the intent. When all tasks are done, it runs the intent test, runs the full test suite again against the baseline, and fixes whatever broke.

You decide: nothing during the build, unless something threatens the intent itself. Your agent makes the small calls within the design and logs them. A task that gets stuck is marked blocked with the reason while the rest continues. It stops to ask you only when the design turns out to be wrong or the intent test cannot pass.

terminal
 Execute the sign-up intent.

Your agent: Baseline recorded: 412 tests, all green.
Building on branch intent/s1gn4p-self-serve-signup.

...

All 5 tasks in review. Intent test green,
full suite green against the baseline.
Outcome 1: delivered. Outcome 2: delivered.
IN-s1gn4p is ready for your review.

Review and merge

When the build ends, the intent is in_review. Your agent reports what shipped, what it decided on the way, what is blocked and why, and how the tests compare with the baseline. It checks each outcome line against what was built.

Merging stays with you. Your agent never merges the branch and never closes the intent itself. You review the branch, merge it when you are satisfied, and tell your agent to close the intent as done.

terminal
 Merged. Close the sign-up intent.

Your agent: IN-s1gn4p is done.

Next