--- name: discovery-prototype display_name: "AI-DLC Discovery: Prototype" icon: "🔨" description: "Prototype phase of AI-DLC Discovery: builds a polished, clickable prototype of the core user flow, with several screens shown on a phone and in a desktop browser, in one self-contained HTML file, aimed at the riskiest assumption, then gets the persona critique and iterates with the team. Use when the user wants to build, change, or share a prototype, mockup, or click-dummy for a Discovery use case." trigger: "prototype click-dummy mockup" patterns: - pattern: '(?i)\b(?:build|create|generate|make|update|iterate)\b.{0,15}?\b(?:prototype|click-?dummy|mock-?up)\b' confidence: 0.90 inputs: - name: project description: "Project folder name under discovery/." type: string required: true - name: use_case description: "The selected use case. With pods, each pod builds its own prototype." type: string required: true - name: design_standards description: "Optional: the team's design system, as a file in the working folder or a description of colors, type, and components." type: string required: false depends-on: [discovery-personas] tools: [file_read, file_write, open_in_session_tab] version: "3.0.0" license: MIT-0 --- # AI-DLC Discovery: Prototype ## Overview A prototype gives the team and its personas something to react to, which teaches more than another document. This skill turns the PRD into a prototype that looks like a real product: the core user flow as several screens, shown side by side on a flow board, clickable on a phone, and laid out for a desktop browser. It is one self-contained HTML file with no dependencies, built so the riskiest assumption can be tested in it. The team clicks through it as its main persona would, the personas critique it in their own voices, and the team changes it at least once before Validate tries to break it. ## Workflow ### Step 1: Plan the screens - **Mode**: `agentic` - **Input**: `prd.md`, `prfaq.md`, `riskiest-assumption.md`, the personas - **Output**: A screen plan, shown to the team - **Validate**: The team confirms the plan, and one screen is marked as the test moment for the riskiest assumption - **On failure**: If the PRD has no P0 features, return to **discovery-working-backwards** Plan the core user flow as 4 to 8 screens: the entry point, the steps of the main task, the confirmation, and the main unhappy path. For each screen, give one line: what the persona sees and does, and which P0 requirement it carries. Mark the test moment, where the riskiest assumption becomes visible. When the PRD has an AI feature block, the screens that show the AI feature use its sample outputs, word for word, labelled as sample output from the first-draft prompt, so the team and the persona critique react to real AI output. Include at least one edge or negative case on screen. When the Signal Analysis Report has telemetry, name the journey step the test moment is meant to change (for example, the step where most sessions leave for Contact us). Propose a visual direction in one line (for example "warm neutrals, serif headings, one green accent"), or use the team's design standards. Ask the team to confirm, cut, or add. A focused flow that tests the assumption beats a complete app. ### Step 2: Build - **Mode**: `agentic` - **Tool**: `file_write`, then `open_in_session_tab` - **Input**: The confirmed screen list; `{{design_standards}}` if given - **Output**: `discovery/{{project}}/prototype/v1.html`, copied to `prototype/index.html`, open in a session tab - **Validate**: Every must-have below is present, and every item on the quality bar in `references/html-prototype.md` passes - **On failure**: If a must-have is missing, the shell was edited outside the markers; start again from a fresh copy of the shell Build every version from the shell, never from scratch and never by editing an earlier version's layout: 1. Load `references/prototype-shell.md` and `references/html-prototype.md` with `file_read`. The shell is the single HTML code block in `prototype-shell.md`; copy all of it. 2. Write the new version as an exact copy of that code block, changing **only** the region between the `EDIT BELOW` and `EDIT ABOVE` markers: the `PROTOTYPE` settings (product, version, tagline, URL, clock, theme, test moment, starting state) and one `