Install
$ agentstack add skill-phazurlabs-sumi-screen-flow-patterns ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Screen and Flow Patterns
Mental model
Before anything is styled, two questions decide the shape of a product: which screens exist, and what connects them. Getting this wrong is expensive in a way visual decisions never are -- you can restyle a screen in an afternoon; you cannot re-architect a flow after it ships without breaking people's habits.
- Name the screen type before designing it. Nearly every screen is an
instance of a known type with known states and a known failure mode. "A page where users manage their team" is a List/Feed with an invite flow attached, and saying so imports thirty solved decisions.
- A flow is a sequence with an exit at every step. If a step has no way back
and no way out, it is a trap, and traps are where support tickets come from.
- Design the states, not the screen. The happy path is the easy fifth of the
work. The other four fifths are empty, loading, error and partial.
- Density is a decision, not a consequence. Pick a tier and hold it.
Constants
Every screen ships all five. A screen specified only in its ideal state is not specified.
Every screen passes through states. Model them explicitly to ensure all states are designed.
6.1 The Five Core States
[Initial] -> [Loading] -> [Loaded / Populated]
| |
v v
[Error] [Empty]
| |
v v
[Retry -> Loading] [Action -> Loading]
- Initial: Screen is mounted but no data request has fired yet. Often invisible (immediate transition to Loading).
- Loading: Data is being fetched. Show skeleton screens (preferred), spinner, or shimmer. Never show a blank screen.
- Loaded / Populated: Data received and displayed. The "happy" state. Most design time is spent here.
- Empty: Data request succeeded but returned zero items. Show empty state illustration + CTA.
- Error: Data request failed. Show error message + retry button. Distinguish between network error, server error, and permission error.
6.2 Extended States
- Refreshing: Pulling to refresh or background sync. Show inline indicator without replacing content.
- Partial Load: Some data loaded, more available. Infinite scroll loading indicator at bottom.
- Stale: Data is old. Show "last updated" timestamp. Background refresh in progress.
- Offline: No network connection. Show cached data with offline banner. Queue actions for sync.
- Permission Required: User has not granted necessary permission (location, camera, contacts). Show explanation + request button.
6.3 State Design Checklist
For every screen, verify you have designed:
- [ ] Loading state (skeleton or spinner)
- [ ] Populated state (with real data, not lorem ipsum)
- [ ] Empty state (zero items, with helpful CTA)
- [ ] Error state (with clear message and retry)
- [ ] Partial/paginated state (loading more indicator)
- [ ] Offline state (if applicable)
- [ ] Permission request state (if applicable)
Section 7: Information Density Levels
7.1 Three Density Tiers
| Tier | Description | Target Elements per Viewport | Example Screen Types | |------|-------------|------|------| | Low | Breathing room. One idea per fold. Marketing-oriented. | 3-5 | Landing, onboarding, login, confirmation, empty state, error pages | | Medium | Balanced. Content-rich but not overwhelming. Scrolling expected. | 6-12 | Profile, detail, settings, blog/article, checkout, contact | | High | Data-dense. Power users. Scanning and filtering essential. | 12-25+ | Dashboard, analytics, file manager, data table, calendar, comparison |
7.2 Density Adjustments by Platform
- Mobile: Reduce density by 30-40% vs desktop. Stack columns. Collapse secondary info behind taps.
- Tablet: Intermediate density. Use split views to maintain context without overwhelming.
- Desktop: Highest density acceptable. Multi-column layouts, sidebars, persistent panels.
7.3 Density Controls for Users
- Comfortable / Cozy / Compact: Gmail-style density toggle. Adjusts row height and spacing.
- Card / List / Table: View mode toggle. Cards are lowest density, tables are highest.
- Show/Hide Columns: Let users configure which columns appear in data tables.
- Collapse Panels: Resizable and collapsible sidebars for user-controlled density.
Section 8: Platform-Specific Screen Conventions
Index
Screen types (32) -- full specification for each in references/screen-type-catalog.md:
Landing · Home/Dashboard · List/Feed · Detail/Show · Profile · Settings · Search/Results · Checkout · Onboarding · Login · Sign-up · Forgot Password · Empty State · Error 404 · Error 500 · Maintenance · Loading/Splash · Notifications Center · Analytics/Reporting · File Manager · Editor/Canvas · Wizard/Multi-Step · Chat/Messaging · Calendar · Map View · Comparison · About/Team · Contact · Blog/Article · Product Gallery · Booking/Reservation · Confirmation/Success
Flow patterns (22) -- full specification for each in references/user-flow-catalog.md:
Authentication · Onboarding · Purchase/Checkout · Search-Filter-Select · CRUD · Invite/Share · Communication · Notification-to-Action · Upgrade/Upsell · Cancellation/Churn · Help/Support · Data Import/Export · Review/Rating · Onboarding Checklist · Collaborative Editing · Subscription/Renewal · Referral · Multi-Device Handoff · Account Deletion · Error Recovery · Settings Management · Content Creation
UI elements (120+) across navigation, input, feedback, overlay and layout -- references/ui-element-deep-dive.md.
When documenting or communicating user flows, use these standardized conventions.
3.1 Node Types
- Start / End: Rounded rectangle (pill shape). Green for start, red for end.
- Screen / Page: Rectangle. Contains screen name. Color-coded by section.
- Decision: Diamond. Contains yes/no or conditional question.
- Action: Rectangle with rounded corners. User or system action.
- Sub-flow: Rectangle with double border. Links to separate flow diagram.
- Wait / Delay: Hourglass or clock icon. Async step (email verification, processing).
3.2 Path Types
- Happy Path: Solid green arrows. The primary expected journey.
- Error Path: Dashed red arrows. What happens when things fail.
- Alternative Path: Dotted blue arrows. Valid but less common routes.
- Escape Hatch: Gray arrows. Exit points (cancel, back, close).
3.3 Entry Points
- Direct URL: Globe icon. User arrives via typed URL or link.
- Deep Link: Chain icon. From push notification, email, or external app.
- Navigation: Menu icon. From in-app navigation.
- System Trigger: Gear icon. Automated redirect (session expire, maintenance).
3.4 Edge Case Annotations
- Conditional: Annotate arrows with conditions (e.g., "if cart > $50").
- Frequency: Label paths with expected traffic percentage (e.g., "80% of users").
- Data Dependencies: Note when a step requires data from a previous step.
- Timeout: Note time limits (e.g., "OTP expires in 10 min").
Section 4: UI Element Pattern Catalog (120+ Elements)
Reference architecture
| File | Covers | Lines | |---|---|---| | references/screen-type-catalog.md | 32 screen types, fully specified | 1731 | | references/ui-element-deep-dive.md | 120+ elements, 26 in depth | 1259 | | references/user-flow-catalog.md | 22 flows step by step | 1116 | | references/inspiration-reference-guide.md | where to look for precedent | 228 | | references/transitions-and-platform-conventions.md | push, modal, tab, deep link; iOS/Android/web | 84 |
What every reference file contains
- Purpose -- the one job this screen or flow does
- The component hierarchy, named
- The state matrix: empty, loading, error, partial, ideal
- Accessibility requirements specific to the type
- Best-in-class examples, named
- The failure mode that type is known for
Routing
For deciding which screens a product needs and the full specification of each: read references/screen-type-catalog.md.
For the sequence connecting them -- entry points, steps, decision points, exits and error branches: read references/user-flow-catalog.md.
For a specific element -- navigation, input, feedback, overlay or layout: read references/ui-element-deep-dive.md.
For how screens move between each other and what each platform expects: read references/transitions-and-platform-conventions.md.
For precedent -- where to look and what to look for: read references/inspiration-reference-guide.md.
Cross-References
page-composition-engine-- once the screen type is chosen, this composes itnavigation-pattern-encyclopedia-- the navigation connecting the screensperformance-states-patterns-- the empty, loading and error states in depthui-pattern-intelligence-- whether the pattern chosen is still currentmobile-ux-design-- the mobile form of each screen type
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: phazurlabs
- Source: phazurlabs/sumi
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.