form-design

Design accessible forms with layout, validation, and multi-step flow guidance.

Updated Jul 4, 2026
One-click install
npx skills add https://github.com/100Thieves-team/plady-expert-skills --skill form-design-100thieves-team
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: form-design
Source: https://github.com/100Thieves-team/plady-expert-skills/tree/main/.claude/skills/form-design
Command: npx skills add https://github.com/100Thieves-team/plady-expert-skills --skill form-design-100thieves-team

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Forms are where users abandon products, enter bad data, and hit accessibility barriers. This Skill provides concrete design rules for building forms that minimize friction, prevent input errors, and guide users to successful completion. ## Core Features & Use Cases - Layout and Labeling Rules: Enforces single-column layouts, top-aligned persistent labels, field widths matched to expected input, and grouping of related fields. - Input Type Selection: Maps data types (dates, phone numbers, passwords, option sets) to the correct input controls such as radio buttons, selects, checkboxes, and masked inputs. - Validation and Error Handling: Defines inline validation on blur, field-level error placement, actionable error messages, and accessible error association via aria-describedby. - Use Case: When designing a multi-step checkout or onboarding flow, apply this Skill to structure progress indicators, per-step grouping, back navigation without data loss, and a review step before final submission. ## Quick Start Review my signup form design and recommend improvements to its layout, input types, validation behavior, and accessibility.

Frequently Asked Questions about form-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design a form that reduces user abandonment?

Use a single-column layout, remove every optional field you can, and match field width to expected input length. Measure field-level abandonment to find where users drop off, and group related fields with section headings for longer forms.

What input type should I use for different data in forms?

Match the control to the data: radio buttons for up to five options, selects for six or more, checkboxes for multiple selections, date pickers for dates, and masked inputs for phone or card numbers. Never use freeform text for structured dates.

When should form validation run on user input?

Validate on blur when the user leaves the field, not on every keystroke, since real-time validation during typing is distracting. Place error messages directly below the field and explain how to fix the problem.

How do I make web forms accessible for screen readers?

Give every field a programmatic label via label-for or aria-label, associate errors with fields using aria-describedby, keep focus order matching visual order, and never rely on color alone for required or error states.

Should I use placeholder text as form field labels?

No. Placeholder text disappears once the user types and fails accessibility requirements. Every field needs a persistent visible label, with helper text placed below the label and above the field.

How do I design multi-step forms without losing user data?

Show a clear step indicator, group related questions per step, allow back navigation without data loss, and save progress with auto-save or explicit save-and-continue. Confirm before discarding partial input.