After the Chat: Spec, Tickets, Implement, and the Code Review That Keeps AI Coding Honest
AI agents lose decisions made across long chats, and this pipeline freezes them into a spec and task list that both the agent and a human can audit. The required code-review against a fixed spec catches scope creep and missed requirements before a single line is committed.
to-spec takes a finished requirement discussion and writes a spec without re-interviewing you. It pins down test seams, then produces a document that records the problem, confirmed decisions, acceptance criteria, and out-of-scope items. to-tickets splits that spec into tracer-bullet tasks, each with its own acceptance criteria and blocker relationships, and asks for confirmation on granularity before publishing.
implement works a ticket with tdd, type checks, and a full test run, then calls code-review. That review runs two parallel checks, one for standards and one for spec, against a fixed git diff base. Context guidance says keep the discussion, spec, and ticket breakdown in one chat, but start each implement in a fresh session. Small single-session tasks skip the whole routine, and large migrations get an expand-contract exception instead of forced slices.
The workflow's value is the written record of decisions, not the skills' code; it turns a chat's implicit agreements into artifacts a human can audit after the agent forgets.
A fixed review base and explicit scope confirmation prevent code-review from being a formality; the warning about empty diffs and uncommitted changes points to a real failure mode in AI-assisted commits.
The expand-contract exception for large migrations shows tracer-bullet slicing is a default, not a law; some changes need coexistence periods to keep every batch green.