Thumb-First · Design
Mobile design judgment — what the right mobile pattern is and why, not how to code it. The decisions hold whether the implementation is CSS, SwiftUI, or React Native. This is the design-judgment layer of the thumb-first suite.
Quick Start
Plan a feature's mobile design: /thumb-first-design plan or "design the mobile UX for this" or "how should this work on mobile"
Audit an existing mobile design: /thumb-first-design audit or "review this mobile screen" or "is this good mobile design"
This skill decides patterns and ergonomics; it does not write the implementation — for responsive CSS use responsive-craft; for mobile-web/PWA technical defects (safe areas, viewport, service workers) use its sibling thumb-first-platform; for React Native/Expo use the native-mobile skills. For a single combined pass that runs this judgment audit and the platform audit and merges them into one report, run /thumb-first.
Core Principles
These are the durable principles — synthesized from the people who defined the field. They survive device generations and platform churn.
Design for the most constrained grip (Hoober) — Grips switch every few seconds with the task. The often-quoted "49% use one hand" is not license to bury controls in easy-reach zones. Accommodate the hardest grip the user might be in, so the interface works no matter how they hold the device. In practice: keep the interaction surface — controls, nav, primary actions — in the lower band; let content fill the top, but don't put interaction there.
Thumb zones are a cost map, not a layout grid (Hurff) — Natural / Stretch / "Ow" tells you the cost of a location, not where things must go. High-cost zones are the right home for rare or destructive actions. Reach cost rises non-linearly with screen size — re-map it per device class.
Mobile forces focus (Wroblewski) — The small screen is a feature: it forces the question "what actually earns this screen?" Decide what to cut and what is primary before deciding layout. Prioritization is the design work.
The content is the control (Clark) — Prefer direct manipulation of content over chrome wrapped around it. But every gesture without a visible affordance is a feature only experts will discover — gesture power and discoverability trade off, and that tension never fully resolves.
Motion is communication, not decoration (Modern Craft) — Transitions carry state, hierarchy, and causality. Design motion with the layout, not as a final polish pass. Where something comes from and goes to is information.
Navigation chrome is currently unsettled — iOS 26 (Liquid Glass, floating tab bar) and Material 3 Expressive (nav drawer deprecated) are mid-transition. Treat platform navigation as in-flux; flag it, don't present a moving target as settled canon.
Surface decision forks — don't default silently — When a mobile design choice has multiple valid answers (nav pattern, sheet vs. modal, gesture vs. visible control), present 2-3 options with tradeoffs and let the user choose. See references/design-forks.md.
The Designer Lenses
This skill reasons through eight named lenses rather than a flattened checklist. Each is a real practitioner with sharp, attributable positions. Weighting is context-aware — the lenses that matter most depend on what's being designed.
| Lens |
Voice(s) |
Leads when the work is about… |
| Ergonomic Realist |
Steven Hoober |
reach, action placement, grip assumptions |
| Thumb-Zone Mapper |
Scott Hurff |
layout cost, large-screen tradeoffs |
| Focus Forcer |
Luke Wroblewski |
content prioritization, forms |
| Direct Manipulation |
Josh Clark |
touch model, gesture vs. control, discoverability |
| Navigation Taxonomist |
Frank Rausch |
nav architecture, modals, drawers, sheets |
| Empirical Skeptic |
Raluca Budiu / NN/g |
scanning, overlays, myth-checking assumptions |
| Modern Craft |
Allen / de With / Nelson |
motion & feel, native-class craft, complex-app density |
| Platform Canon |
Apple HIG / Material 3 |
current conventions, system-reserved gestures |
Full positions, disagreements between lenses, and the weighting table are in references/designer-lenses.md. Load it at the start of both modes.
Mode Selection
Two modes. Detect from $ARGUMENTS or ask.
Detection
$ARGUMENTS contains "audit", "review", "critique", "evaluate", "feedback" → Audit
$ARGUMENTS contains "plan", "design", "build", "new", "how should" → Plan
- User points at an existing screen/component/app and asks for assessment → Audit
- User is starting a new mobile feature or unsure how it should work → Plan
- Ambiguous → Ask.
If AskUserQuestion is available:
- Plan — Design the mobile UX for a feature before any code is written
- Audit — Review an existing mobile design against best practice
Otherwise: "Do you want to (1) plan the mobile design for a new feature, or (2) audit an existing mobile design?"
If the user picks Audit but hasn't provided anything to review, ask what they're reviewing — a screenshot, a live URL, code, or a description — before routing. The audit workflow can work from any of these; it just needs one.
Routing
| Mode |
Read workflow |
Load immediately |
| Plan |
workflows/plan.md |
references/designer-lenses.md |
| Audit |
workflows/audit.md |
references/designer-lenses.md |
Load other references on demand:
references/reach-and-ergonomics.md — placing actions, thumb reach, one-handed use, large screens
references/navigation.md — choosing nav patterns; tab bar, drawer, bottom sheet, modals
references/forms-and-input.md — any screen with form fields or data entry
references/touch-gesture-motion.md — gestures, touch targets, transitions, haptics, feel
references/content-and-attention.md — content prioritization, scanning, glanceability, overlays
references/design-forks.md — when a choice has multiple valid answers
references/output-format.md — presenting Audit findings (HTML report by default; adapt references/report-template.html)
Gotchas — Where Claude Fails at Mobile Design
Mobile design failures are judgment failures, not code failures. Check every recommendation against this list.
Defaulting to a hamburger menu because it looks "clean" — Hidden navigation has poor discoverability. A tab bar exposes destinations and consistently outperforms it. The hamburger is a last resort for genuinely deep navigation, not a default.
Primary action at the top of the screen — A desktop habit. The top is the hardest thumb zone on a modern phone. Primary, frequent actions belong in the easy-reach lower band.
Designing for the average grip — There is no average grip. Designing only for comfortable one-handed reach penalizes the ~51% who are cradling or using two hands at any moment. Accommodate the most constrained grip.
Treating a bottom sheet as a navigation destination — Sheets are for transient, scoped tasks with the background still relevant. They are not pages. Never stack sheets to build a flow.
Adding gestures with no visible affordance — A swipe action nobody can see is a feature for experts only. Every gesture needs either a well-known convention behind it or a visible cue, and ideally a non-gesture fallback.
Multi-column forms and placeholder-as-label — Mobile forms are single-column, always. Placeholders that vanish on focus remove the label exactly when the user needs it. Labels stay visible.
Treating motion as a final polish pass — Motion that's bolted on after layout can't communicate where things come from. Decide transitions alongside the layout — they carry state and causality.
Porting desktop information density to mobile — Cramming a desktop screen's content into a phone is not mobile design. Mobile forces a prioritization decision: what is primary, what is deferred, what is cut.
Designing for an unspecified "mobile" target — Asked to design "for mobile," Claude silently defaults to iOS patterns (back-swipe, sheet detents, top-bar actions) that don't translate to Android. When the platform isn't stated, name the assumption and flag what differs across iOS / Android — and note where iOS 26 / Material 3 are mid-transition rather than treating either as settled.
Optimizing for the showcase screen — A design that looks great in a marketing shot may fail in one-handed use, with the keyboard open, mid-interruption, or for a returning user. Design for the real, distracted, glancing context.
For the reasoning behind each and the lens that catches it, see references/designer-lenses.md and the topic references.
Reference Index
| File |
Contents |
Load when |
| designer-lenses.md |
The 8 lenses — positions, disagreements, context-aware weighting table |
Start of both modes |
| reach-and-ergonomics.md |
Grip data, thumb zones, action placement, large-screen reach |
Placing actions or assessing reach |
| navigation.md |
Rausch's nav taxonomy, tab/drawer/sheet/modal decisions, iOS 26 + Material 3 state |
Choosing or reviewing navigation |
| forms-and-input.md |
Wroblewski's form principles, input types, field reduction, keyboard |
Any data-entry screen |
| touch-gesture-motion.md |
Touch targets, gesture discoverability, motion as communication, haptics |
Gestures, transitions, or feel |
| content-and-attention.md |
Prioritization, scanning patterns, glanceability, overlay proliferation |
Content layout and hierarchy |
| design-forks.md |
Ambiguous mobile decisions with options and tradeoffs |
A choice has no single right answer |
| output-format.md |
How the Audit presents findings — HTML report (default) + terminal fallback; color/diagram/section rules |
Presenting audit findings (Step 5) |
| report-template.html |
The canonical self-contained HTML audit report (worked example) — adapt, don't reinvent |
Writing the HTML report |
Workflow Index
| Workflow |
Purpose |
| plan.md |
Discovery → prioritize → choose patterns → mobile design brief |
| audit.md |
Assess against lenses → surface forks → prioritized findings |
1---2name: thumb-first-design3description: The design-judgment layer of the thumb-first mobile suite — decides WHAT the right mobile pattern is and WHY, platform-agnostic across web and native. Reasons through named designer lenses (Hoober, Hurff, Wroblewski, Clark, Rausch, Budiu, Allen, de With, Nelson) with context-aware weighting, and surfaces decision forks where there's no single right answer. Two modes: plan a feature's mobile design before code, or audit an existing one. Use for navigation-pattern choices (tab bar, drawer, bottom sheet), thumb-reach and action placement, mobile forms, gestures vs visible controls, and mobile design critique — or when the user mentions mobile design, mobile UX, thumb zones, one-handed use, bottom sheets, or mobile navigation. Usually run via the /thumb-first umbrella (which also runs platform checks); invoke directly for design judgment only. For web/PWA technical defects use thumb-first-platform.4---56# Thumb-First · Design78Mobile design judgment — *what* the right mobile pattern is and *why*, not how to code it. The decisions hold whether the implementation is CSS, SwiftUI, or React Native. This is the **design-judgment layer** of the thumb-first suite.910## Quick Start1112**Plan a feature's mobile design:** `/thumb-first-design plan` or "design the mobile UX for this" or "how should this work on mobile"13**Audit an existing mobile design:** `/thumb-first-design audit` or "review this mobile screen" or "is this good mobile design"1415This skill decides patterns and ergonomics; it does not write the implementation — for responsive CSS use `responsive-craft`; for mobile-web/PWA technical defects (safe areas, viewport, service workers) use its sibling `thumb-first-platform`; for React Native/Expo use the native-mobile skills. For a single combined pass that runs this judgment audit **and** the platform audit and merges them into one report, run `/thumb-first`.1617---1819## Core Principles2021These are the durable principles — synthesized from the people who defined the field. They survive device generations and platform churn.22231. **Design for the most constrained grip** *(Hoober)* — Grips switch every few seconds with the task. The often-quoted "49% use one hand" is **not** license to bury controls in easy-reach zones. Accommodate the hardest grip the user might be in, so the interface works no matter how they hold the device. *In practice:* keep the interaction surface — controls, nav, primary actions — in the lower band; let content fill the top, but don't put interaction there.24252. **Thumb zones are a cost map, not a layout grid** *(Hurff)* — Natural / Stretch / "Ow" tells you the *cost* of a location, not where things must go. High-cost zones are the right home for rare or destructive actions. Reach cost rises non-linearly with screen size — re-map it per device class.26273. **Mobile forces focus** *(Wroblewski)* — The small screen is a feature: it forces the question "what actually earns this screen?" Decide what to cut and what is primary *before* deciding layout. Prioritization is the design work.28294. **The content is the control** *(Clark)* — Prefer direct manipulation of content over chrome wrapped around it. But every gesture without a visible affordance is a feature only experts will discover — gesture power and discoverability trade off, and that tension never fully resolves.30315. **Motion is communication, not decoration** *(Modern Craft)* — Transitions carry state, hierarchy, and causality. Design motion *with* the layout, not as a final polish pass. Where something comes from and goes to is information.32336. **Navigation chrome is currently unsettled** — iOS 26 (Liquid Glass, floating tab bar) and Material 3 Expressive (nav drawer deprecated) are mid-transition. Treat platform navigation as in-flux; flag it, don't present a moving target as settled canon.34357. **Surface decision forks — don't default silently** — When a mobile design choice has multiple valid answers (nav pattern, sheet vs. modal, gesture vs. visible control), present 2-3 options with tradeoffs and let the user choose. See `references/design-forks.md`.3637---3839## The Designer Lenses4041This skill reasons through eight named lenses rather than a flattened checklist. Each is a real practitioner with sharp, attributable positions. Weighting is **context-aware** — the lenses that matter most depend on what's being designed.4243| Lens | Voice(s) | Leads when the work is about… |44|------|----------|-------------------------------|45| Ergonomic Realist | Steven Hoober | reach, action placement, grip assumptions |46| Thumb-Zone Mapper | Scott Hurff | layout cost, large-screen tradeoffs |47| Focus Forcer | Luke Wroblewski | content prioritization, forms |48| Direct Manipulation | Josh Clark | touch model, gesture vs. control, discoverability |49| Navigation Taxonomist | Frank Rausch | nav architecture, modals, drawers, sheets |50| Empirical Skeptic | Raluca Budiu / NN/g | scanning, overlays, myth-checking assumptions |51| Modern Craft | Allen / de With / Nelson | motion & feel, native-class craft, complex-app density |52| Platform Canon | Apple HIG / Material 3 | current conventions, system-reserved gestures |5354Full positions, disagreements between lenses, and the weighting table are in `references/designer-lenses.md`. Load it at the start of both modes.5556---5758## Mode Selection5960Two modes. Detect from `$ARGUMENTS` or ask.6162### Detection6364- `$ARGUMENTS` contains "audit", "review", "critique", "evaluate", "feedback" → **Audit**65- `$ARGUMENTS` contains "plan", "design", "build", "new", "how should" → **Plan**66- User points at an existing screen/component/app and asks for assessment → **Audit**67- User is starting a new mobile feature or unsure how it should work → **Plan**68- Ambiguous → Ask.6970If AskUserQuestion is available:71- **Plan** — Design the mobile UX for a feature before any code is written72- **Audit** — Review an existing mobile design against best practice7374Otherwise: "Do you want to (1) plan the mobile design for a new feature, or (2) audit an existing mobile design?"7576If the user picks Audit but hasn't provided anything to review, ask what they're reviewing — a screenshot, a live URL, code, or a description — before routing. The audit workflow can work from any of these; it just needs one.7778---7980## Routing8182| Mode | Read workflow | Load immediately |83|------|---------------|------------------|84| Plan | `workflows/plan.md` | `references/designer-lenses.md` |85| Audit | `workflows/audit.md` | `references/designer-lenses.md` |8687Load other references on demand:88- `references/reach-and-ergonomics.md` — placing actions, thumb reach, one-handed use, large screens89- `references/navigation.md` — choosing nav patterns; tab bar, drawer, bottom sheet, modals90- `references/forms-and-input.md` — any screen with form fields or data entry91- `references/touch-gesture-motion.md` — gestures, touch targets, transitions, haptics, feel92- `references/content-and-attention.md` — content prioritization, scanning, glanceability, overlays93- `references/design-forks.md` — when a choice has multiple valid answers94- `references/output-format.md` — presenting Audit findings (HTML report by default; adapt `references/report-template.html`)9596---9798## Gotchas — Where Claude Fails at Mobile Design99100Mobile design failures are *judgment* failures, not code failures. Check every recommendation against this list.1011021. **Defaulting to a hamburger menu because it looks "clean"** — Hidden navigation has poor discoverability. A tab bar exposes destinations and consistently outperforms it. The hamburger is a last resort for genuinely deep navigation, not a default.1031042. **Primary action at the top of the screen** — A desktop habit. The top is the hardest thumb zone on a modern phone. Primary, frequent actions belong in the easy-reach lower band.1051063. **Designing for the average grip** — There is no average grip. Designing only for comfortable one-handed reach penalizes the ~51% who are cradling or using two hands at any moment. Accommodate the most constrained grip.1071084. **Treating a bottom sheet as a navigation destination** — Sheets are for transient, scoped tasks with the background still relevant. They are not pages. Never stack sheets to build a flow.1091105. **Adding gestures with no visible affordance** — A swipe action nobody can see is a feature for experts only. Every gesture needs either a well-known convention behind it or a visible cue, and ideally a non-gesture fallback.1111126. **Multi-column forms and placeholder-as-label** — Mobile forms are single-column, always. Placeholders that vanish on focus remove the label exactly when the user needs it. Labels stay visible.1131147. **Treating motion as a final polish pass** — Motion that's bolted on after layout can't communicate where things come from. Decide transitions alongside the layout — they carry state and causality.1151168. **Porting desktop information density to mobile** — Cramming a desktop screen's content into a phone is not mobile design. Mobile forces a prioritization decision: what is primary, what is deferred, what is cut.1171189. **Designing for an unspecified "mobile" target** — Asked to design "for mobile," Claude silently defaults to iOS patterns (back-swipe, sheet detents, top-bar actions) that don't translate to Android. When the platform isn't stated, *name the assumption* and flag what differs across iOS / Android — and note where iOS 26 / Material 3 are mid-transition rather than treating either as settled.11912010. **Optimizing for the showcase screen** — A design that looks great in a marketing shot may fail in one-handed use, with the keyboard open, mid-interruption, or for a returning user. Design for the real, distracted, glancing context.121122For the reasoning behind each and the lens that catches it, see `references/designer-lenses.md` and the topic references.123124---125126## Reference Index127128| File | Contents | Load when |129|------|----------|-----------|130| [designer-lenses.md](references/designer-lenses.md) | The 8 lenses — positions, disagreements, context-aware weighting table | Start of both modes |131| [reach-and-ergonomics.md](references/reach-and-ergonomics.md) | Grip data, thumb zones, action placement, large-screen reach | Placing actions or assessing reach |132| [navigation.md](references/navigation.md) | Rausch's nav taxonomy, tab/drawer/sheet/modal decisions, iOS 26 + Material 3 state | Choosing or reviewing navigation |133| [forms-and-input.md](references/forms-and-input.md) | Wroblewski's form principles, input types, field reduction, keyboard | Any data-entry screen |134| [touch-gesture-motion.md](references/touch-gesture-motion.md) | Touch targets, gesture discoverability, motion as communication, haptics | Gestures, transitions, or feel |135| [content-and-attention.md](references/content-and-attention.md) | Prioritization, scanning patterns, glanceability, overlay proliferation | Content layout and hierarchy |136| [design-forks.md](references/design-forks.md) | Ambiguous mobile decisions with options and tradeoffs | A choice has no single right answer |137| [output-format.md](references/output-format.md) | How the Audit presents findings — HTML report (default) + terminal fallback; color/diagram/section rules | Presenting audit findings (Step 5) |138| [report-template.html](references/report-template.html) | The canonical self-contained HTML audit report (worked example) — adapt, don't reinvent | Writing the HTML report |139140## Workflow Index141142| Workflow | Purpose |143|----------|---------|144| [plan.md](workflows/plan.md) | Discovery → prioritize → choose patterns → mobile design brief |145| [audit.md](workflows/audit.md) | Assess against lenses → surface forks → prioritized findings |