# Create Wireframe - Workflow Instructions ```xml The workflow execution engine is governed by: {project_root}/.bmad/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml This workflow creates website or app wireframes in Excalidraw format. Review user's request and extract: wireframe type, fidelity level, screen count, device type, save location Skip to Step 5 Ask: "What type of wireframe do you need?" Present options: 1. Website (Desktop) 2. Mobile App (iOS/Android) 3. Web App (Responsive) 4. Tablet App 5. Multi-platform WAIT for selection Ask fidelity level (Low/Medium/High) Ask screen count (Single/Few 2-3/Multiple 4-6/Many 7+) Ask device dimensions or use standard Ask save location Check for existing theme.json, ask to use if exists Ask: "Choose a wireframe style:" Present numbered options: 1. Classic Wireframe - Background: #ffffff (white) - Container: #f5f5f5 (light gray) - Border: #9e9e9e (gray) - Text: #424242 (dark gray) 2. High Contrast - Background: #ffffff (white) - Container: #eeeeee (light gray) - Border: #212121 (black) - Text: #000000 (black) 3. Blueprint Style - Background: #1a237e (dark blue) - Container: #3949ab (blue) - Border: #7986cb (light blue) - Text: #ffffff (white) 4. Custom - Define your own colors WAIT for selection Create theme.json based on selection Confirm with user List all screens and their purposes Map navigation flow between screens Identify key UI elements for each screen Show planned structure, confirm with user Load {{templates}} and extract `wireframe` section Load {{library}} Load theme.json Load {{helpers}} Follow {{helpers}} for proper element creation For Each Screen: - Create container/frame - Add header section - Add content areas - Add navigation elements - Add interactive elements (buttons, inputs) - Add labels and annotations Build Order: 1. Screen containers 2. Layout sections (header, content, footer) 3. Navigation elements 4. Content blocks 5. Interactive elements 6. Labels and annotations 7. Flow indicators (if multi-screen) Fidelity Guidelines: - Low: Basic shapes, minimal detail, placeholder text - Medium: More defined elements, some styling, representative content - High: Detailed elements, realistic sizing, actual content examples Strip unused elements and elements with isDeleted: true Save to {{default_output_file}} NEVER delete the file if validation fails - always fix syntax errors Run: node -e "JSON.parse(require('fs').readFileSync('{{default_output_file}}', 'utf8')); console.log('✓ Valid JSON')" Read the error message carefully - it shows the syntax error and position Open the file and navigate to the error location Fix the syntax error (add missing comma, bracket, or quote as indicated) Save the file Re-run validation with the same command Repeat until validation passes Once validation passes, confirm with user Validate against {{validation}} ```