yakoub-ai/flutterforge · Archived

flutter-ux-design

>- Use this skill when the user wants to design the UX, plan screens, define navigation flows, or establish a design system for a Flutter app — before implementation begins. Trigger phrases: "design Flutter UX", "create screen flow", "plan app screens", "help with mobile UI", "design system Flutter", "what screens do I need", "design the UI for my Flutter app", "define the navigation", "create a component inventory", "help me plan the screens", "what widgets do I need", "design the onboarding f…

First seen May 18, 2026

Installation

$ npx skills add yakoub-ai/flutterforge --skill flutter-ux-design

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from yakoub-ai/flutterforge · top by installs.

npx skills add yakoub-ai/flutterforge

Browse all from yakoub-ai/flutterforge

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 8,712 B
  • docs SUMMARY.md 817 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 3 installs

SKILL.md

Flutter UX Design

A structured methodology for defining the mobile user experience — screens, navigation, UI states, design system, and component inventory — before a single widget is coded.

Guiding principle: Every screen must be fully designed before it is implemented. "Fully designed" means every UI state is defined, every navigation path is explicit, and every reusable component is named. Do not generate code during this skill — output is documents, not implementation.


Workflow

  1. Screen inventory — list every screen with name, purpose, entry point, exit points, and access control.
  2. Navigation flow — define the app's navigation tree and navigation type per transition.
  3. UI states — define all five states (loading, success, empty, error, offline) for every screen.
  4. Design system — define color roles, typography scale, spacing, border radius, and elevation.
  5. Component inventory — list every reusable widget with variants, props, and screen usage.
  6. Accessibility — document tap target, contrast, semantic label, and text-scaling requirements as acceptance criteria.
  7. Write output artifacts below.

Step 1: Screen Inventory

For each screen:

Field Description
Name Identifier used in code, routes, tests
Purpose One sentence: what does the user accomplish here?
Entry Point App launch / tab tap / button press / deep link
Exit Points Where can the user navigate from here?
Access Control Unauthenticated / authenticated / admin

Group screens by feature area. If screen count exceeds MVP scope, flag discrepancy and ask which are required for launch.


Step 2: Navigation Flow

Navigation types:

Type Use when
BottomNavigationBar / NavigationBar Top-level sections (3–5 tabs max)
Stack push/pop Drill-down within a section
showModalBottomSheet / showDialog Temporary overlays, quick actions, lightweight forms
Full-screen modal push Flows that interrupt context: camera, checkout, permissions

Navigation tree format (indented notation):

App Root
  ├── Unauthenticated Shell
  │   ├── SplashScreen
  │   └── LoginPage
  │       └── [modal] ForgotPasswordBottomSheet
  └── Authenticated Shell (MainNavigationPage)
      ├── Tab 1: HomePage
      │   └── [push] ItemDetailPage
      ├── Tab 2: SearchPage
      └── Tab 3: ProfilePage
          ├── [push] EditProfilePage
          └── [push] SettingsPage

For each navigation action: widget that triggers it, data passed to destination, back-navigation guard if applicable.


Step 3: UI States (per screen)

Every screen must define all five states. Mark N/A only with justification.

State Requirement
Loading Skeleton layout matching the success state (prefer shimmer over centered spinner for content-heavy screens)
Success Normal state — data rendered correctly
Empty Illustration/icon + heading + supporting message + primary action. Never a blank screen.
Error Heading + human-readable message (not a stack trace) + retry action. Inline if partial, full-screen if entire screen failed.
Offline Applies to apps with offline requirements. Banner + cached data + disabled write actions.

Step 4: Design System Foundation

All values must be concrete — no TBD, no placeholder colors.

Color Palette — define using ColorScheme naming convention:

Role Purpose
primary Primary actions, links, active tabs
onPrimary Text/icons on primary color
primaryContainer Subtle backgrounds for primary context
secondary Secondary actions, badges
error Errors, destructive actions
background Page backgrounds
surface Cards, sheets, dialog backgrounds
outline Borders, dividers, inactive icons

Define dark scheme if dark mode is required. Never use raw hex values in widget code — reference through Theme.of(context).colorScheme.

Typography Scale — map TextTheme slots to content types in this app:

Slot Scale Typical Use
headlineLarge 32sp Screen titles
headlineMedium 28sp Card titles, section headings
titleLarge 22sp AppBar titles
titleMedium 16sp List item titles, tab labels
bodyLarge 16sp Primary body text
bodyMedium 14sp Secondary copy
bodySmall 12sp Captions, timestamps
labelLarge 14sp Button labels

Specify font family and weight variations (400 regular, 500 medium, 700 bold).

Spacing Scale (base 4px — define constants in app_spacing.dart, no raw doubles in widgets):

xs=4 / sm=8 / md=12 / lg=16 / xl=24 / 2xl=32 / 3xl=48 / 4xl=64

Border Radius: sm=4 / md=8 / lg=12 / xl=16 / full=999

Elevation: follow Material 3 tonal elevation (0=background, 1=cards, 3=drawers, 4=FABs, 5=dialogs).


Step 5: Component Inventory

Required baseline for every app:

Component Variants Key Props Used On
AppBar with back / with actions / search title, actions All pushed screens
BottomNavigationBar tabs (3–5), icon+label All tab roots
PrimaryButton enabled / loading / disabled label, onPressed, isLoading Forms, CTAs
OutlinedButton enabled / disabled label, onPressed Secondary actions
AppTextField standard / password / error label, hint, errorText, obscureText Forms
LoadingIndicator full-screen / inline All loading states
SkeletonLoader card / list item / profile Content loading
ErrorView full-screen / inline message, onRetry Error states
EmptyStateView illustration, heading, subheading, onAction Empty states
OfflineBanner Data-dependent screens
AvatarWidget network / initials imageUrl, displayName, size Profile contexts
CardWidget flat / elevated / tappable child, onTap, padding Content lists

Add app-specific components beyond this baseline.


Step 6: Accessibility (as acceptance criteria)

See flutter-accessibility skill for the full audit process. Document these as ACs:

  • All interactive elements ≥ 48×48 dp tap target
  • Body text ≥ 4.5:1 contrast; large text / UI components ≥ 3:1
  • Every icon button has tooltip or Semantics(label: ...)
  • Every meaningful Image has semanticLabel
  • No information conveyed by color alone — always a secondary indicator
  • UI does not overflow or clip at 1.3x text scale

Design Quality Rules

  • No generic defaults — every design decision must be specific to this app's context.
  • Every screen requires all five UI states before implementation begins.
  • Never placeholder colors or TBD spacing — pick values now; changing later is trivial.
  • Platform conventions: iOS avoids FAB as primary CTA; Android uses FAB for creation. iOS uses back-swipe; both use system pickers where appropriate.
  • Respect platform conventions for modals (bottom sheets on iOS, dialogs for confirmation).

Output Artifacts

  • docs/ux/screen_map.md — screen inventory table
  • docs/ux/user_flows.md — navigation tree + per-flow narrative for 3 critical flows
  • docs/ux/design_system.md — color palette, typography, spacing, border radius, elevation
  • docs/ux/component_inventory.md — all components with variants, props, screen usage
  • docs/ux/accessibility_notes.md — Step 6 checklist as acceptance criteria

Cross-references

  • Agent: ux-mobile-designer (implements UI changes from this design)
  • Accessibility audit: flutter-accessibility skill
  • Implementation: flutter-feature-dev skill