Create Wireframe - Workflow Instructions
<critical>The workflow execution engine is governed by: {project_root}/.faos/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
<critical>This workflow creates website or app wireframes in Excalidraw format.</critical>
<workflow>
<step n="0" goal="Contextual Analysis">
<action>Review user's request and extract: wireframe type, fidelity level, screen count, device type, save location</action>
<check if="ALL requirements clear"><action>Skip to Step 6</action></check>
</step>
<step n="1" goal="Assess Depth and Select Visual Pattern">
<action>Based on the user's request, determine the wireframe depth level per {{helpers}} Depth Assessment:</action>
<action>Present assessment:
- Simple/Conceptual (10-20 elements): Single screen, low fidelity, layout exploration
- Standard (20-40 elements): Few screens, medium fidelity, key interactions shown
- Comprehensive/Technical (40-80 elements): Multiple screens, high fidelity, full user flow
</action>
<action>State your assessment: "This looks like a [depth] wireframe because [reason]"</action>
<action>Select the best visual pattern from {{helpers}} Visual Pattern Library. For wireframes, common patterns are:
- pipeline: For multi-step user flows (onboarding, checkout)
- side-by-side: For responsive layouts showing desktop vs mobile
- tree: For site maps or navigation hierarchy
- cluster: For feature groupings within a single screen
</action>
<action>State: "I recommend the [pattern] pattern because it argues that [specific argument]"</action>
<action>Ask: "Does this depth and pattern match your intent? (yes/adjust)"</action>
<action>WAIT for confirmation</action>
<check if="user says adjust">
<action>Revise depth and/or pattern based on feedback</action>
<action>Confirm revised choices</action>
</check>
</step>
<step n="2" goal="Identify Wireframe Type" elicit="true">
<action>Ask: "What type of wireframe do you need?"</action>
<action>Present options:
1. Website (Desktop)
2. Mobile App (iOS/Android)
3. Web App (Responsive)
4. Tablet App
5. Multi-platform
</action>
<action>WAIT for selection</action>
</step>
<step n="3" goal="Gather Requirements" elicit="true">
<action>Ask fidelity level (Low/Medium/High)</action>
<action>Ask screen count (Single/Few 2-3/Multiple 4-6/Many 7+)</action>
<action>Ask device dimensions or use standard</action>
<action>Ask save location</action>
</step>
<step n="4" goal="Check Theme" elicit="true">
<action>Check for existing theme.json, ask to use if exists</action>
</step>
<step n="5" goal="Create Theme" elicit="true">
<action>Ask: "Choose a wireframe style:"</action>
<action>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
</action>
<action>WAIT for selection</action>
<action>Create theme.json based on selection, including semantic color mapping per {{helpers}}</action>
<action>Confirm with user</action>
</step>
<step n="6" goal="Plan Wireframe Structure">
<action>List all screens and their purposes</action>
<action>Map navigation flow between screens</action>
<action>Identify key UI elements for each screen</action>
<action>Apply the selected visual pattern to the layout plan</action>
<action>Show planned structure, confirm with user</action>
</step>
<step n="7" goal="Load Resources">
<action>Load {{templates}} and extract `wireframe` section</action>
<action>Load visual_patterns from {{templates}} for the selected pattern</action>
<action>Load {{library}}</action>
<action>Load theme.json</action>
<action>Load {{helpers}}</action>
</step>
<step n="8" goal="Build Wireframe Elements">
<critical>Apply the design philosophy from {{helpers}}: This wireframe must ARGUE a point about the user experience, not just show rectangles. Follow the selected visual pattern for layout.</critical>
<critical>Use descriptive string IDs per {{helpers}} ID conventions (e.g., "hero_section_rect" not "rect_1")</critical>
<critical>Prefer free-floating text for screen titles, annotations, and interaction notes. Target less than 30% containerized text per {{helpers}} Text Strategy.</critical>
<substep>For Each Screen:
- Create container/frame with descriptive ID
- Add header section
- Add content areas
- Add navigation elements
- Add interactive elements (buttons, inputs)
- Add labels and annotations as free-floating text
</substep>
<substep>Build Order:
1. Screen containers
2. Layout sections (header, content, footer)
3. Navigation elements
4. Content blocks
5. Interactive elements
6. Labels and annotations (free-floating)
7. Flow indicators (if multi-screen)
</substep>
<substep>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
</substep>
<substep>Apply semantic colors per {{helpers}}:
- Primary for main interactive elements (CTA buttons, key inputs)
- Secondary for supporting UI (headers, footers, navigation)
- Accent for highlighted or featured content areas
- Neutral for containers and boundaries
</substep>
<check if="planned element count exceeds 30">
<action>Switch to section-by-section generation per {{helpers}} Section-by-Section Generation Protocol</action>
<action>Identify logical sections (e.g., per screen, per region, or per breakpoint)</action>
<action>Generate each section separately, using namespaced seeds</action>
<action>After all sections: merge, validate cross-section arrows, verify boundElements</action>
</check>
<check if="depth is Comprehensive/Technical AND fidelity is High">
<action>Add evidence artifacts per {{helpers}} Evidence Artifacts guide</action>
<action>Embed real content examples or interaction details next to relevant components (max 3)</action>
</check>
</step>
<step n="9" goal="Optimize and Save">
<action>Strip unused elements and elements with isDeleted: true</action>
<action>Save to {{default_output_file}}</action>
</step>
<step n="10" goal="Validate JSON Syntax">
<critical>NEVER delete the file if validation fails - always fix syntax errors</critical>
<action>Run: node -e "JSON.parse(require('fs').readFileSync('{{default_output_file}}', 'utf8')); console.log('Valid JSON')"</action>
<check if="validation fails (exit code 1)">
<action>Read the error message carefully - it shows the syntax error and position</action>
<action>Open the file and navigate to the error location</action>
<action>Fix the syntax error (add missing comma, bracket, or quote as indicated)</action>
<action>Save the file</action>
<action>Re-run validation with the same command</action>
<action>Repeat until validation passes</action>
</check>
<action>Once validation passes, confirm with user</action>
</step>
<step n="11" goal="Visual Preview (Optional)" optional="true">
<action>Load {{render_validate}}</action>
<action>Run: python3 {{render_script}} {{default_output_file}}</action>
<check if="exit code is 2 (Playwright not installed)">
<action>Skip: "Playwright not available — skipping PNG preview. Wireframe is still valid."</action>
</check>
<check if="exit code is 0">
<action>View the generated PNG file</action>
<action>Audit against design vision: Does the wireframe ARGUE its point about the UX?</action>
<action>Check: overlapping text, misaligned elements, spacing issues, color rendering</action>
<check if="issues found">
<action>Fix the JSON</action>
<action>Re-render (max 3 cycles)</action>
</check>
<action>Ask: "Keep the PNG preview file? (yes/no)"</action>
</check>
</step>
<step n="12" goal="Validate Content">
<invoke-task>Validate against {{validation}}</invoke-task>
</step>
</workflow>
Quality Checklist
Create Wireframe - Validation Checklist
Design Quality
Generation Quality
Layout Structure
UI Elements
Fidelity
Annotations
Technical Quality
1---2name: excalidraw-wireframe3description: Create website or app wireframes in Excalidraw format with proper layout, navigation, and component structure.4---56# Create Wireframe - Workflow Instructions78```xml9<critical>The workflow execution engine is governed by: {project_root}/.faos/core/tasks/workflow.xml</critical>10<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>11<critical>This workflow creates website or app wireframes in Excalidraw format.</critical>1213<workflow>1415 <step n="0" goal="Contextual Analysis">16 <action>Review user's request and extract: wireframe type, fidelity level, screen count, device type, save location</action>17 <check if="ALL requirements clear"><action>Skip to Step 6</action></check>18 </step>1920 <step n="1" goal="Assess Depth and Select Visual Pattern">21 <action>Based on the user's request, determine the wireframe depth level per {{helpers}} Depth Assessment:</action>22 <action>Present assessment:23 - Simple/Conceptual (10-20 elements): Single screen, low fidelity, layout exploration24 - Standard (20-40 elements): Few screens, medium fidelity, key interactions shown25 - Comprehensive/Technical (40-80 elements): Multiple screens, high fidelity, full user flow26 </action>27 <action>State your assessment: "This looks like a [depth] wireframe because [reason]"</action>28 <action>Select the best visual pattern from {{helpers}} Visual Pattern Library. For wireframes, common patterns are:29 - pipeline: For multi-step user flows (onboarding, checkout)30 - side-by-side: For responsive layouts showing desktop vs mobile31 - tree: For site maps or navigation hierarchy32 - cluster: For feature groupings within a single screen33 </action>34 <action>State: "I recommend the [pattern] pattern because it argues that [specific argument]"</action>35 <action>Ask: "Does this depth and pattern match your intent? (yes/adjust)"</action>36 <action>WAIT for confirmation</action>37 <check if="user says adjust">38 <action>Revise depth and/or pattern based on feedback</action>39 <action>Confirm revised choices</action>40 </check>41 </step>4243 <step n="2" goal="Identify Wireframe Type" elicit="true">44 <action>Ask: "What type of wireframe do you need?"</action>45 <action>Present options:46 1. Website (Desktop)47 2. Mobile App (iOS/Android)48 3. Web App (Responsive)49 4. Tablet App50 5. Multi-platform51 </action>52 <action>WAIT for selection</action>53 </step>5455 <step n="3" goal="Gather Requirements" elicit="true">56 <action>Ask fidelity level (Low/Medium/High)</action>57 <action>Ask screen count (Single/Few 2-3/Multiple 4-6/Many 7+)</action>58 <action>Ask device dimensions or use standard</action>59 <action>Ask save location</action>60 </step>6162 <step n="4" goal="Check Theme" elicit="true">63 <action>Check for existing theme.json, ask to use if exists</action>64 </step>6566 <step n="5" goal="Create Theme" elicit="true">67 <action>Ask: "Choose a wireframe style:"</action>68 <action>Present numbered options:69 1. Classic Wireframe70 - Background: #ffffff (white)71 - Container: #f5f5f5 (light gray)72 - Border: #9e9e9e (gray)73 - Text: #424242 (dark gray)7475 2. High Contrast76 - Background: #ffffff (white)77 - Container: #eeeeee (light gray)78 - Border: #212121 (black)79 - Text: #000000 (black)8081 3. Blueprint Style82 - Background: #1a237e (dark blue)83 - Container: #3949ab (blue)84 - Border: #7986cb (light blue)85 - Text: #ffffff (white)8687 4. Custom - Define your own colors88 </action>89 <action>WAIT for selection</action>90 <action>Create theme.json based on selection, including semantic color mapping per {{helpers}}</action>91 <action>Confirm with user</action>92 </step>9394 <step n="6" goal="Plan Wireframe Structure">95 <action>List all screens and their purposes</action>96 <action>Map navigation flow between screens</action>97 <action>Identify key UI elements for each screen</action>98 <action>Apply the selected visual pattern to the layout plan</action>99 <action>Show planned structure, confirm with user</action>100 </step>101102 <step n="7" goal="Load Resources">103 <action>Load {{templates}} and extract `wireframe` section</action>104 <action>Load visual_patterns from {{templates}} for the selected pattern</action>105 <action>Load {{library}}</action>106 <action>Load theme.json</action>107 <action>Load {{helpers}}</action>108 </step>109110 <step n="8" goal="Build Wireframe Elements">111 <critical>Apply the design philosophy from {{helpers}}: This wireframe must ARGUE a point about the user experience, not just show rectangles. Follow the selected visual pattern for layout.</critical>112 <critical>Use descriptive string IDs per {{helpers}} ID conventions (e.g., "hero_section_rect" not "rect_1")</critical>113 <critical>Prefer free-floating text for screen titles, annotations, and interaction notes. Target less than 30% containerized text per {{helpers}} Text Strategy.</critical>114115 <substep>For Each Screen:116 - Create container/frame with descriptive ID117 - Add header section118 - Add content areas119 - Add navigation elements120 - Add interactive elements (buttons, inputs)121 - Add labels and annotations as free-floating text122 </substep>123124 <substep>Build Order:125 1. Screen containers126 2. Layout sections (header, content, footer)127 3. Navigation elements128 4. Content blocks129 5. Interactive elements130 6. Labels and annotations (free-floating)131 7. Flow indicators (if multi-screen)132 </substep>133134 <substep>Fidelity Guidelines:135 - Low: Basic shapes, minimal detail, placeholder text136 - Medium: More defined elements, some styling, representative content137 - High: Detailed elements, realistic sizing, actual content examples138 </substep>139140 <substep>Apply semantic colors per {{helpers}}:141 - Primary for main interactive elements (CTA buttons, key inputs)142 - Secondary for supporting UI (headers, footers, navigation)143 - Accent for highlighted or featured content areas144 - Neutral for containers and boundaries145 </substep>146147 <check if="planned element count exceeds 30">148 <action>Switch to section-by-section generation per {{helpers}} Section-by-Section Generation Protocol</action>149 <action>Identify logical sections (e.g., per screen, per region, or per breakpoint)</action>150 <action>Generate each section separately, using namespaced seeds</action>151 <action>After all sections: merge, validate cross-section arrows, verify boundElements</action>152 </check>153154 <check if="depth is Comprehensive/Technical AND fidelity is High">155 <action>Add evidence artifacts per {{helpers}} Evidence Artifacts guide</action>156 <action>Embed real content examples or interaction details next to relevant components (max 3)</action>157 </check>158 </step>159160 <step n="9" goal="Optimize and Save">161 <action>Strip unused elements and elements with isDeleted: true</action>162 <action>Save to {{default_output_file}}</action>163 </step>164165 <step n="10" goal="Validate JSON Syntax">166 <critical>NEVER delete the file if validation fails - always fix syntax errors</critical>167 <action>Run: node -e "JSON.parse(require('fs').readFileSync('{{default_output_file}}', 'utf8')); console.log('Valid JSON')"</action>168 <check if="validation fails (exit code 1)">169 <action>Read the error message carefully - it shows the syntax error and position</action>170 <action>Open the file and navigate to the error location</action>171 <action>Fix the syntax error (add missing comma, bracket, or quote as indicated)</action>172 <action>Save the file</action>173 <action>Re-run validation with the same command</action>174 <action>Repeat until validation passes</action>175 </check>176 <action>Once validation passes, confirm with user</action>177 </step>178179 <step n="11" goal="Visual Preview (Optional)" optional="true">180 <action>Load {{render_validate}}</action>181 <action>Run: python3 {{render_script}} {{default_output_file}}</action>182 <check if="exit code is 2 (Playwright not installed)">183 <action>Skip: "Playwright not available — skipping PNG preview. Wireframe is still valid."</action>184 </check>185 <check if="exit code is 0">186 <action>View the generated PNG file</action>187 <action>Audit against design vision: Does the wireframe ARGUE its point about the UX?</action>188 <action>Check: overlapping text, misaligned elements, spacing issues, color rendering</action>189 <check if="issues found">190 <action>Fix the JSON</action>191 <action>Re-render (max 3 cycles)</action>192 </check>193 <action>Ask: "Keep the PNG preview file? (yes/no)"</action>194 </check>195 </step>196197 <step n="12" goal="Validate Content">198 <invoke-task>Validate against {{validation}}</invoke-task>199 </step>200201</workflow>202```203204205## Quality Checklist206207# Create Wireframe - Validation Checklist208209## Design Quality210211- [ ] Wireframe makes a clear visual argument about the user experience212- [ ] Isomorphism Test: Layout structure communicates hierarchy without labels213- [ ] Education Test: Unfamiliar viewer understands the interface in 30 seconds214- [ ] Visual pattern applied consistently (pipeline/side-by-side/tree/cluster)215- [ ] Depth level matches user intent (Simple/Standard/Comprehensive)216- [ ] Free-floating text used for screen titles and annotations (target <30% containerized)217- [ ] Semantic colors encode element roles (primary for CTA, secondary for navigation)218- [ ] All IDs are descriptive strings (e.g., "hero_section_rect" not "rect_1")219220## Generation Quality221222- [ ] If >30 elements: section-by-section generation used with namespaced seeds223- [ ] Descriptive string IDs follow `{component}_{role}_{type}` pattern224- [ ] Cross-section arrows have valid startBinding and endBinding225- [ ] Evidence artifacts present for High fidelity Comprehensive depth only (max 3)226- [ ] Evidence artifacts use dark rectangle styling with monospace text227228## Layout Structure229230- [ ] Screen dimensions appropriate for device type231- [ ] Grid alignment (20px) maintained232- [ ] Consistent spacing between UI elements233- [ ] Proper hierarchy (header, content, footer)234235## UI Elements236237- [ ] All interactive elements clearly marked238- [ ] Buttons, inputs, and controls properly sized239- [ ] Text labels readable and appropriately sized240- [ ] Navigation elements clearly indicated241242## Fidelity243244- [ ] Matches requested fidelity level (low/medium/high)245- [ ] Appropriate level of detail246- [ ] Placeholder content used where needed247- [ ] No unnecessary decoration for low-fidelity248249## Annotations250251- [ ] Key interactions annotated252- [ ] Flow indicators present if multi-screen253- [ ] Important notes included254- [ ] Element purposes clear255256## Technical Quality257258- [ ] All elements properly grouped259- [ ] Text elements have containerId260- [ ] Snapped to grid261- [ ] No elements with `isDeleted: true`262- [ ] JSON is valid263- [ ] File saved to correct location264