# Form Input UX Review

Form Input UX Review is a tested SKILL.md that reviews the HTML or JSX of one form for four input mistakes that frustrate people while they type, and lists only those, one line each with a fixed code, the field, why it hurts the user and the fix - or exactly No findings; an agent buys it once for $0.01 over x402.

- Page: https://aiskills402.com/skills/form-input-ux-review
- Category: Code & Engineering (https://aiskills402.com/categories/code)
- Price: $0.01 once, USD-priced, paid in USDC on Base over x402. Price as loaded on this page. The 402 response your agent receives is authoritative.
- Version: 1.0.0
- Card (JSON): https://api.aiskills402.com/v1/skills/form-input-ux-review

## Use it when

Reviews the HTML or JSX of one form for four input mistakes that frustrate people while they type, and lists only those, one line each with a fixed code, the field, why it hurts the user and the fix - or exactly No findings. It catches paste blocked on a password field, a field that holds a code, a ZIP code or a card number set to type number, or an email address or phone number left as plain text with no type or input mode, autocomplete switched off or given a wrong token on password, username and one-time-code fields, and a submit button disabled until the whole form is valid so the person never learns what is missing. It leaves out the safe look-alikes: a real quantity as type number with a minimum and a maximum, autocomplete off on a site search box, and a button disabled only while the request is running. Use to review a sign-in, sign-up, checkout or contact form before release, or to find why mobile keyboards and password managers misbehave.

## Not for

Labels, accessible names and missing autocomplete on personal-data fields, validation logic on the server, visual design and anything that needs a browser to see. It reads the markup of one pasted form and judges only what is written in it.

## Tested, honestly

Tested 2026-10-29.

- Strong model (claude-sonnet-5-5 (Claude Code alias "sonnet")): Right on all 3 cases, read by hand. On the checkout form it named the email address left as plain text, the ZIP code set to type number and the verification code with autocomplete off, and left out the quantity as type number with limits and the site search box with autocomplete off. On the sign-up form it gave the blocked paste on both password fields and the create button disabled until valid, and left out the invitation button disabled only while sending. On the clean workshop form it answered exactly No findings. It listed the email and the ZIP code as two lines instead of one, which the checks accept.
- Weak model (claude-haiku-5-5 (Claude Code alias "haiku")): Right on all 3 cases, read by hand. It gave the same findings as Sonnet on the checkout form (email and ZIP code on two lines) and on the sign-up form, with the same safe look-alikes left out, and answered exactly No findings on the clean workshop form. Four of its lines were indented by four spaces, which the checks accept.

Note: Light test: three cases (two planted, one clean), one run per model; no comparison without the skill. The forms were written by us; each planted case carries a safe look-alike (a quantity as type number with limits, autocomplete off on a search box, a button disabled only while sending), and neither planted case has a comment pointing at the defect. A fifth code the brief suggested, autocapitalize and spellcheck on username or code fields, was dropped because no official page read on 29 October 2026 supports it, and paste blocking is limited to password fields, the only kind the standards text covers. Facts come from MDN, web.dev and NIST pages, read on 29 October 2026; there are no owner-measured facts.

Full summary: https://aiskills402.com/skills/form-input-ux-review/tests

## Example

### English (claude-sonnet-5-5)

Before:

> <header>   <form role="search" action="/search">     <label for="q">Search the shop</label>     <input id="q" name="q" type="search" autocomplete="off">   </form> </header> <form action="/checkout" method="post">   <label for="email">Email</label>   <input id="email" name="email" type="text" autocomplete="email" required>   <label for="zip">ZIP code</label>…

After:

> WRONG-INPUT-TYPE — zip, `type="number"` on a postal code — spinner arrows and accidental increments appear, and leading zeros can be lost — use `type="text"` with `inputmode="numeric"` and a `pattern` WRONG-INPUT-TYPE — email, `type="text"` with no input mode — the phone shows the ordinary keyboard, without the at sign within reach — use `type="email"`…

## What is in the file

- The answer
- The codes
- How to read the markup
- Rules
- Work in this order
- Short example

## Languages

English

## How to buy

Agent (HTTP):

1. GET https://api.aiskills402.com/v1/skills/form-input-ux-review/file without a payment header. The answer is 402 with a PAYMENT-REQUIRED header (x402 v2): exact amount, asset, network, recipient.
2. Sign `accepts[0]` with an x402 client (for example @x402/core + @x402/evm).
3. Repeat the GET with the signature in the PAYMENT-SIGNATURE header. The answer is 200 with the file, its sha256 and a re-download token.

Agent (MCP): https://mcp.aiskills402.com/mcp — free tools search_skills, get_skill, redownload_skill. Buying itself is over HTTP.

Full flow: https://aiskills402.com/docs

## The file

- Version: 1.0.0
- Size: 7.6 KB (7811 bytes)
- SHA-256: db2b7e145f7ba96697f2b77ffa5295000cc0060d5c5f9e2b52b1b2616a33e87c
- Updated: 2026-10-30
- New versions are free through your re-download token.

## Versions

### 1.0.0 (2026-10-30)

First release, written in the light-test batch of 29 October 2026 (three cases, price $0.01). The idea is ours; no foreign skill was opened, facts come from MDN, web.dev and NIST pages (see notes/ideas.md). Output: one line per finding with a fixed code, or exactly `No findings.`

Test: three cases written by hand (two planted, each with a safe look-alike, one clean control), one run on Claude Sonnet and one on Claude Haiku, no run without the skill, no iteration on the skill text after the runs. `test/control.mjs` shows that the checks pass on the ideal answers and fail on realistic wrong ones. See `test-summary.json` for the verdicts read by hand.

## License

Perpetual, non-exclusive; use and modify for yourself incl. paid work; no resale or republishing. Holder: Georgi Kalchev, aiskills402.com. Terms: https://aiskills402.com/docs#license

## FAQ

### Seats or tickets as type number: is that reported?

No. A real quantity with a minimum and a maximum is what the number type is for. The skill reports the type only for values that are made of digits but are not counted, such as a verification code, a ZIP code or a card number, where the documentation advises text with a numeric input mode.

### Why is autocomplete off on a search box left alone?

Because a search box is not a credential, and switching off the browser's suggestions there is a normal choice. The skill reports off, or a wrong token, only on password, username and one-time-code fields, where browsers often ignore off and a wrong token stops a password manager.

### Which paste blocks are reported?

Only those on password fields. The standards guidance read for this skill asks verifiers to permit paste when a password is entered, so people who rely on a password manager are not locked out. Blocking paste on other fields is outside the four codes.

### What forms were used in the check?

A checkout form with an email typed as text, a ZIP code as number and a code field with autocomplete off; a sign-up form with blocked paste and a button disabled until valid; and a clean workshop form. Sonnet and Haiku answered each once, and the hand-read verdicts are in the test summary.

## Measurement limits

- Models other than the two named above were not run.
- Each verdict comes from the test run on the date shown; the skill may have changed since (check the version).
- Full test inputs are not published here, only short excerpts of our own text.
- Results on your own texts, languages and domains can differ.

Offer note: Paid in USDC (USD-pegged) over x402 by an AI agent; one-time.
