Check for .continue-here.md existence to determine mode. If present, update state files. If absent, skip state updates.
How would you like to start the UI design?
- Start from aesthetic template - Apply saved visual system
- Start from scratch - Create custom design
- List all aesthetics - Browse library before deciding
Choose (1-3): _
See references/aesthetic-integration.md for complete integration details.
Include in invocation prompt:
- All gathered requirements (layout, controls, colors, etc.)
- Quality expectation: "Design must look like commercial $50-200 audio plugin - intentional decisions, not defaults"
See references/phase-details.md for invocation summary.
See references/delegation-protocols.md for complete protocol.
Files generated:
- v[N]-ui.yaml (design specification)
- v[N]-ui-test.html (browser-testable mockup)
What would you like to do?
- Iterate - Refine design, adjust layout
- Finalize - Validate alignment and complete mockup
- Save as template - Add to aesthetic library for reuse
- Other
Choose (1-4): _
If user provides specific changes ("make it vertical", "add a meter", "change colors to blue"):
- Pass these as explicit requirements to new ui-design-agent instance
If user provides vague improvement requests ("make it better", "improve it", "polish it"):
- Prompt for specifics: "What aspect should I focus on? (layout, colors, spacing, controls)"
- If user says "everything" or "overall quality": Pass instruction to refine existing elements (spacing, color harmony, control styling) rather than add new elements
See references/decision-menus.md#phase-5-5-design-decision-menu for detailed routing.
See references/phase-b-enforcement.md for guard implementation.
See references/delegation-protocols.md for enforcement details.
After subagent returns stateUpdated: true, verify actual state contents match expected values (not just boolean flag).
Read .continue-here.md, parse YAML, check specific fields match JSON report values. If mismatch, present state recovery menu.
See references/state-tracking.md for complete state schema and verification protocol.
Purpose: Explore layouts without losing work, A/B test designs, keep history for rollback.
File naming: All 7 files prefixed with version (e.g., v2-ui.html, v2-PluginEditor.h).
Implementation: Latest version used for Stage 3 (GUI) unless user specifies different version.
See references/versioning.md for file management details.
- Phase 0:
references/aesthetic-integration.md - Aesthetic library integration
- Phase 1:
references/context-extraction.md - Creative brief extraction
- Phase 2-3:
references/design-questions.md - Question templates and tiering
- Phase 2.5:
references/layout-validation.md - Dimension calculation formulas
- Phase 4-5.45:
references/delegation-protocols.md - Subagent invocation
- Phase 5.5:
references/decision-menus.md - Menu format and routing
- Phase 5.6:
references/state-tracking.md - Brief sync protocol
- Phase 6-10:
references/phase-b-enforcement.md - Phase B guard
- Anti-patterns:
references/common-pitfalls.md - What to avoid
Technical details:
references/html-generation.md - Production HTML rules
references/browser-testing.md - Browser test workflow
references/cmake-configuration.md - WebView build settings
references/cpp-boilerplate-generation.md - C++ template generation
references/ui-design-rules.md - Design constraints and patterns
references/versioning.md - File management
1---2name: ui-mockup3description: Orchestrator for WebView UI mockup workflow - delegates design iteration to ui-design-agent and implementation scaffolding to ui-finalization-agent. Use when user mentions UI design, mockup, WebView interface, or requests 'design UI for [plugin]'.4---56<objective>7Creates WebView UI mockups for audio plugins through iterative design and implementation scaffolding.8</objective>910<quick_start>111. Check for aesthetic library (Phase 0)122. Gather requirements through tiered questions (Phases 1-3)133. Dispatch ui-design-agent for mockup generation144. Iterate until user approves155. Generate implementation files16</quick_start>1718<workflow>19<phase name="A-design-iteration">20<purpose>Generate 2 design files for rapid iteration</purpose>21<outputs>22- `v[N]-ui.yaml` - Machine-readable design specification23- `v[N]-ui-test.html` - Browser-testable mockup24</outputs>25<gate>Do NOT proceed to Phase B until user approves design via Phase 5.5 decision menu</gate>26</phase>2728<phase name="B-implementation-scaffolding">29<purpose>Generate 5 implementation files ONLY after Phase A approval</purpose>30<outputs>31- `v[N]-ui.html` - Production HTML32- `v[N]-PluginEditor.h` - C++ header boilerplate33- `v[N]-PluginEditor.cpp` - C++ implementation boilerplate34- `v[N]-CMakeLists.txt` - WebView build configuration35- `v[N]-integration-checklist.md` - Implementation steps36</outputs>37<location>plugins/[PluginName]/.ideas/mockups/</location>38</phase>39</workflow>4041<context_detection>42<standalone_mode>43- No `.continue-here.md` file present44- Generates mockups independently45- Skips state updates46</standalone_mode>4748<workflow_mode>49- File `plugins/[PluginName]/.continue-here.md` exists with `current_stage` field50- Updates workflow state after each phase51</workflow_mode>5253Check for `.continue-here.md` existence to determine mode. If present, update state files. If absent, skip state updates.54</context_detection>5556<phase name="0-aesthetic-check">57Check if `.claude/aesthetics/manifest.json` exists. If found, count aesthetics using jq.5859<menu>60Found {N} saved aesthetics in library.6162How would you like to start the UI design?631. Start from aesthetic template - Apply saved visual system642. Start from scratch - Create custom design653. List all aesthetics - Browse library before deciding6667Choose (1-3): _68</menu>6970<routing>71- Option 1: Display aesthetics from manifest with metadata (name, vibe, colors, source). Invoke ui-template-library skill with "apply" operation. Skip to Phase 4 with generated mockup.72- Option 2: Continue to Phase 1 (load context).73- Option 3: Invoke ui-template-library skill with "list" operation, show previews, return to menu.74- No aesthetics: Skip directly to Phase 1.75</routing>7677See `references/aesthetic-integration.md` for complete integration details.78</phase>7980<phase name="1-load-context">81Load context from creative brief and extract requirements.82See `references/phase-details.md` for extraction protocol.83See `references/context-extraction.md#example-extracting-from-creative-brief` for examples.84</phase>8586<phase name="1.5-context-aware-prompt">87Adapt initial prompt based on creative brief contents (rich/minimal/zero UI details).88See `references/phase-details.md` for prompt templates.89</phase>9091<phase name="2-gap-analysis">92Analyze gaps in Tier 1 (Critical), Tier 2 (Visual), Tier 3 (Polish) requirements.93See `references/phase-details.md` for tier definitions.94See `references/design-questions.md` for question templates.95</phase>9697<phase name="2.5-calculate-dimensions">98Calculate recommended window size before asking user.99See `references/phase-details.md` for calculation steps.100See `references/layout-validation.md` Section 2 for formulas.101</phase>102103<phase name="3-question-batch">104Generate exactly 4 questions using AskUserQuestion based on identified gaps.105See `references/phase-details.md` for rules and question format.106See `references/design-questions.md#example-question-batches` for templates.107</phase>108109<phase name="3.5-decision-gate">110Present decision gate with AskUserQuestion: finalize, ask more questions, or add context.111Route to Phase 4, back to Phase 2, or collect free-form text.112See `references/phase-details.md` for menu format and routing.113</phase>114115<phase name="4-5.45-design-agent">116Invoke ui-design-agent via Task tool to generate YAML + test HTML.117118Include in invocation prompt:119- All gathered requirements (layout, controls, colors, etc.)120- Quality expectation: "Design must look like commercial $50-200 audio plugin - intentional decisions, not defaults"121122See `references/phase-details.md` for invocation summary.123See `references/delegation-protocols.md` for complete protocol.124</phase>125126<phase name="5.5-design-decision-menu">127<gate>CRITICAL: Phases 6-10 ONLY execute if user chooses option 2 (Finalize)</gate>128129<menu>130Mockup v[N] design created (2 files)131132Files generated:133- v[N]-ui.yaml (design specification)134- v[N]-ui-test.html (browser-testable mockup)135136What would you like to do?1371381. Iterate - Refine design, adjust layout1392. Finalize - Validate alignment and complete mockup1403. Save as template - Add to aesthetic library for reuse1414. Other142143Choose (1-4): _144</menu>145146<routing>147- Option 1 (Iterate): Collect refinement feedback, return to Phase 2 with new version (v2, v3, etc.), invoke NEW ui-design-agent instance (fresh context).148- Option 2 (Finalize): Proceed to Phase 5.6 (automatic brief update), mockup is source of truth for UI sections, no user interaction needed, continue to Phase 6-10 after brief sync.149- Option 3 (Save as template): Invoke ui-template-library skill with "save" operation, after saving return to Phase 5.5 menu.150- Option 4 (Other): Handle custom request (test in browser, validate constraints, etc.).151</routing>152153<iteration_guidance>154When collecting feedback for Option 1 (Iterate):155156**If user provides specific changes** ("make it vertical", "add a meter", "change colors to blue"):157- Pass these as explicit requirements to new ui-design-agent instance158159**If user provides vague improvement requests** ("make it better", "improve it", "polish it"):160- Prompt for specifics: "What aspect should I focus on? (layout, colors, spacing, controls)"161- If user says "everything" or "overall quality": Pass instruction to refine existing elements (spacing, color harmony, control styling) rather than add new elements162</iteration_guidance>163164See `references/decision-menus.md#phase-5-5-design-decision-menu` for detailed routing.165</phase>166167<phase name="5.6-update-brief">168Automatic update of creative brief from finalized mockup.169Triggered by "Finalize" selection in Phase 5.5.170No user interaction required.171See `references/phase-details.md` for protocol.172</phase>173174<phase name="6-10-implementation">175<prerequisites>176- User confirmed design in Phase 5.5 (selected option 2: Finalize)177- Phase A files exist (`v[N]-ui.yaml`, `v[N]-ui-test.html`)178- Finalization marker present in YAML179</prerequisites>180181See `references/phase-b-enforcement.md` for guard implementation.182</phase>183184<phase name="6-10.5-finalization-agent">185Invoke ui-finalization-agent via Task tool to generate 5 implementation files.186See `references/phase-details.md` for invocation summary.187See `references/delegation-protocols.md` for complete protocol.188</phase>189190<phase name="10.7-completion-menu">191Present completion menu after ui-finalization-agent returns successfully.192See `references/decision-menus.md#completion-menu` for format and routing.193</phase>194195<orchestration_protocol>196<delegation_rules>197This skill NEVER generates mockup files directly. ALL file generation delegated to subagents.198199<sequence>2001. Orchestrator: Gather requirements (Phases 0-3.5)2012. Orchestrator: Invoke ui-design-agent via Task tool2023. ui-design-agent: Generate YAML + test HTML, commit, return JSON2034. Orchestrator: Parse JSON, present Phase 5.5 menu2045. If iterate: Orchestrator invokes NEW ui-design-agent2056. If finalize: Orchestrator updates brief (Phase 5.6)2067. Orchestrator: Invoke ui-finalization-agent via Task tool2078. ui-finalization-agent: Generate 5 files, commit, return JSON2089. Orchestrator: Parse JSON, present completion menu209</sequence>210211See `references/delegation-protocols.md` for enforcement details.212</delegation_rules>213214<state_management>215Subagents update `.continue-here.md` with their phase results. Orchestrator verifies `stateUpdated` flag in JSON report.216217After subagent returns `stateUpdated: true`, verify actual state contents match expected values (not just boolean flag).218219Read `.continue-here.md`, parse YAML, check specific fields match JSON report values. If mismatch, present state recovery menu.220221See `references/state-tracking.md` for complete state schema and verification protocol.222</state_management>223224<iteration_protocol>225Each iteration runs in fresh agent context. User chooses "Iterate" then orchestrator collects feedback and invokes NEW ui-design-agent with incremented version. Fresh context prevents context window bloat during iterative design.226</iteration_protocol>227228<error_handling>229- Agent failures: Present error menu (retry/manual fix/debug/cancel).230- Validation failures: Agent returns `validationPassed: false` - present error menu.231- State update failures: Agent returns `stateUpdated: false` - present state recovery menu (verify/manual update/continue anyway).232</error_handling>233</orchestration_protocol>234235<versioning_strategy>236Pattern: v1, v2, v3... Each version saved separately.237238Purpose: Explore layouts without losing work, A/B test designs, keep history for rollback.239240File naming: All 7 files prefixed with version (e.g., `v2-ui.html`, `v2-PluginEditor.h`).241242Implementation: Latest version used for Stage 3 (GUI) unless user specifies different version.243244See `references/versioning.md` for file management details.245</versioning_strategy>246247<success_criteria>248<design_phase>249- YAML spec generated matching user requirements250- Browser test HTML works (interactive controls, parameter messages)251- Visual quality meets commercial standard (intentional design, not defaults)252- Design files committed to git253- `.continue-here.md` updated with version (if workflow mode)254- User presented with Phase 5.5 decision menu255- Design approved OR user iterates with refinements256</design_phase>257258<implementation_phase>259- All 7 files generated and saved to `.ideas/mockups/`260- Production HTML complete (no placeholders)261- C++ boilerplate matches YAML structure (correct parameter bindings)262- parameter-spec.md generated and locked (v1 only)263- Implementation files committed to git264- `.continue-here.md` updated with finalization status (if workflow mode)265</implementation_phase>266</success_criteria>267268<integration_points>269<invoked_by>270- `/dream` command - After creative brief, before implementation271- `plugin-workflow` skill - During Stage 0 (UI design phase)272- `plugin-improve` skill - When redesigning existing plugin UI273- Natural language: "Design UI for [PluginName]", "Create mockup for compressor"274</invoked_by>275276<always_invokes>277- `ui-design-agent` subagent (Phase 4-5.45) - REQUIRED for design iteration278- `ui-finalization-agent` subagent (Phase 6-10.5) - REQUIRED for implementation files279</always_invokes>280281<also_invokes>282- `ui-template-library` skill (if user saves aesthetic)283</also_invokes>284285<creates>286- `plugins/[Name]/.ideas/mockups/v[N]-*.{yaml,html,h,cpp,txt,md}` (7 files)287- `plugins/[Name]/.ideas/parameter-spec.md` (if v1 and doesn't exist)288</creates>289290<updates>291- `PLUGINS.md` - Mark UI designed (if workflow)292- `.continue-here.md` - Update workflow state (if workflow)293</updates>294295<blocks>296- Stage 1 (Foundation) - Cannot proceed without parameter-spec.md297- Stage 3 (GUI) - Cannot implement without approved UI mockup298</blocks>299</integration_points>300301<reference_documentation>302Progressive disclosure - load references when reaching specific phases:303304- **Phase 0:** `references/aesthetic-integration.md` - Aesthetic library integration305- **Phase 1:** `references/context-extraction.md` - Creative brief extraction306- **Phase 2-3:** `references/design-questions.md` - Question templates and tiering307- **Phase 2.5:** `references/layout-validation.md` - Dimension calculation formulas308- **Phase 4-5.45:** `references/delegation-protocols.md` - Subagent invocation309- **Phase 5.5:** `references/decision-menus.md` - Menu format and routing310- **Phase 5.6:** `references/state-tracking.md` - Brief sync protocol311- **Phase 6-10:** `references/phase-b-enforcement.md` - Phase B guard312- **Anti-patterns:** `references/common-pitfalls.md` - What to avoid313314Technical details:315- `references/html-generation.md` - Production HTML rules316- `references/browser-testing.md` - Browser test workflow317- `references/cmake-configuration.md` - WebView build settings318- `references/cpp-boilerplate-generation.md` - C++ template generation319- `references/ui-design-rules.md` - Design constraints and patterns320- `references/versioning.md` - File management321</reference_documentation>322323<template_assets>324- `assets/ui-yaml-template.yaml` - YAML structure325- `assets/webview-boilerplate.md` - C++ integration templates326- `assets/integration-checklist-template.md` - Integration guide327- `assets/parameter-spec-template.md` - Parameter specification format328</template_assets>