Screen Flow Definition
Position in workflow: v0.4 User Journey Mapping → v0.4 Screen Flow Definition → v0.5 Red Team Review
Screens are where journeys become tangible. This skill transforms user journeys into a screen inventory with navigation paths and feature mappings.
Consumes
This skill requires prior work from v0.3-v0.4:
- **UJ-\* user journey entries** (from v0.4 User Journey Mapping) — Journey steps become screens; each step asks "What screen enables this action?"
- **FEA-\* feature entries** (from v0.3 Features Value Planning) — Features map to screens showing which features appear on which screens
- **PER-\* persona entries** (from v0.4 Persona Definition) — Persona context (technical level, role) shapes screen design choices and complexity
- MVP-SCOPE artifact (from v0.3 Features Value Planning) — Explicit feature boundary; screens must render only MVP-scoped features, backlog features deferred
- **BR-\* business rules** (from v0.3 Commercial Model) — Constraints affecting screen layout (pricing tier rules affect which settings appear, role-based visibility, data refresh rates, etc.)
This skill assumes v0.4 User Journey Mapping is complete.
Produces
This skill creates/updates:
- **SCR-\* entries** (screens, confidence 2-3/5) — Screen inventory with journey/feature/persona mappings showing purpose, actions, navigation, and constraints
- **DES-\* entries** (design system components, confidence 2-3/5) — Reusable UI elements and patterns identified across screens
- Feature-to-Screen matrix — Validation artifact showing every FEA- and every UJ- step mapped to SCR-
- Screen count and complexity assessment — Critical for v0.5 technical stack selection (number of screens informs frontend framework needs)
All SCR- entries should include:
confidence: 2-3/5 (based on journey validation and feature implementation status)
- Evidence source citations (UJ-ID, FEA-ID, PER-ID references)
- Forward target: "Would move to 4/5 if validated in wireframe review or prototype testing"
Example SCR- entry with confidence:
SCR-001: Main Dashboard
Type: Page
Purpose: Central hub showing key metrics and quick actions
Journeys: UJ-001 (Step 4), UJ-002 (Step 5), UJ-003 (Step 1)
Features: FEA-007 (dashboard), FEA-003 (reports preview), FEA-012 (notifications) — all in MVP-SCOPE
Confidence: 2/5 (source: journey-mapping + design-validation; not yet wireframed)
Primary Actions: Create Report, View Data Sources, Access Settings
Secondary Actions: Invite Team, View Help
Navigation:
From: SCR-000 (Login), any screen via nav bar
To: SCR-002 (Report Builder), SCR-003 (Data Sources), SCR-010 (Settings)
Content:
- Key metrics summary (3-5 cards) → DES-001 (Data Card)
- Recent reports list → DES-002 (Report List)
- Data source health status → DES-003 (Status Badge)
- Notification bell → FEA-012
Constraints: BR-015 (data refresh rate), BR-020 (role-based visibility)
Design Notes: PER-001 needs "busy dashboard" - show progress at a glance without overwhelming
Next Target: "Would move to 4/5 if wireframe validated with 3+ target personas"
Example DES- entry with confidence:
DES-001: Data Card
Type: Component
Used In: SCR-001 (Dashboard), SCR-005 (Analytics)
Purpose: Display single metric with trend indicator
Confidence: 2/5 (source: design-pattern-research; component not yet coded)
States:
- Default: Shows value + trend arrow
- Loading: Skeleton placeholder
- Empty: "No data yet" message
- Error: "Failed to load" with retry
Variants: Small (dashboard, 120px width), Large (detail view, 240px width)
Accessibility: ARIA labels for trend direction, keyboard navigation support
Next Target: "Would move to 4/5 if implemented and tested across both use cases"
Screen Types
| Type |
Definition |
Design Priority |
Example |
| Page |
Full viewport, primary navigation target |
High |
Dashboard, Settings |
| Modal |
Overlay, blocks underlying page |
Medium |
Confirmation, Quick Edit |
| Panel |
Slide-out, contextual detail |
Medium |
Detail View, Filters |
| Component |
Reusable UI element |
Varies |
Header, Data Table |
Rule: Start with Pages, then identify where Modals/Panels reduce navigation friction.
Navigation Patterns
Choose a pattern based on product type:
| Pattern |
When to Use |
Example Products |
| Hub & Spoke |
Dashboard-centric apps |
Analytics, CRM |
| Linear Flow |
Wizard/checkout processes |
Onboarding, E-commerce |
| Hierarchical |
Content-heavy apps |
Documentation, CMS |
| Flat |
Simple single-purpose apps |
Timer, Calculator |
Most SaaS products use Hub & Spoke with occasional Linear Flows for onboarding/purchase.
Mapping Process
- Pull UJ- (journeys) and FEA- (features) from prior steps
- Journeys define the paths; features define the capabilities
- Inventory unique screens needed across all journeys
- Walk through each journey step and ask: "What screen does this happen on?"
- Map features to screens (many:many relationship)
- One feature may appear on multiple screens - One screen may contain multiple features
- Define navigation structure
- How do users get from screen to screen? - What's the hierarchy? What's always accessible?
- Identify shared components
- Headers, footers, navigation bars - Common patterns: data tables, forms, cards
- Create SCR- entries with journey and feature traceability
- Create DES- entries for design system elements
SCR- Output Template
SCR-XXX: [Screen Name]
Type: [Page | Modal | Panel | Component]
Purpose: [What user accomplishes on this screen]
Journeys: [UJ-XXX, UJ-YYY that use this screen]
Features: [FEA-XXX, FEA-YYY rendered on this screen]
Primary Actions: [Key user actions available]
Secondary Actions: [Less common but available actions]
Navigation:
From: [SCR-XXX, SCR-YYY — how users arrive]
To: [SCR-XXX, SCR-YYY — where users can go next]
Content:
- [Data/element 1]
- [Data/element 2]
Constraints: [BR-XXX rules affecting this screen]
Design Notes: [Persona-specific considerations from PER-]
Example SCR- entry:
SCR-001: Main Dashboard
Type: Page
Purpose: Central hub showing key metrics and quick actions
Journeys: UJ-001 (Step 4), UJ-002 (Step 5), UJ-003 (Step 1)
Features: FEA-007 (dashboard), FEA-003 (reports preview), FEA-012 (notifications)
Primary Actions: Create Report, View Data Sources, Access Settings
Secondary Actions: Invite Team, View Help
Navigation:
From: SCR-000 (Login), any screen via nav bar
To: SCR-002 (Report Builder), SCR-003 (Data Sources), SCR-010 (Settings)
Content:
- Key metrics summary (3-5 cards)
- Recent reports list
- Data source health status
- Notification bell
Constraints: BR-015 (data refresh rate), BR-020 (role-based visibility)
Design Notes: PER-001 needs "busy dashboard" - show progress at a glance
DES- Output Template
DES-XXX: [Component/Pattern Name]
Type: [Component | Pattern | Layout]
Used In: [SCR-XXX, SCR-YYY]
Purpose: [What this element does]
States:
- Default: [Normal state]
- Loading: [When fetching data]
- Empty: [No data state]
- Error: [Error state]
- Disabled: [When not interactive]
Variants: [If multiple versions exist]
Accessibility: [A11y considerations]
Example DES- entry:
DES-001: Data Card
Type: Component
Used In: SCR-001 (Dashboard), SCR-005 (Analytics)
Purpose: Display single metric with trend indicator
States:
- Default: Shows value + trend arrow
- Loading: Skeleton placeholder
- Empty: "No data yet" message
- Error: "Failed to load" with retry
Variants: Small (dashboard), Large (detail view)
Accessibility: ARIA labels for trend direction
Screen Categories
Organize screens by function:
| Category |
Examples |
Design Priority |
| Entry Points |
Login, Landing, Signup |
High (first impressions) |
| Core Workflow |
Main task screens |
High (value delivery) |
| Settings/Admin |
Preferences, Account, Billing |
Medium (necessary) |
| Support/Help |
Docs, Contact, FAQ |
Low (failure recovery) |
Rule: Invest design effort proportional to priority. Don't over-design settings screens.
Feature-to-Screen Matrix
Create a mapping matrix:
| Feature |
SCR-001 |
SCR-002 |
SCR-003 |
SCR-004 |
| FEA-001 (auto-sync) |
|
✓ |
|
|
| FEA-003 (reports) |
Preview |
Full |
|
|
| FEA-007 (dashboard) |
✓ |
|
|
|
| FEA-010 (auth) |
|
|
|
✓ |
This reveals:
- Features spread across multiple screens (normal)
- Features on no screens (problem: orphaned)
- Screens with no features (problem: unnecessary)
Anti-Patterns to Avoid
| Anti-Pattern |
Signal |
Fix |
| Screen explosion |
>20 unique screens for MVP |
Consolidate; use modals/panels instead |
| Feature-per-screen |
1:1 FEA to SCR mapping |
Group related features on screens |
| No shared components |
Every screen is unique |
Extract DES- patterns |
| Navigation dead-ends |
Can't get back from a screen |
Ensure bidirectional paths |
| Journey disconnect |
SCR- not tied to UJ- |
Every screen serves a journey |
| Modal abuse |
Everything is a modal |
Modals for confirmations/quick edits only |
Quality Gates
Before proceeding to v0.5 Red Team Review:
Downstream Connections
SCR- and DES- entries feed into:
| Consumer |
What It Uses |
Example |
| v0.5 Technical Stack Selection |
Screen complexity informs frontend needs |
"20 screens → need component library" |
| v0.6 Technical Specification |
Screens inform API data needs |
SCR-001 → API-001 (dashboard data) |
| v0.7 Build Execution |
Screens become implementation tasks |
EPIC-03 builds SCR-001–005 |
| Design |
SCR- entries become wireframes/mockups |
SCR-001 → Figma design |
Detailed References
- Screen flow examples: See
references/examples.md
- SCR- entry template: See
assets/scr.md
- DES- entry template: See
assets/des.md
- Navigation patterns guide: See
references/navigation-patterns.md