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:
markdownSCR-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:
markdownDES-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:
- All UJ- steps mapped to screens
- All FEA- features appear on at least one screen
- Navigation paths are bidirectional (no dead-ends)
- Shared components identified as DES- entries
- Screen count reasonable for MVP (<15 pages)
- Entry points and core workflow prioritized
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

