Vision
Vision is the layer where you think through the product idea. A living scratchpad — goals, constraints, non-goals, audience, competitive context, open questions, freeform notes. Vision never fully completes; it evolves as the project develops, and changes ripple forward.
What Vision captures
Seven categories, each a list of short written items:
- Goals — what the product should achieve. Outcomes, not features.
- Constraints — what limits the design. Time, budget, tech stack, accessibility, regulatory.
- Non-goals — what the product explicitly won't do, so the goals stay sharp.
- Audience — who it's for and their context.
- Competitive context — what exists in this space and how this differs.
- Open questions — unresolved decisions to return to.
- Scratchpad — freeform thinking; the stuff that doesn't fit anywhere yet.
Each item has content, a status (proposed / confirmed), and a source (ai / manual).
The canvas
[Screenshot TODO: Vision layer with the terminal mid-conversation on the left, the seven-section canvas showing confirmed goals and constraints, and the Sources panel on the right.]
Vision is the one layer where the conversation is the primary surface and the canvas accumulates its output.
- Terminal — where the thinking happens via
/vision. - Canvas — the seven categories as sections, updating in real time as Claude Code proposes items.
- Sources — the right panel, holding the reference materials the skills read.
Two capture paths feed the canvas:
- Claude Code proposes during the
/visionconversation; items show asproposeduntil you confirm or dismiss. - You capture terminal text — select any text in the terminal and an Add to Vision popover appears; pick a category. Saved as
manual+confirmed.
Edit any item inline. Reorder within a section. Delete what you don't need.
Sources
Sources are the reference materials you bring: a PRD, research notes, competitive teardowns, anything. Two kinds:
- Files — dropped or picked into
design/sources/. Any file type; copied into the project and tracked in git, so they travel with the folder. - Linked folders — pointers to folders elsewhere on your machine (an existing codebase, a research archive). Explored in place, never copied.
Every design skill reads your sources for context before it reasons; /vision reads them first and draws proposals from them. Skills treat sources as read-only — they inform the thinking, they're never edited.
The file written
design/vision.json — single file, seven array properties, one object per item.
The skill
/vision populates the layer.
- Reads: everything in
design/sources/(and any linked folders) first, thendesign/vision.jsonif it exists (merges, does not replace) + any context you pass. - Writes:
design/vision.json.
Behavior:
- First run is a kickoff conversation. Later runs refine.
- Proposes items progressively, doesn't wait for a complete picture.
- Pushes on ambiguity before committing.
- Writes items as
proposedso you stay in control.
The recipe example
A vision for a recipe-scaling tool after a short /vision session:
Goals
- Scale any recipe to a target serving count, on a phone, under 30 seconds.
- Saved scaling ratios per recipe so favorites don't get recalculated.
Constraints
- Phone, one-handed while cooking.
- No account or login. Local storage only.
Non-goals
- Not a recipe-storage product. The cook brings the recipe.
- No meal planning, shopping lists, or nutrition.
Open questions
- Handle unit conversion (cups → grams), or stay portion-only?
- How to round fractional results so "0.34 teaspoons" doesn't ship?
What Vision is not for
- Entity modeling. That's Ontology.
- Pattern decisions. That's Architecture (template + variant lives on each Screen).
- Composition. That's Screens.
- Copy or content. Vision is about direction.
The discipline: Vision stays high-level. Short items. No implementation. No layout.
Where to next
- Ontology — takes Vision as input and pulls out objects, personas, tasks, rules.
- The four layers overview — where Vision sits in the pipeline.
- The two app model — how the embedded terminal and the canvas share
design/vision.json.