# Modes **Parent:** [`spec.md`](spec.md) · **Siblings:** [`architecture.md`](architecture.md) · [`skills-protocol.md`](skills-protocol.md) · [`agent-adapters.md`](agent-adapters.md) OD exposes four user-facing modes. Modes are not arbitrary; each maps to a distinct **skill type** (see [`skills-protocol.md`](skills-protocol.md) §4) and a distinct **workflow shape**. Keeping them separate lets us tune UI affordances, export pipelines, and default skills per mode. | Mode | What you get | Time to first result | Skill type | |---|---|---|---| | **Prototype** | A single editable screen (HTML/JSX) | ~60–120s | `prototype-skill` | | **Deck** | Multi-slide HTML presentation | ~90–180s | `deck-skill` | | **Template** | Populated copy of a curated template | ~20–40s | `template-skill` | | **Design System** | A `DESIGN.md` + sample preview | ~60–180s | `design-system-skill` | Modes compose: Design System first → everything else reads from it. Template reuse is the fast path; Prototype/Deck are the generative path. --- ## 1. Prototype mode ### Purpose One high-fidelity screen or flow. User brief → working HTML/JSX in a sandboxed iframe. ### UX flow ``` [ mode picker: Prototype ] [ skill picker: saas-landing | dashboard | login-flow | … ] [ inputs form (if skill declares od.inputs) ] [ free-text prompt box ] [ generate ] ↓ [ streaming tool-call feed · artifact tree · preview iframe ] ↓ [ comment mode (if adapter supports surgicalEdit) ] [ parameter sliders (if skill declares od.parameters) ] [ export: html · pdf · zip ] ``` ### Inputs - Skill selection (defaults to first matching trigger) - Optional structured inputs from skill (e.g. `product_name`, `has_pricing`) - Optional free-text prompt - Active DESIGN.md (auto-injected if skill requires it) ### Outputs - `index.html` (primary) or `Prototype.jsx` (if skill outputs JSX) - `assets/` (images, fonts generated by skill) - `artifact.json` metadata ### Preview - HTML → `