← ClaudeAtlas

form-uxlisted

Define and audit form UX rules for submission validity, inline validation timing, live character limits, trusted pre-fill, dynamic password requirements, and forgiving input normalisation. Use in implementation mode when building or modifying any form (native HTML, hand-built React, or schema-driven Zod/JSON Schema/JSON Forms) and in audit mode when reviewing an existing form, PR, or shared renderer for compliance. Complements a project's frontend and schema-driven-forms guidance; never replaces server-side/API validation.
singleton-sd/ai-plattform-skills · ★ 0 · Web & Frontend · score 68
Install: claude install-skill singleton-sd/ai-plattform-skills
# Form UX One canonical rule set, two modes: - **Implementation mode** — apply these rules while building or modifying a form. - **Audit mode** — evaluate an existing form, PR, or shared renderer against these rules and produce evidence-backed findings. Both modes score the same six rules. This skill governs **client-side UX only** — see [Client UX vs. API/security validation](#client-ux-vs-apisecurity-validation) before applying it. --- ## Before scoring: determine applicability Not every rule applies to every form or field. Each rule below has an **Applies when** / **Not applicable when** test. Check it first. A rule that legitimately doesn't apply is not a gap — record it as **Not applicable** with a one-sentence reason (see [Documenting exceptions](#documenting-exceptions)). Never force password-requirement UI, pre-fill, or formatting-normalisation behaviour onto a field that has no use for it. --- ## The six rules ### 1. Submission readiness Prevent invalid submission while clearly explaining what is incomplete or wrong. **Applies when:** the form has any required or validated field. **Not applicable when:** every field is optional with no validation (e.g. a free-text feedback box with no constraints) — state that explicitly rather than skipping the row. Required: - Required fields carry a visible marker (e.g. `*`, "required") **and** a programmatic signal (`required`, `aria-required="true"`, or schema `required` reflected into the UI). - Invalid submission