aios-core
Version:
Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework
618 lines (478 loc) • 15.4 kB
Markdown
# Create Wireframes & Interaction Flows
> **Task ID:** ux-create-wireframe
> **Agent:** UX-Design Expert
> **Phase:** 1 - UX Design
> **Interactive:** Yes (elicit=true)
## Execution Modes
**Choose your execution mode:**
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
- Autonomous decision making with logging
- Minimal user interaction
- **Best for:** Simple, deterministic tasks
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
- Explicit decision checkpoints
- Educational explanations
- **Best for:** Learning, complex decisions
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
- Task analysis phase (identify all ambiguities)
- Zero ambiguity execution
- **Best for:** Ambiguous requirements, critical work
**Parameter:** `mode` (optional, default: `interactive`)
## Task Definition (AIOS Task Format V1.0)
```yaml
task: uxCreateWireframe()
responsável: Uma (Empathizer)
responsavel_type: Agente
atomic_layer: Template
**Entrada:**
- campo: task
tipo: string
origem: User Input
obrigatório: true
validação: Must be registered task
- campo: parameters
tipo: object
origem: User Input
obrigatório: false
validação: Valid task parameters
- campo: mode
tipo: string
origem: User Input
obrigatório: false
validação: yolo|interactive|pre-flight
**Saída:**
- campo: execution_result
tipo: object
destino: Memory
persistido: false
- campo: logs
tipo: array
destino: File (.ai/logs/*)
persistido: true
- campo: state
tipo: object
destino: State management
persistido: true
```
## Pre-Conditions
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
**Checklist:**
```yaml
pre-conditions:
- [ ] Task is registered; required parameters provided; dependencies met
tipo: pre-condition
blocker: true
validação: |
Check task is registered; required parameters provided; dependencies met
error_message: "Pre-condition failed: Task is registered; required parameters provided; dependencies met"
```
## Post-Conditions
**Purpose:** Validate execution success AFTER task completes
**Checklist:**
```yaml
post-conditions:
- [ ] Task completed; exit code 0; expected outputs created
tipo: post-condition
blocker: true
validação: |
Verify task completed; exit code 0; expected outputs created
error_message: "Post-condition failed: Task completed; exit code 0; expected outputs created"
```
## Acceptance Criteria
**Purpose:** Definitive pass/fail criteria for task completion
**Checklist:**
```yaml
acceptance-criteria:
- [ ] Task completed as expected; side effects documented
tipo: acceptance-criterion
blocker: true
validação: |
Assert task completed as expected; side effects documented
error_message: "Acceptance criterion not met: Task completed as expected; side effects documented"
```
## Scripts
**Agent-specific code for this task:**
- **Script:** execute-task.js
- **Purpose:** Generic task execution wrapper
- **Language:** JavaScript
- **Location:** .aios-core/scripts/execute-task.js
## Error Handling
**Strategy:** retry
**Common Errors:**
1. **Error:** Task Not Found
- **Cause:** Specified task not registered in system
- **Resolution:** Verify task name and registration
- **Recovery:** List available tasks, suggest similar
2. **Error:** Invalid Parameters
- **Cause:** Task parameters do not match expected schema
- **Resolution:** Validate parameters against task definition
- **Recovery:** Provide parameter template, reject execution
3. **Error:** Execution Timeout
- **Cause:** Task exceeds maximum execution time
- **Resolution:** Optimize task or increase timeout
- **Recovery:** Kill task, cleanup resources, log state
## Performance
**Expected Metrics:**
```yaml
duration_expected: 3-8 min (estimated)
cost_estimated: $0.002-0.005
token_usage: ~1,500-5,000 tokens
```
**Optimization Notes:**
- Cache template compilation; minimize data transformations; lazy load resources
## Metadata
```yaml
story: N/A
version: 1.0.0
dependencies:
- N/A
tags:
- creation
- setup
updated_at: 2025-11-17
```
## 📋 Description
Design wireframes, prototypes, and interaction flows based on user research insights. Create low-fidelity, mid-fidelity, or high-fidelity wireframes depending on project needs. Document design decisions and prepare developer handoff materials.
## 🎯 Objectives
- Translate user needs into visual designs
- Explore multiple design solutions
- Communicate design ideas to stakeholders
- Create interaction flow diagrams
- Prepare assets for development handoff
- Document design decisions and rationale
## 📊 Fidelity Levels
### Low-Fidelity (Lo-Fi)
**When to use:** Early exploration, quick iteration
**Tools:** Sketch, whiteboard, ASCII art
**Time:** 30 min - 2 hours
**Detail:** Boxes and labels, no styling
### Mid-Fidelity (Mid-Fi)
**When to use:** Stakeholder review, usability testing
**Tools:** Figma, Sketch, Balsamiq
**Time:** 4-8 hours
**Detail:** Layout, hierarchy, some content
### High-Fidelity (Hi-Fi)
**When to use:** Developer handoff, final approval
**Tools:** Figma, Adobe XD, Sketch
**Time:** 1-3 days
**Detail:** Visual design, real content, interactions
## 🔄 Workflow
### Step 1: Define Wireframe Scope
**Interactive Elicitation:**
```
What type of wireframes do you need?
1. Low-Fidelity (Lo-Fi) - Quick sketches for exploration
2. Mid-Fidelity (Mid-Fi) - Layout and structure
3. High-Fidelity (Hi-Fi) - Visual design ready for dev
Your selection: _____
What screens/views do you need? (List all, e.g., "Login, Dashboard, Profile")
Your list: _____
What's the primary use case? (e.g., "User booking a service")
Your use case: _____
```
### Step 2: Review Research Insights
**Pull from user research:**
- User personas (who are we designing for?)
- User goals (what do they want to accomplish?)
- Pain points (what frustrates them currently?)
- Behavioral patterns (how do they work?)
**Example:**
```
Designing for: [Persona Name]
Goal: [User goal from research]
Pain Point: [Relevant pain point]
Constraint: [Technical or business constraint]
```
### Step 3: Create Information Architecture
**Content Inventory:**
List all content elements needed per screen:
- Headers and titles
- Navigation elements
- Form fields
- Buttons and CTAs
- Images and media
- Data displays
- Helper text
**Example:**
```
Screen: Dashboard
-----
- Page title
- User greeting
- Navigation menu (4 items)
- Quick stats (3 metrics)
- Recent activity list (5 items)
- Primary CTA button
- Secondary action link
```
### Step 4: Design Wireframes
#### Low-Fidelity (ASCII/Text-Based)
**Example Lo-Fi Wireframe:**
```
+----------------------------------------------------------+
| [Logo] [Nav1] [Nav2] [Nav3] [Profile]|
+----------------------------------------------------------+
| |
| Dashboard |
| ========= |
| |
| +----------------+ +----------------+ +---------------+|
| | Metric 1 | | Metric 2 | | Metric 3 ||
| | [Large Number] | | [Large Number] | | [Large Number]||
| | [Label] | | [Label] | | [Label] ||
| +----------------+ +----------------+ +---------------+|
| |
| Recent Activity [View All] |
| --------------- |
| [ ] Activity Item 1 - Description [Action] |
| [ ] Activity Item 2 - Description [Action] |
| [ ] Activity Item 3 - Description [Action] |
| [ ] Activity Item 4 - Description [Action] |
| [ ] Activity Item 5 - Description [Action] |
| |
| [+ New Action Button] |
| |
+----------------------------------------------------------+
| Footer Links | Copyright | Privacy |
+----------------------------------------------------------+
```
#### Mid-Fidelity Wireframe Components
**Component Checklist:**
- [ ] Navigation (global, contextual)
- [ ] Page title and breadcrumbs
- [ ] Content areas (primary, secondary, sidebar)
- [ ] Forms (labels, fields, validation, buttons)
- [ ] Data displays (tables, cards, lists)
- [ ] Images and media placeholders
- [ ] CTAs and action buttons
- [ ] Loading states
- [ ] Empty states
- [ ] Error states
**Atomic Design Structure:**
Break wireframe into components:
- **Atoms:** Button, Input, Label, Icon
- **Molecules:** Form Field (Label + Input), Card (Image + Title + Text)
- **Organisms:** Header (Logo + Nav + Profile), Form (Multiple Fields + Button)
### Step 5: Document Interaction Flows
**Flow Diagram Template:**
```
[Start] → [Screen 1] → [User Action] → [Screen 2] → [Conditional Branch]
↓
[Success Path]
↓
[Screen 3] → [End]
[Error Path]
↓
[Error Screen] → [Retry]
```
**Example: Login Flow**
```
[Landing Page]
↓
[Click Login]
↓
[Login Screen]
↓
[Enter Email + Password]
↓
[Click Submit]
↓
[Validate]
↓
┌─────┴─────┐
↓ ↓
[Valid] [Invalid]
↓ ↓
[Dashboard] [Error: Show message]
[Retry]
```
### Step 6: Add Annotations
**Annotation Types:**
1. **Functionality** - "Clicking here opens modal"
2. **Content** - "Show user's first name from profile"
3. **State** - "Disabled if form incomplete"
4. **Business Rules** - "Only show if user has premium"
5. **Accessibility** - "Focus trap on modal open"
6. **Performance** - "Lazy load images below fold"
**Example:**
```
[Button: Save Changes]
- Disabled state: If form has validation errors
- Loading state: Show spinner during API call
- Success state: Show checkmark + "Saved!" message
- Error state: Show error icon + error message
- Accessibility: aria-label="Save changes to profile"
- Analytics: Track "profile_save_clicked" event
```
### Step 7: Create Component Inventory
List all unique components for development:
```markdown
## Component Inventory (Atomic Design)
### Atoms (18 total)
- Button (Primary, Secondary, Destructive, Ghost)
- Input (Text, Email, Password, Number, Search)
- Label
- Icon (Set of 12 common icons)
- Badge
- Avatar
- Divider
### Molecules (8 total)
- Form Field (Label + Input + Helper Text + Error)
- Search Bar (Input + Icon + Button)
- Card Header (Avatar + Title + Subtitle)
- Navigation Item (Icon + Label + Badge)
- Stat Display (Label + Number + Trend Icon)
- Dropdown Menu (Button + Menu Items)
- Toast Notification (Icon + Message + Close)
- Empty State (Icon + Title + Description + CTA)
### Organisms (5 total)
- Header (Logo + Navigation + Search + Profile)
- Form (Multiple Fields + Submit Button)
- Data Table (Headers + Rows + Pagination)
- Card (Header + Content + Footer)
- Modal (Overlay + Header + Body + Footer + Close)
```
### Step 8: Prepare Developer Handoff
**Handoff Package Includes:**
1. **Wireframes** - All screens (PNG/PDF export)
2. **Interaction Flows** - Flow diagrams
3. **Component Inventory** - List with specifications
4. **Annotations** - Design decisions document
5. **Assets** - Icons, logos (if available)
6. **Measurements** - Spacing, sizing guidelines
**Spacing System:**
```
Base unit: 4px
Scale:
- xs: 4px
- sm: 8px
- md: 16px
- lg: 24px
- xl: 32px
- 2xl: 48px
- 3xl: 64px
```
**Breakpoints:**
```
- Mobile: < 640px
- Tablet: 640px - 1024px
- Desktop: > 1024px
```
## 📤 Outputs
All artifacts saved to: `outputs/wireframes/{project}/`
### Required Files:
1. **wireframes/** - All screen wireframes (PNG/ASCII)
2. **flows.md** - Interaction flow diagrams
3. **component-inventory.md** - List of all components (Atomic Design)
4. **annotations.md** - Design decisions and notes
5. **handoff-package.md** - Developer handoff guide
### Optional Files:
6. **assets/** - Icons, logos, images
7. **measurements.md** - Spacing and sizing specs
8. **responsive-notes.md** - Mobile/tablet/desktop variations
## ✅ Success Criteria
- [ ] Wireframes created for all required screens
- [ ] Appropriate fidelity level achieved
- [ ] Interaction flows documented
- [ ] Component inventory complete (Atomic Design structure)
- [ ] Annotations explain all design decisions
- [ ] Developer handoff package prepared
- [ ] Spacing and measurement guidelines defined
- [ ] Responsive behavior documented
- [ ] All outputs saved to `outputs/wireframes/{project}/`
- [ ] `.state.yaml` updated with wireframes completion
## 🔄 Integration with Other Tasks
**Previous Steps:**
- `*research` - Use personas and insights to inform design
**Next Steps:**
- `*generate-ui-prompt` - Convert wireframes to AI prompts for v0/Lovable
- `*build` - Implement components from inventory
- `*create-front-end-spec` - Create detailed specifications
**State Management:**
Updates `.state.yaml` with:
- `wireframes_created: [list of screen names]`
- `fidelity_level: "low" | "mid" | "high"`
- `component_inventory: [list of components]`
- `wireframe_date: [ISO date]`
## 🎨 AI UI Generation Prompts
After creating wireframes, generate prompts for AI tools:
**v0.dev Prompt Template:**
```
Create a [Component Name] component with:
- [Feature 1]
- [Feature 2]
- [Feature 3]
Style: [Modern/Minimal/Bold]
Colors: [Primary/Secondary colors]
Framework: React + TypeScript + Tailwind CSS
Accessibility: WCAG AA compliant
```
**Lovable Prompt Template:**
```
Build a [Screen Name] page featuring:
- [Section 1 description]
- [Section 2 description]
- [Section 3 description]
Layout: [Grid/Flex/Stack]
Mobile-responsive: Yes
Dark mode: [Yes/No]
```
## 📚 Best Practices
### Visual Hierarchy
- Larger = more important
- Bold = action or emphasis
- Color = status or category
- Proximity = related items
### Consistency
- Use same components throughout
- Maintain spacing patterns
- Follow established navigation
- Repeat interaction patterns
### Accessibility
- Sufficient contrast (4.5:1 minimum)
- Clear focus indicators
- Logical tab order
- Alt text for images
- Form labels and error messages
### Mobile-First
- Design for smallest screen first
- Progressive enhancement for larger screens
- Touch targets minimum 44x44px
- Avoid hover-only interactions
## ⚠️ Common Pitfalls
1. **Too much detail too early** - Start lo-fi, iterate to hi-fi
2. **Designing in isolation** - Share early, get feedback often
3. **Ignoring edge cases** - Design empty states, errors, loading
4. **Inconsistent patterns** - Reuse components, don't reinvent
5. **No mobile consideration** - Design responsive from start
**Created:** 2025-11-12
**Story:** 4.3 - UX-Design-Expert Merge
**Version:** 1.0.0