Visual-first builders
An image specifies arrangement, density, and feel. It cannot specify behavior, permissions, or empty states. Words specify those β but they describe layout badly. The spec is the container, not the medium.
The container holds both
Same screen. Two different media governing two different things. The spec document says which governs what.
onClick β setFilter(badge.status); if filter === badge.status β clearFilter()role: owner | admin only. Read-only members see the list but not the button.Now the agent doesn't have to guess at the design or the behavior.
The argument
Handing your agent only a mockup doesn't skip the spec β it just moves where the spec gets written. Instead of one written document, you get forty correction prompts, arriving after the code already exists.
Starting from scratch
When there's no existing code, the visual artifact is the only source of design language. If you hand the agent only a mockup, it fills in the design system from its own defaults β which become the permanent design system by accident. Reference the mockup in your spec so the agent has an explicit normative source, and the first build looks like your intent, not like a framework's opinion.
In DecisionGraph
Brainstorm with Claude. Generate the spec with /spec-it. Lodge it. Decompose into stories. The mockup reference lives in the document. The behavior lives in the text. Both travel with the work.
No tradeoff
AI gives you speed.
DecisionGraph remembers why.
Let the agent rough out the work so your time goes to the details that matter most.
Read β /apprenticeThe prompt-stream spec dies with the session. The written spec keeps working after ship.
Read β /durableDecisionGraph knows when to use them. Skills are capability. The graph is timing.
Read β /skillsThe whole loop β spec, decompose, build, verify β start to finish.
Watch β /spec-to-code