brainstorming
every creative task starts as a conversation that ends in an approved design — not in code. the design may be two sentences; the approval is never skippable.
what it teaches
classify the request first; the path scales with the work:
- Spike — feasibility probe. present question + probe plan, get a nod, investigate cheaply, report a recommendation.
- Bounded — change to an existing flow. ask what matters, present a short design in chat, stop for an explicit yes.
- Architectural — new subsystems or interface changes. full process: questions one at a time, 2–3 approaches with trade-offs, sectioned design, written spec, then implementation plan.
the ratchet is one-way: hidden complexity discovered mid-task upgrades the path; nothing downgrades.
why it exists
"Too simple to need approval" is where unexamined assumptions waste the most work. an agent codes a "simple" form — three fields to collect user data. feature approved, then the data retention policy forbids storing that data; form removed. wasted implementation, re-review, rollback. a two-sentence design asking "what data and why" surfaces the decision before coding. simple tasks get a short design, not a skipped one — the artifact scales, the approval gate does not.
the rules
- no implementation until the human partner approves the intent — every path, every scale.
- questions one at a time; prefer multiple choice.
- propose approaches with a recommendation and reasoning; YAGNI ruthlessly.
- architectural work ends in a committed spec the partner reviewed.
when to use
before creating features, building components, or modifying behavior — any creative work. the hardest gate to respect is the bounded one: two-sentence design, temptation to keep typing.
good and bad
bad
request: add workflow approvalsaction: start coding the first plausible UI
the agent commits before actor, flow, and acceptance boundary are known. code written against assumed intent encodes wrong requirements at full implementation cost; the correction arrives after review or rollout — the most expensive moment to find a wrong actor or a forbidden data path. each detour also spends the partner's review attention rejecting work instead of shaping it.
good
actor: revieweroutcome: approve or reject one waiting workflow stepopen decision: whether expiry auto-rejects
smallest specification questions resolved before implementation. a two-sentence design with an explicit yes means the code implements shared intent — review compares against an agreement, not a guess. kept up at every scale, implementation cost goes only to approved directions and the partner's authority stays inside the loop where it changes outcomes cheaply.