OpenWriterControle/.opencode/context/core/workflows/design-iteration.md
Darren Hinde 9625e43d92
feat: OpenCode-compliant agents with centralized metadata system (#151)
* chore: bump version to v0.8.0

* chore: update version to 0.7.1 instead of 0.8.0

* docs: expand comparison table with Oh My OpenCode and additional features

* backup: development context before reorganization

* refactor(context): reorganize development folder

- Remove 7 duplicate files (ui/design files exist in ui/web/)
- Remove 2 redundant READMEs (use navigation.md instead)
- Move react-patterns.md to frontend/react/
- Create frontend/react/navigation.md
- Update 4 navigation files (development, ui, frontend, frontend/react)
- Update developer profile (4 path changes: ui-styling-standards, design-systems, design-assets, animation-patterns)
- Update 3 core context files (visual-development.md, design-iteration.md, file-locations.md)

Result: 29 context files (down from 36), no duplicates, clean structure

Refs: REORGANIZATION_PLAN.md, REORGANIZATION_SUMMARY.md

* docs(context): add frontend delegation guide

- Create when-to-delegate.md with clear decision criteria
- Decision matrix for when to delegate vs. handle directly
- Common patterns and examples
- Red flags and green flags
- Frontend-specialist capabilities reference
- Update frontend and development navigation files

Helps orchestrators decide when to delegate UI work to frontend-specialist subagent.

* feat: enhance developer and advanced profiles with UI, development, and system builder context

- Developer profile: Add UI/UX patterns, development principles, design systems, React patterns, animation patterns, styling standards, and design assets
- Full profile: Add same UI/development context as developer profile for consistency
- Advanced profile: Add comprehensive system builder context including templates, guides, context system standards, and repository management context
- Update profile descriptions to reflect new capabilities
- All context files verified to exist and are properly referenced

* fix: remove duplicate context entries with incorrect paths

- Remove duplicate design-assets, ui-styling-standards, clean-code, animation-patterns, design-systems, react-patterns, and api-design entries that pointed to wrong paths
- Remove non-existent development-readme and mastra-ai-readme entries
- Keep only correct entries with proper file paths
- All registry paths now validated and correct

* feat: add add-context command to registry and all profiles

- Register add-context command in registry.json
- Add command:add-context to all 5 profiles (essential, developer, business, full, advanced)
- Update add-context.md to mention external-context files in .tmp/ directory
- Fix command dependencies to use context IDs instead of full paths
- All registry paths and dependencies validated

* feat: enhance add-context with external context file management

- Add Stage 0: Detect external context files in .tmp/
- Offer options to extract, manage, or harvest external files
- Extract patterns from external context files for use in project intelligence
- Provide management options: update, remove, clean, or harvest
- Add examples showing external context extraction and management
- Update troubleshooting with external context file handling
- Integrate with /context harvest command for permanent context organization

* fix: comprehensive context system audit and restructuring

- Fix 6 command documentation inconsistencies in add-context.md
  * Correct /add-context vs /context harvest command references
  * Simplify Stage 0 workflow from 4 to 2 options
  * Update examples to match actual behavior
  * Remove non-existent operations from delegation section
  * Fix troubleshooting Q&A section

- Restructure registry.json with 4 major improvements
  * Replace 31 duplicate 'navigation' IDs with unique IDs per subfolder
    - core-navigation, development-navigation, openagents-repo-navigation, etc.
  * Add context:openagents-repo/* to developer and full profiles
    - Developers now have repo-specific guides and examples
  * Remove context:to-be-consumed/* from essential, developer, business, full
    - Keep only in advanced profile for system builders
  * Properly scope mastra-ai context via wildcard patterns

Validation Results:
- Registry: 220/220 paths valid, 0 missing dependencies
- Profiles: All appropriately scoped with no duplicate IDs
- Standards: MVI compliance, frontmatter, structure verified
- No regressions: All tests passing

Fixes issues with context organization, command consistency, and profile coverage.

* feat: make agents OpenCode-compliant with centralized metadata system

- Remove invalid OpenCode fields from agent frontmatter (id, category, type, version, author, tags, dependencies, context, permissions)
- Keep only valid OpenCode fields (name, description, mode, temperature, tools, permission)
- Create centralized metadata file (.opencode/config/agent-metadata.json) for registry metadata
- Update auto-detect script to merge frontmatter + metadata into registry
- Fix YAML parsing errors (orphaned list items after valid fields)
- Add comprehensive documentation for new metadata system
- All 27 agents now OpenCode-compliant and callable by name

Fixes validation errors:
- Extra inputs are not permitted (9 fields)
- Invalid temperature type (string instead of number)

Benefits:
- OpenCode validation passes without errors
- Registry maintains complete metadata (id, name, category, tags, dependencies)
- Single source of truth for agent metadata
- Easier to maintain and update dependencies
- Backward compatible with existing tools

* fix: correct context dependency IDs to match registry

- Update context dependencies to use actual registry IDs
- Fix: context:core/standards/code → context:standards-code
- Fix: context:core/workflows/task-delegation → context:workflows-delegation
- Fix: context:delegation → context:delegation-ref
- Fix: context:review → context:review-ref
- Fix: invalid dependency in agent-metadata.md documentation
- All registry validation now passes

* chore: add navigation files and update workflow context

- Add navigation.md files for all context directories
- Update design-iteration.md and task-delegation.md workflows
- Clean up backup files from metadata fixes

* fix: install dependencies in validate-registry workflow

The validation script requires the 'glob' package which is in devDependencies.
CI was failing because dependencies were never installed before running validation.

* fix: show validation errors in CI logs

Use tee to display validation output in logs while also saving to file.
This makes debugging CI failures much easier.

* fix: remove duplicate pull_request trigger

The workflow was running twice (pull_request + pull_request_target) causing
duplicate checks. Keep only pull_request_target to support bot PRs and allow
writing to PR branches.

* chore: trigger CI re-run with fixed workflow

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-31 02:15:12 +00:00

29 KiB
Raw Blame History

Design Iteration Workflow

Overview

A structured 4-stage workflow for creating and iterating on UI designs. This process ensures thoughtful design decisions with user approval at each stage.

Quick Reference

Stages: Layout → Theme → Animation → Implementation Approval: Required between each stage Output: Single HTML file per design iteration Location: design_iterations/ folder


When to Use This Workflow

Delegate to OpenFrontendSpecialist When:

✅ STRONGLY RECOMMENDED to delegate for:

  • New UI/UX design work - Landing pages, dashboards, app interfaces
  • Design system creation - Component libraries, theme systems, style guides
  • Complex layouts - Multi-column grids, responsive designs, intricate structures
  • Visual polish - Animations, transitions, micro-interactions
  • Brand-focused work - Marketing pages, product showcases, hero sections
  • Accessibility-critical UI - Forms, navigation, interactive components

Why delegate?

  • OpenFrontendSpecialist follows the 4-stage design workflow (Layout → Theme → Animation → Implementation)
  • Ensures thoughtful design decisions with approval gates
  • Produces polished, accessible, production-ready UI
  • Handles responsive design, OKLCH colors, semantic HTML
  • Creates single-file HTML prototypes for quick iteration

Execute Directly When:

⚠️ Simple cases only:

  • Minor text/content updates to existing UI
  • Small CSS tweaks (colors, spacing, fonts)
  • Adding simple utility classes
  • Updating existing component props
  • Bug fixes in existing UI code

Delegation Pattern

// For UI design work
task(
  subagent_type="OpenFrontendSpecialist",
  description="Design {feature} UI",
  prompt="Design a {feature} following the 4-stage workflow:
  
  Requirements:
  - {requirement 1}
  - {requirement 2}
  
  Context: {what this UI is for}
  
  Follow the design iteration workflow:
  1. Layout (ASCII wireframe)
  2. Theme (design system, colors)
  3. Animation (micro-interactions)
  4. Implementation (single HTML file)
  
  Request approval between each stage."
)

Example Scenarios

Scenario Action Why
"Create a landing page for our SaaS product" ✅ Delegate to OpenFrontendSpecialist Complex UI design, needs 4-stage workflow
"Design a user dashboard with charts" ✅ Delegate to OpenFrontendSpecialist Complex layout, visual design, interactions
"Build a component library with our brand" ✅ Delegate to OpenFrontendSpecialist Design system work, requires theme expertise
"Fix button color from blue to green" ⚠️ Execute directly Simple CSS change
"Update hero text content" ⚠️ Execute directly Content update only

Design Plan File (MANDATORY)

CRITICAL: Before starting any design work, create a persistent design plan file.

Location: .tmp/design-plans/{project-name}-{feature-name}.md

Purpose:

  • Preserve design decisions across stages
  • Allow user to review and edit the plan
  • Maintain context for subagent calls
  • Track design evolution and iterations

When to Create:

  • BEFORE Stage 1 (Layout Design)
  • After understanding user requirements
  • Before any design work begins

Template:

---
project: {project-name}
feature: {feature-name}
created: {ISO timestamp}
updated: {ISO timestamp}
status: in_progress
current_stage: layout
---

# Design Plan: {Feature Name}

## User Requirements
{What the user asked for - verbatim or close paraphrase}

## Design Goals
- {goal 1}
- {goal 2}
- {goal 3}

## Target Audience
{Who will use this UI}

## Technical Constraints
- Framework: {Next.js, React, etc.}
- Responsive: {Yes/No}
- Accessibility: {WCAG level}
- Browser support: {Modern, IE11+, etc.}

---

## Stage 1: Layout Design

### Status
- [ ] Layout planned
- [ ] ASCII wireframe created
- [ ] User approved

### Layout Structure
{ASCII wireframe will be added here}

### Component Breakdown
{Component list will be added here}

### User Feedback
{User comments and requested changes}

---

## Stage 2: Theme Design

### Status
- [ ] Design system selected
- [ ] Color palette chosen
- [ ] Typography defined
- [ ] User approved

### Theme Details
{Theme specifications will be added here}

### User Feedback
{User comments and requested changes}

---

## Stage 3: Animation Design

### Status
- [ ] Micro-interactions defined
- [ ] Animation timing set
- [ ] User approved

### Animation Details
{Animation specifications will be added here}

### User Feedback
{User comments and requested changes}

---

## Stage 4: Implementation

### Status
- [ ] HTML structure complete
- [ ] CSS applied
- [ ] Animations implemented
- [ ] User approved

### Output Files
- HTML: {file path}
- CSS: {file path}
- Assets: {file paths}

### User Feedback
{Final comments and requested changes}

---

## Design Evolution

### Iteration 1
- Date: {timestamp}
- Changes: {what changed}
- Reason: {why it changed}

### Iteration 2
- Date: {timestamp}
- Changes: {what changed}
- Reason: {why it changed}

Workflow Integration:

  1. Create plan file → Write to .tmp/design-plans/{name}.md
  2. Each stage → Update plan file with decisions and user feedback
  3. User approval → Edit plan file with approved decisions
  4. User requests changes → Edit plan file with feedback, iterate
  5. Subagent calls → Pass plan file path for context preservation
  6. Completion → Plan file contains full design history

Benefits:

  • ✅ Context preserved across subagent calls
  • ✅ User can review and edit plan directly
  • ✅ Design decisions documented
  • ✅ Easy to iterate and refine
  • ✅ Full design history tracked

Workflow Stages

Stage 0: Create Design Plan (MANDATORY FIRST STEP)

Purpose: Create persistent plan file before any design work

Process:

  1. Understand user requirements
  2. Identify design goals and constraints
  3. Create plan file at .tmp/design-plans/{project-name}-{feature-name}.md
  4. Populate with user requirements and goals
  5. Present plan file location to user
  6. Proceed to Stage 1

Deliverable: Design plan file created and initialized

Example:

✅ Design plan created: .tmp/design-plans/saas-landing-page.md

You can review and edit this file at any time. All design decisions will be tracked here.

Ready to proceed to Stage 1 (Layout Design)?

Approval Gate: "Plan file created. Ready to start layout design?"


Stage 1: Layout Design

Purpose: Define the structure and component hierarchy before visual design

Process:

  1. Read design plan file from .tmp/design-plans/{name}.md
  2. Analyze user requirements from plan
  3. Identify core UI components
  4. Plan layout structure and responsive behavior
  5. Create ASCII wireframe
  6. Update plan file with layout structure and component breakdown
  7. Present to user for approval
  8. Update plan file with user feedback and approval status

Deliverable:

  • ASCII wireframe with component breakdown
  • Updated plan file with Stage 1 complete

Example Output:

## Core UI Components

**Header Area**
- Logo/brand (Top left)
- Navigation menu (Top center)
- User actions (Top right)

**Main Content Area**
- Hero section (Full width)
- Feature cards (3-column grid on desktop, stack on mobile)
- Call-to-action (Centered)

**Footer**
- Links (4-column grid)
- Social icons (Centered)
- Copyright (Bottom)

## Layout Structure

Desktop (1024px+):
┌─────────────────────────────────────────────────┐
│ [Logo]        Navigation        [User Menu]     │
├─────────────────────────────────────────────────┤
│                                                 │
│              HERO SECTION                       │
│         (Full width, centered text)             │
│                                                 │
├─────────────────────────────────────────────────┤
│  ┌─────────┐  ┌─────────┐  ┌─────────┐         │
│  │ Card 1  │  │ Card 2  │  │ Card 3  │         │
│  │         │  │         │  │         │         │
│  └─────────┘  └─────────┘  └─────────┘         │
├─────────────────────────────────────────────────┤
│              [Call to Action]                   │
├─────────────────────────────────────────────────┤
│  Links    Links    Links    Social              │
│                    Copyright                    │
└─────────────────────────────────────────────────┘

Mobile (< 768px):
┌─────────────────┐
│ ☰  Logo   [👤]  │
├─────────────────┤
│                 │
│  HERO SECTION   │
│                 │
├─────────────────┤
│  ┌───────────┐  │
│  │  Card 1   │  │
│  └───────────┘  │
│  ┌───────────┐  │
│  │  Card 2   │  │
│  └───────────┘  │
│  ┌───────────┐  │
│  │  Card 3   │  │
│  └───────────┘  │
├─────────────────┤
│      [CTA]      │
├─────────────────┤
│     Links       │
│     Social      │
│   Copyright     │
└─────────────────┘

Approval Gate: "Would you like to proceed with this layout or need modifications?"


Stage 2: Theme Design

Purpose: Define colors, typography, spacing, and visual style

Process:

  1. Read design plan file from .tmp/design-plans/{name}.md
  2. Review approved layout from Stage 1
  3. Choose design system (neo-brutalism, modern dark, custom)
  4. Select color palette (avoid Bootstrap blue unless requested)
  5. Choose typography (Google Fonts)
  6. Define spacing and shadows
  7. Generate theme CSS file
  8. Update plan file with theme specifications
  9. Present theme to user for approval
  10. Update plan file with user feedback and approval status

Deliverable:

  • CSS theme file saved to design_iterations/theme_N.css
  • Updated plan file with Stage 2 complete

Theme Selection Criteria:

Style Use When Avoid When
Neo-Brutalism Creative/artistic projects, retro aesthetic Enterprise apps, accessibility-critical
Modern Dark SaaS, developer tools, professional dashboards Playful consumer apps
Custom Specific brand requirements Time-constrained projects

Example Output:

## Theme Design: Modern Professional

**Style Reference**: Vercel/Linear aesthetic
**Color Palette**: Monochromatic with accent
**Typography**: Inter (UI) + JetBrains Mono (code)
**Spacing**: 4px base unit
**Shadows**: Subtle, soft elevation

**Theme File**: design_iterations/theme_1.css

Key Design Decisions:
- Primary: Neutral gray for professional feel
- Accent: Subtle blue for interactive elements
- Radius: 0.625rem for modern, friendly feel
- Shadows: Soft, minimal elevation
- Fonts: System-like for familiarity

File Naming: theme_1.css, theme_2.css, etc.

Approval Gate: "Does this theme match your vision, or would you like adjustments?"


Stage 3: Animation Design

Purpose: Define micro-interactions and transitions

Process:

  1. Read design plan file from .tmp/design-plans/{name}.md
  2. Review approved theme from Stage 2
  3. Identify key interactions (hover, click, scroll)
  4. Define animation timing and easing
  5. Plan loading states and transitions
  6. Document animations using micro-syntax
  7. Update plan file with animation specifications
  8. Present animation plan to user for approval
  9. Update plan file with user feedback and approval status

Deliverable:

  • Animation specification in micro-syntax format
  • Updated plan file with Stage 3 complete

Example Output:

## Animation Design: Smooth & Professional

### Button Interactions
hover: 200ms ease-out [Y0→-2, shadow↗]
press: 100ms ease-in [S1→0.95]
ripple: 400ms ease-out [S0→2, α1→0]

### Card Interactions
cardHover: 300ms ease-out [Y0→-4, shadow↗]
cardClick: 200ms ease-out [S1→1.02]

### Page Transitions
pageEnter: 300ms ease-out [α0→1, Y+20→0]
pageExit: 200ms ease-in [α1→0]

### Loading States
spinner: 1000ms ∞ linear [R360°]
skeleton: 2000ms ∞ [bg: muted↔accent]

### Micro-Interactions
inputFocus: 200ms ease-out [S1→1.01, ring]
linkHover: 250ms ease-out [underline 0→100%]

**Philosophy**: Subtle, purposeful animations that enhance UX without distraction
**Performance**: All animations use transform/opacity for 60fps
**Accessibility**: Respects prefers-reduced-motion

Approval Gate: "Are these animations appropriate for your design, or should we adjust?"


Stage 4: Implementation

Purpose: Generate complete HTML file with all components

Process:

  1. Read design plan file from .tmp/design-plans/{name}.md
  2. Review all approved decisions from Stages 1-3
  3. Build individual UI components
  4. Integrate theme CSS
  5. Add animations and interactions
  6. Combine into single HTML file
  7. Test responsive behavior
  8. Save to design_iterations folder
  9. Update plan file with output file paths
  10. Present to user for review
  11. Update plan file with user feedback and final approval status

Deliverable:

  • Complete HTML file with embedded or linked CSS
  • Updated plan file with Stage 4 complete and all output files documented

File Organization:

design_iterations/
├── theme_1.css              # Theme file from Stage 2
├── dashboard_1.html         # Initial design
├── dashboard_1_1.html       # First iteration
├── dashboard_1_2.html       # Second iteration
├── chat_ui_1.html           # Different design
└── chat_ui_1_1.html         # Iteration of chat UI

Naming Conventions:

Type Format Example
Initial design {name}_1.html table_1.html
First iteration {name}_1_1.html table_1_1.html
Second iteration {name}_1_2.html table_1_2.html
New design {name}_2.html table_2.html

Implementation Checklist:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Design Name</title>
  
  <!-- ✅ Preconnect to external resources -->
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  
  <!-- ✅ Load fonts -->
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
  
  <!-- ✅ Load Tailwind (script tag, not stylesheet) -->
  <script src="https://cdn.tailwindcss.com"></script>
  
  <!-- ✅ Load Flowbite if needed -->
  <link href="https://cdn.jsdelivr.net/npm/flowbite@2.0.0/dist/flowbite.min.css" rel="stylesheet">
  
  <!-- ✅ Load icons -->
  <script src="https://unpkg.com/lucide@latest/dist/umd/lucide.min.js"></script>
  
  <!-- ✅ Link theme CSS -->
  <link rel="stylesheet" href="theme_1.css">
  
  <!-- ✅ Custom styles with !important for overrides -->
  <style>
    body {
      font-family: 'Inter', sans-serif !important;
      color: var(--foreground) !important;
    }
    
    h1, h2, h3, h4, h5, h6 {
      font-weight: 600 !important;
    }
    
    /* Custom animations */
    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    
    .animate-fade-in {
      animation: fadeIn 300ms ease-out;
    }
  </style>
</head>
<body>
  <!-- ✅ Semantic HTML structure -->
  <header>
    <!-- Header content -->
  </header>
  
  <main>
    <!-- Main content -->
  </main>
  
  <footer>
    <!-- Footer content -->
  </footer>
  
  <!-- ✅ Load Flowbite JS if needed -->
  <script src="https://cdn.jsdelivr.net/npm/flowbite@2.0.0/dist/flowbite.min.js"></script>
  
  <!-- ✅ Initialize icons -->
  <script>
    lucide.createIcons();
  </script>
  
  <!-- ✅ Custom JavaScript -->
  <script>
    // Interactive functionality
  </script>
</body>
</html>

Approval Gate: "Please review the design. Would you like any changes or iterations?"


Visual Content Generation

When to Use Image Specialist

Delegate to Image Specialist subagent when users request:

  • Diagrams & Visualizations: Architecture diagrams, flowcharts, system visualizations
  • UI Mockups & Wireframes: Visual mockups, design concepts, interface previews
  • Graphics & Assets: Social media graphics, promotional images, icons, illustrations
  • Image Editing: Photo enhancement, image modifications, visual adjustments

Invocation Pattern

task(
  subagent_type="Image Specialist",
  description="Generate/edit visual content",
  prompt="Context to load:
          - .opencode/context/core/visual-development.md
          
          Task: [Specific visual requirement]
          
          Requirements:
          - [Visual style/aesthetic]
          - [Dimensions/format]
          - [Key elements to include]
          - [Color scheme/branding]
          
          Output: [Expected deliverable]"
)

Example Use Cases

Architecture Diagram:

task(
  subagent_type="Image Specialist",
  description="Generate microservices architecture diagram",
  prompt="Create a diagram showing:
          - 5 microservices (API Gateway, Auth, Orders, Payments, Notifications)
          - Database connections
          - Message queue (RabbitMQ)
          - External services (Stripe, SendGrid)
          
          Style: Clean, professional, modern
          Format: PNG, 1920x1080"
)

UI Mockup:

task(
  subagent_type="Image Specialist",
  description="Generate dashboard mockup",
  prompt="Create a mockup for an analytics dashboard:
          - Header with navigation
          - 4 metric cards (Users, Revenue, Conversion, Retention)
          - Line chart showing trends
          - Data table below
          
          Style: Modern, dark theme, professional
          Format: PNG, 1440x900"
)

Social Media Graphic:

task(
  subagent_type="Image Specialist",
  description="Generate product launch graphic",
  prompt="Create a social media graphic announcing new feature:
          - Bold headline: 'Introducing Real-Time Collaboration'
          - Subtext: 'Work together, ship faster'
          - Brand colors: #6366f1 (primary), #1e293b (dark)
          - Include abstract collaboration visual
          
          Format: PNG, 1200x630 (Twitter/LinkedIn)"
)

Tools Required

  • tool:gemini - Gemini Nano Banana AI for image generation/editing
  • Automatically available in Developer profile

When NOT to Delegate

Use design-iteration workflow instead when:

  • Creating interactive HTML/CSS designs
  • Building complete UI implementations
  • Iterating on existing HTML files
  • Need responsive, production-ready code

Use image-specialist when:

  • Need static visual assets
  • Creating diagrams or illustrations
  • Generating mockups for presentation
  • Quick visual concepts without code

Iteration Process

When to Create Iterations

Create new iteration ({name}_1_1.html) when:

  • User requests changes to existing design
  • Refining based on feedback
  • A/B testing variations
  • Progressive enhancement

Create new design ({name}_2.html) when:

  • Complete redesign requested
  • Different approach/style
  • Alternative layout structure

Iteration Workflow

User: "Can you make the buttons larger and change the color?"

1. Read current file: dashboard_1.html
2. Make requested changes
3. Save as: dashboard_1_1.html
4. Present changes to user

User: "Perfect! Now can we add a sidebar?"

1. Read current file: dashboard_1_1.html
2. Add sidebar component
3. Save as: dashboard_1_2.html
4. Present changes to user

Best Practices

Layout Stage

✅ Do:

  • Use ASCII wireframes for clarity
  • Break down into component hierarchy
  • Plan responsive behavior upfront
  • Consider mobile-first approach
  • Get approval before proceeding

❌ Don't:

  • Skip wireframing and jump to code
  • Ignore responsive considerations
  • Proceed without user approval
  • Over-complicate initial layout

Theme Stage

✅ Do:

  • Reference design system context files
  • Use CSS custom properties
  • Save theme to separate file
  • Consider accessibility (contrast ratios)
  • Avoid Bootstrap blue unless requested

❌ Don't:

  • Hardcode colors in HTML
  • Use generic/overused color schemes
  • Skip contrast testing
  • Mix color formats (stick to OKLCH)

Animation Stage

✅ Do:

  • Use micro-syntax for documentation
  • Keep animations under 400ms
  • Use transform/opacity for performance
  • Respect prefers-reduced-motion
  • Make animations purposeful

❌ Don't:

  • Animate width/height (use scale)
  • Create distracting animations
  • Ignore performance implications
  • Skip accessibility considerations

Implementation Stage

✅ Do:

  • Use single HTML file per design
  • Load Tailwind via script tag
  • Reference theme CSS file
  • Use !important for framework overrides
  • Test responsive behavior
  • Provide alt text for images
  • Use semantic HTML

❌ Don't:

  • Split into multiple files
  • Load Tailwind as stylesheet
  • Inline all styles
  • Skip accessibility attributes
  • Use made-up image URLs
  • Use div soup (non-semantic HTML)

File Management

Folder Structure

design_iterations/
├── theme_1.css
├── theme_2.css
├── landing_1.html
├── landing_1_1.html
├── landing_1_2.html
├── dashboard_1.html
├── dashboard_1_1.html
└── README.md (optional: design notes)

Version Control

Track iterations:

  • Initial: design_1.html
  • Iteration 1: design_1_1.html
  • Iteration 2: design_1_2.html
  • Iteration 3: design_1_3.html

New major version:

  • Complete redesign: design_2.html
  • Then iterate: design_2_1.html, design_2_2.html

Communication Patterns

Stage Transitions

After Layout:

"Here's the proposed layout structure. The design uses a [description].
Would you like to proceed with this layout, or should we make adjustments?"

After Theme:

"I've created a [style] theme with [key features]. The theme file is saved as theme_N.css.
Does this match your vision, or would you like to adjust colors/typography?"

After Animation:

"Here's the animation plan using [timing/style]. All animations are optimized for performance.
Are these animations appropriate, or should we adjust the timing/effects?"

After Implementation:

"I've created the complete design as {filename}.html. The design includes [key features].
Please review and let me know if you'd like any changes or iterations."

Iteration Requests

User requests change:

"I'll update the design with [changes] and save it as {filename}_N.html.
This preserves the previous version for reference."

Handling Plan File Edits and Iterations

User Edits Plan File Directly

Scenario: User opens .tmp/design-plans/{name}.md and makes changes

Process:

  1. User edits plan file (changes requirements, adds constraints, modifies goals)
  2. User notifies agent: "I've updated the plan file"
  3. Agent reads updated plan file
  4. Agent identifies what changed
  5. Agent proposes how to incorporate changes
  6. Agent updates affected stages

Example:

User: "I've updated the plan file - changed the color scheme to dark mode"

Agent: 
✅ Read updated plan: .tmp/design-plans/saas-landing-page.md

Changes detected:
- Color scheme: Light → Dark mode
- Primary color: Blue → Purple

This affects:
- Stage 2 (Theme) - needs regeneration
- Stage 4 (Implementation) - needs CSS update

Would you like me to:
1. Regenerate theme with dark mode
2. Update implementation with new theme

Iteration Within a Stage

Scenario: User requests changes during a stage

Process:

  1. Agent presents stage output (e.g., layout wireframe)
  2. User requests changes: "Make the hero section taller"
  3. Agent updates plan file with feedback
  4. Agent makes changes
  5. Agent updates plan file with new iteration
  6. Agent presents updated output

Example:

Stage 1 - Layout Design

Agent: [presents wireframe]

User: "Make the hero section taller and move CTA above the fold"

Agent:
✅ Updated plan file with feedback
✅ Revised layout wireframe
✅ Updated plan file with Iteration 2

[presents updated wireframe]

Tracking Iterations in Plan File

Format:

## Design Evolution

### Iteration 1 - Initial Layout
- Date: 2026-01-30T10:00:00Z
- Stage: Layout
- Changes: Initial wireframe created
- User feedback: "Hero section too short, CTA below fold"

### Iteration 2 - Revised Layout
- Date: 2026-01-30T10:15:00Z
- Stage: Layout
- Changes: Increased hero height from 400px to 600px, moved CTA above fold
- User feedback: "Perfect! Approved."
- Status: ✅ Approved

### Iteration 3 - Theme Adjustment
- Date: 2026-01-30T10:30:00Z
- Stage: Theme
- Changes: Changed from light to dark mode, primary color blue → purple
- User feedback: "Love the dark mode!"
- Status: ✅ Approved

Subagent Context Preservation

Problem: Subagents lose context between calls

Solution: Always pass plan file path

Pattern:

// When delegating to subagent
task(
  subagent_type="OpenFrontendSpecialist",
  description="Implement Stage 4",
  prompt="Load design plan from .tmp/design-plans/saas-landing-page.md
  
  Read the plan file for:
  - All approved decisions from Stages 1-3
  - User requirements and constraints
  - Design evolution and iterations
  
  Implement Stage 4 (Implementation) following all approved decisions.
  
  Update the plan file with:
  - Output file paths
  - Implementation status
  - Any issues encountered"
)

Plan File as Single Source of Truth

Benefits:

  • ✅ All design decisions in one place
  • ✅ User can review and edit anytime
  • ✅ Subagents have full context
  • ✅ Design history preserved
  • ✅ Easy to iterate and refine
  • ✅ No context loss between stages

Best Practices:

  • Always read plan file at start of each stage
  • Update plan file after every user interaction
  • Track all iterations with timestamps
  • Document user feedback verbatim
  • Mark approved decisions clearly
  • Pass plan file path to all subagents

Quality Checklist

Before presenting each stage:

Layout Stage:

  • ASCII wireframe is clear and detailed
  • Components are well-organized
  • Responsive behavior is planned
  • User approval requested

Theme Stage:

  • Theme file created and saved
  • Colors use OKLCH format
  • Fonts loaded from Google Fonts
  • Contrast ratios meet WCAG AA
  • User approval requested

Animation Stage:

  • Animations documented in micro-syntax
  • Timing is appropriate (< 400ms)
  • Performance optimized (transform/opacity)
  • Accessibility considered
  • User approval requested

Implementation Stage:

  • Single HTML file created
  • Theme CSS referenced
  • Tailwind loaded via script tag
  • Icons initialized
  • Responsive design tested
  • Accessibility attributes added
  • Images use valid placeholder URLs
  • Semantic HTML used
  • User review requested

Troubleshooting

Common Issues

Issue: User wants to skip stages Solution: Explain benefits of structured approach, but accommodate if insisted

Issue: Theme doesn't match user vision Solution: Iterate on theme file, create theme_2.css with adjustments

Issue: Animations feel too slow/fast Solution: Adjust timing in micro-syntax, regenerate with new values

Issue: Design doesn't work on mobile Solution: Review responsive breakpoints, add mobile-specific styles

Issue: Colors have poor contrast Solution: Use WCAG contrast checker, adjust OKLCH lightness values


References