From cognition-and-learnability-principles
Use this skill when designing or fixing long forms that ask the user for many fields — sign-up flows, profile setup, settings panels, checkout, intake forms, applications. Trigger when forms exceed ~6 fields, when users complain forms are "too long," when seeing high mid-form drop-off, or when picking how to break a form into sections. Sub-aspect of `chunking`; read that first.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cognition-and-learnability-principles:chunking-form-groupingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A form with 25 fields in one continuous scroll is a wall. The same 25 fields organized into 4–5 named sections of 5–6 fields each is a list of small tasks. The total content is identical; the perceived complexity drops dramatically.
A form with 25 fields in one continuous scroll is a wall. The same 25 fields organized into 4–5 named sections of 5–6 fields each is a list of small tasks. The total content is identical; the perceived complexity drops dramatically.
If the form is short (3–5 fields) or all fields belong to a single concept, chunking adds noise without benefit.
Three patterns for chunked forms:
All sections visible on one page; user scrolls through and fills in.
<form class="long-form">
<section>
<h2>Account</h2>
<p class="hint">How you'll sign in.</p>
<!-- 4-5 fields -->
</section>
<section>
<h2>Profile</h2>
<p class="hint">How others see you.</p>
<!-- 4-5 fields -->
</section>
<section>
<h2>Workspace</h2>
<p class="hint">Set up your team space.</p>
<!-- 4-5 fields -->
</section>
<button>Create account</button>
</form>
Pros: user sees total scope; can fill in any order; one save action.
Cons: the scroll can still feel long; mid-form abandonment possible.
Sections collapse to headers; user opens one at a time.
Pros: less visual mass; user focuses on current chunk.
Cons: total scope is hidden; users may not realize how many sections remain.
Each section is its own page; "Continue" advances; "Back" returns.
Pros: focused attention on one chunk; easier mobile experience.
Cons: more clicks; loss of context between steps; back-button management complexity.
The right pattern depends on form length, mobile context, and whether the user benefits from seeing total scope (probably yes for sign-up; maybe not for long government forms).
Section names should:
Bad section names:
Good section names:
For long single-page forms, a sticky table-of-contents or progress indicator helps:
<aside class="form-toc">
<ol>
<li><a href="#account" class="done">Account</a></li>
<li><a href="#profile" class="active">Profile</a></li>
<li><a href="#workspace">Workspace</a></li>
</ol>
</aside>
For multi-step wizards, a stepper:
<nav class="stepper" aria-label="Progress">
<ol>
<li class="done">1. Account</li>
<li class="active">2. Profile</li>
<li>3. Workspace</li>
</ol>
</nav>
Both let the user see where they are and how much remains.
Aim for 4–7 fields per section. More than that and the section itself becomes a wall; less and the section overhead exceeds its benefit.
If you find yourself with 12 fields in one logical section, ask:
A useful matrix:
| Length | Mobile-primary | Recommended |
|---|---|---|
| ≤ 5 fields | Either | Single page, no sections |
| 6–15 fields | Desktop | Single page with named sections |
| 6–15 fields | Mobile | Multi-step or accordion |
| 16–30 fields | Either | Multi-step wizard |
| 30+ fields | Either | Multi-step + reconsider scope |
The question after 30+: do you really need all this data up front? Most products can defer 60% of fields until the user has experienced value.
chunking (parent).chunking-numeric-and-otp — chunking within field values.progressive-disclosure — defer optional fields rather than showing them all.proximity-form-fields (perception) — visual proximity within and between sections.hicks-law — fewer fields = faster decisions.npx claudepluginhub hdeibler/universal-design-principles --plugin cognition-and-learnability-principlesProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.