ui-mockup
Original:🇺🇸 English
Translated
1 scripts
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]'.
6installs
Added on
NPX Install
npx skill4agent add glittercowboy/plugin-freedom-system ui-mockupTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →<objective>
Creates WebView UI mockups for audio plugins through iterative design and implementation scaffolding.
</objective>
<quick_start>
- Check for aesthetic library (Phase 0)
- Gather requirements through tiered questions (Phases 1-3)
- Dispatch ui-design-agent for mockup generation
- Iterate until user approves
- Generate implementation files </quick_start>
<context_detection>
<standalone_mode>
- No file present
.continue-here.md - Generates mockups independently
- Skips state updates </standalone_mode>
<workflow_mode>
- File exists with
plugins/[PluginName]/.continue-here.mdfieldcurrent_stage - Updates workflow state after each phase </workflow_mode>
Check for existence to determine mode. If present, update state files. If absent, skip state updates.
</context_detection>
<phase name="0-aesthetic-check">
Check if `.claude/aesthetics/manifest.json` exists. If found, count aesthetics using jq.
<menu>
Found {N} saved aesthetics in library.
.continue-here.mdHow 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): _
</menu>
<routing>
- 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.
- Option 2: Continue to Phase 1 (load context).
- Option 3: Invoke ui-template-library skill with "list" operation, show previews, return to menu.
- No aesthetics: Skip directly to Phase 1.
</routing>
See for complete integration details.
</phase>
<phase name="1-load-context">
Load context from creative brief and extract requirements.
See `references/phase-details.md` for extraction protocol.
See `references/context-extraction.md#example-extracting-from-creative-brief` for examples.
</phase>
<phase name="1.5-context-aware-prompt">
Adapt initial prompt based on creative brief contents (rich/minimal/zero UI details).
See `references/phase-details.md` for prompt templates.
</phase>
<phase name="2-gap-analysis">
Analyze gaps in Tier 1 (Critical), Tier 2 (Visual), Tier 3 (Polish) requirements.
See `references/phase-details.md` for tier definitions.
See `references/design-questions.md` for question templates.
</phase>
<phase name="2.5-calculate-dimensions">
Calculate recommended window size before asking user.
See `references/phase-details.md` for calculation steps.
See `references/layout-validation.md` Section 2 for formulas.
</phase>
<phase name="3-question-batch">
Generate exactly 4 questions using AskUserQuestion based on identified gaps.
See `references/phase-details.md` for rules and question format.
See `references/design-questions.md#example-question-batches` for templates.
</phase>
<phase name="3.5-decision-gate">
Present decision gate with AskUserQuestion: finalize, ask more questions, or add context.
Route to Phase 4, back to Phase 2, or collect free-form text.
See `references/phase-details.md` for menu format and routing.
</phase>
<phase name="4-5.45-design-agent">
Invoke ui-design-agent via Task tool to generate YAML + test HTML.
references/aesthetic-integration.mdInclude 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 for invocation summary.
See for complete protocol.
</phase>
<phase name="5.5-design-decision-menu">
<gate>CRITICAL: Phases 6-10 ONLY execute if user chooses option 2 (Finalize)</gate>
<menu>
Mockup v[N] design created (2 files)
references/phase-details.mdreferences/delegation-protocols.mdFiles 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): _
</menu>
<routing>
- Option 1 (Iterate): Collect refinement feedback, return to Phase 2 with new version (v2, v3, etc.), invoke NEW ui-design-agent instance (fresh context).
- 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.
- Option 3 (Save as template): Invoke ui-template-library skill with "save" operation, after saving return to Phase 5.5 menu.
- Option 4 (Other): Handle custom request (test in browser, validate constraints, etc.).
</routing>
<iteration_guidance>
When collecting feedback for Option 1 (Iterate):
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 </iteration_guidance>
See for detailed routing.
</phase>
<phase name="5.6-update-brief">
Automatic update of creative brief from finalized mockup.
Triggered by "Finalize" selection in Phase 5.5.
No user interaction required.
See `references/phase-details.md` for protocol.
</phase>
<phase name="6-10-implementation">
<prerequisites>
- User confirmed design in Phase 5.5 (selected option 2: Finalize)
- Phase A files exist (`v[N]-ui.yaml`, `v[N]-ui-test.html`)
- Finalization marker present in YAML
</prerequisites>
references/decision-menus.md#phase-5-5-design-decision-menuSee for guard implementation.
</phase>
<phase name="6-10.5-finalization-agent">
Invoke ui-finalization-agent via Task tool to generate 5 implementation files.
See `references/phase-details.md` for invocation summary.
See `references/delegation-protocols.md` for complete protocol.
</phase>
<phase name="10.7-completion-menu">
Present completion menu after ui-finalization-agent returns successfully.
See `references/decision-menus.md#completion-menu` for format and routing.
</phase>
references/phase-b-enforcement.md<orchestration_protocol>
<delegation_rules>
This skill NEVER generates mockup files directly. ALL file generation delegated to subagents.
<sequence>
1. Orchestrator: Gather requirements (Phases 0-3.5)
2. Orchestrator: Invoke ui-design-agent via Task tool
3. ui-design-agent: Generate YAML + test HTML, commit, return JSON
4. Orchestrator: Parse JSON, present Phase 5.5 menu
5. If iterate: Orchestrator invokes NEW ui-design-agent
6. If finalize: Orchestrator updates brief (Phase 5.6)
7. Orchestrator: Invoke ui-finalization-agent via Task tool
8. ui-finalization-agent: Generate 5 files, commit, return JSON
9. Orchestrator: Parse JSON, present completion menu
</sequence>
See for enforcement details.
</delegation_rules>
references/delegation-protocols.md<state_management>
Subagents update with their phase results. Orchestrator verifies flag in JSON report.
.continue-here.mdstateUpdatedAfter subagent returns , verify actual state contents match expected values (not just boolean flag).
stateUpdated: trueRead , parse YAML, check specific fields match JSON report values. If mismatch, present state recovery menu.
.continue-here.mdSee for complete state schema and verification protocol.
</state_management>
references/state-tracking.md<iteration_protocol>
Each 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.
</iteration_protocol>
<error_handling>
- Agent failures: Present error menu (retry/manual fix/debug/cancel).
- Validation failures: Agent returns - present error menu.
validationPassed: false - State update failures: Agent returns - present state recovery menu (verify/manual update/continue anyway). </error_handling> </orchestration_protocol>
stateUpdated: false
<versioning_strategy>
Pattern: v1, v2, v3... Each version saved separately.
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.htmlv2-PluginEditor.hImplementation: Latest version used for Stage 3 (GUI) unless user specifies different version.
See for file management details.
</versioning_strategy>
references/versioning.md<success_criteria>
<design_phase>
- YAML spec generated matching user requirements
- Browser test HTML works (interactive controls, parameter messages)
- Visual quality meets commercial standard (intentional design, not defaults)
- Design files committed to git
- updated with version (if workflow mode)
.continue-here.md - User presented with Phase 5.5 decision menu
- Design approved OR user iterates with refinements </design_phase>
<implementation_phase>
- All 7 files generated and saved to
.ideas/mockups/ - Production HTML complete (no placeholders)
- C++ boilerplate matches YAML structure (correct parameter bindings)
- parameter-spec.md generated and locked (v1 only)
- Implementation files committed to git
- updated with finalization status (if workflow mode) </implementation_phase> </success_criteria>
.continue-here.md
<integration_points>
<invoked_by>
- command - After creative brief, before implementation
/dream - skill - During Stage 0 (UI design phase)
plugin-workflow - skill - When redesigning existing plugin UI
plugin-improve - Natural language: "Design UI for [PluginName]", "Create mockup for compressor" </invoked_by>
<always_invokes>
- subagent (Phase 4-5.45) - REQUIRED for design iteration
ui-design-agent - subagent (Phase 6-10.5) - REQUIRED for implementation files </always_invokes>
ui-finalization-agent
<also_invokes>
- skill (if user saves aesthetic) </also_invokes>
ui-template-library
<reference_documentation>
Progressive disclosure - load references when reaching specific phases:
- Phase 0: - Aesthetic library integration
references/aesthetic-integration.md - Phase 1: - Creative brief extraction
references/context-extraction.md - Phase 2-3: - Question templates and tiering
references/design-questions.md - Phase 2.5: - Dimension calculation formulas
references/layout-validation.md - Phase 4-5.45: - Subagent invocation
references/delegation-protocols.md - Phase 5.5: - Menu format and routing
references/decision-menus.md - Phase 5.6: - Brief sync protocol
references/state-tracking.md - Phase 6-10: - Phase B guard
references/phase-b-enforcement.md - Anti-patterns: - What to avoid
references/common-pitfalls.md
Technical details:
- - Production HTML rules
references/html-generation.md - - Browser test workflow
references/browser-testing.md - - WebView build settings
references/cmake-configuration.md - - C++ template generation
references/cpp-boilerplate-generation.md - - Design constraints and patterns
references/ui-design-rules.md - - File management </reference_documentation>
references/versioning.md
<template_assets>
- - YAML structure
assets/ui-yaml-template.yaml - - C++ integration templates
assets/webview-boilerplate.md - - Integration guide
assets/integration-checklist-template.md - - Parameter specification format </template_assets>
assets/parameter-spec-template.md