Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Designing mobile screens that fit one viewport with minimal vertical scrolling — viewport budgeting per device, above-the-fold prioritization, swapping tall stacks for grids/segmented views/disclosure/detented sheets, compact metric components, and when scrolling IS the right call. Use when a screen scrolls more than it should, or when condensing a feature-heavy phone screen; pairs with layout-and-composition, grid-and-spacing, ios26-hig-patterns.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 65% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 80% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 64% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 34% | 0% |
layout-and-composition and grid-and-spacing cover the general system. This skill is the specific discipline of getting a screen to do its job within one viewport so the user isn't endlessly scrolling a tall stack of full-width cards. The goal is not "ban scrolling" — it's "scroll only when there's genuinely more content than screen, never because the layout wastes space."
Core principle: a phone screen is a fixed budget. Spend it on what the user came for; demote everything else off-screen, behind a tap, or into a denser form. A tall single-column stack of one-thing-per-card is the default failure mode — it's easy to build and wastes 60% of the budget on padding and headers.
Logical points of content height after chrome, on common iPhones (portrait):
Design the primary job to fit the smallest target's usable budget (~500pt). If the core task (see today's numbers / log a meal / check progress) needs scrolling on an SE, the layout is too loose. Everything below the fold is "more," not "the point."
LazyVGrid/Grid) or a horizontally-scrolling rail puts 4 items in the height of 1. Use for stats, quick-actions, day pickers.Picker at top and swap the body. Same pixels, one section at a time, zero scroll.DisclosureGroup, "Show more", or a .medium detent sheet for the long tail. Default-collapse anything that's reference, not action.Grid of (value, label) pairs — 4 numbers in ~one card's height.Picker(.segmented) driving the body — the highest-leverage no-scroll tool on feature-heavy screens.ScrollView(.horizontal) for day strips, quick-add chips, recent items.The test: if a new user opened this screen, is the thing they came for visible without scrolling? If yes and the rest is honestly "more," you're done. If the core task is below the fold, condense.
Other measured skills in the registry, with their headline benchmark lift.