Design and verify forms, validation, search, filters, settings, uploads, checkout, onboarding, destructive actions, and multi-step data-entry workflows with preserved input and recoverable async behavior. Use this skill when frontend work collects, validates, or submits user data.
Make data entry understandable, efficient, accessible, and recoverable across client validation, server validation, authentication, network failures, and device constraints.
When to invoke
"Design a complex form with validation and recovery."
"Implement onboarding, checkout, search filters, or settings."
"Map server errors to fields without losing user input."
"Review an upload or multi-step workflow."
"Test autofill, mobile keyboards, duplicate submission, and retries."
Input contract
For each field or action, record:
purpose and why sensitive information is requested;
visible label, instructions, examples, format, required status, and access;
native input type, autocomplete token, input mode, and password-manager behavior;
client and server validation timing, error shape, and cross-field rules;
persistence, draft, back navigation, cancellation, and retry behavior;
submitted data, idempotency, progress, confirmation, and destructive consequences.
Read references/data-entry-patterns.md.
Validation and errors
Read references/validation-and-errors.md.
Validate at a useful time without error noise before the user can respond.
Link field errors programmatically and add a summary for complex workflows.
Map known server validation safely to fields while retaining a workflow-level message for unknown or cross-field failures.
Preserve input and state after recoverable failure.
Prevent accidental duplicates while communicating pending, progress, cancellation, retry, rollback, and confirmation. Use idempotency or conflict behavior defined by the backend contract; do not invent it.
Criteria
Visible labels remain present; placeholders are hints only.
Native controls and semantics are preferred before custom widgets.
Password paste, managers, and autofill remain enabled unless an approved security requirement says otherwise.
Mobile virtual keyboards, viewport changes, safe areas, and touch targets do not hide active fields or actions.
Test international names and addresses, locale-specific numbers, long text, paste, autofill, uploads, expiry, network failure, and retry where applicable.
Use assets/complex-data-entry-review.md and assets/human-review-checklist.md.
Limits
Do not invent validation, data retention, security, compliance, or idempotency rules.
Do not clear input after a recoverable error.
Do not disable paste or password managers by default.
Do not make a custom date picker, combobox, editor, drag control, or signature pad without accessible keyboard and fallback behavior.
Labels, instructions, input purpose, native semantics, and access requirements are explicit.
Client, server, cross-field, unknown, and workflow errors have defined behavior.
Input, draft, progress, backward navigation, cancellation, retry, and duplicate-submission behavior is preserved when applicable.
Autofill, paste, password managers, localization, mobile keyboards, uploads, and long content are covered by risk.
Focus, announcements, summaries, and custom-widget keyboard behavior are defined.
The human review checklist has no unresolved blocked item.
1---2name: frontend-form-interactions3description: Design and verify forms, validation, search, filters, settings, uploads, checkout, onboarding, destructive actions, and multi-step data-entry workflows with preserved input and recoverable async behavior. Use this skill when frontend work collects, validates, or submits user data.4---56# Frontend form interactions78Make data entry understandable, efficient, accessible, and recoverable across client validation, server validation, authentication, network failures, and device constraints.910## When to invoke1112- "Design a complex form with validation and recovery."13- "Implement onboarding, checkout, search filters, or settings."14- "Map server errors to fields without losing user input."15- "Review an upload or multi-step workflow."16- "Test autofill, mobile keyboards, duplicate submission, and retries."1718## Input contract1920For each field or action, record:2122- purpose and why sensitive information is requested;23- visible label, instructions, examples, format, required status, and access;24- native input type, autocomplete token, input mode, and password-manager behavior;25- client and server validation timing, error shape, and cross-field rules;26- persistence, draft, back navigation, cancellation, and retry behavior;27- submitted data, idempotency, progress, confirmation, and destructive consequences.2829Read [references/data-entry-patterns.md](references/data-entry-patterns.md).3031## Validation and errors3233Read [references/validation-and-errors.md](references/validation-and-errors.md).3435- Validate at a useful time without error noise before the user can respond.36- Link field errors programmatically and add a summary for complex workflows.37- Map known server validation safely to fields while retaining a workflow-level message for unknown or cross-field failures.38- Preserve input and state after recoverable failure.39- Distinguish invalid, unauthorized, forbidden, conflict, rate limit, timeout, unavailable, offline, and unexpected errors.4041## Async submission4243Read [references/async-submission.md](references/async-submission.md).4445Prevent accidental duplicates while communicating pending, progress, cancellation, retry, rollback, and confirmation. Use idempotency or conflict behavior defined by the backend contract; do not invent it.4647## Criteria4849- Visible labels remain present; placeholders are hints only.50- Native controls and semantics are preferred before custom widgets.51- Password paste, managers, and autofill remain enabled unless an approved security requirement says otherwise.52- Multi-step flows expose progress, saved state, safe backward navigation, and interruption behavior.53- Mobile virtual keyboards, viewport changes, safe areas, and touch targets do not hide active fields or actions.54- Test international names and addresses, locale-specific numbers, long text, paste, autofill, uploads, expiry, network failure, and retry where applicable.5556Use [assets/complex-data-entry-review.md](assets/complex-data-entry-review.md) and [assets/human-review-checklist.md](assets/human-review-checklist.md).5758## Limits5960- Do not invent validation, data retention, security, compliance, or idempotency rules.61- Do not clear input after a recoverable error.62- Do not disable paste or password managers by default.63- Do not make a custom date picker, combobox, editor, drag control, or signature pad without accessible keyboard and fallback behavior.6465## Output template6667```markdown68## Form interaction result69**Status:** ready | needs revision | blocked7071### Field and action contract72| Field/action | Purpose | Input semantics | Validation | Persistence/recovery |73| --- | --- | --- | --- | --- |7475### State map76| State | Trigger | Visible behavior | Focus/announcement | Recovery |77| --- | --- | --- | --- | --- |7879### Validation evidence80- <automated or manual check>81```8283## Quality gate8485- [ ] Labels, instructions, input purpose, native semantics, and access requirements are explicit.86- [ ] Client, server, cross-field, unknown, and workflow errors have defined behavior.87- [ ] Input, draft, progress, backward navigation, cancellation, retry, and duplicate-submission behavior is preserved when applicable.88- [ ] Autofill, paste, password managers, localization, mobile keyboards, uploads, and long content are covered by risk.89- [ ] Focus, announcements, summaries, and custom-widget keyboard behavior are defined.90- [ ] The human review checklist has no unresolved blocked item.
Run npx skillmds@latest add workshop-gbb/frontend-form-interactions in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Design and verify forms, validation, search, filters, settings, uploads, checkout, onboarding, destructive actions, and multi-step data-entry workflows with preserved input and recoverable async behavior. Use this skill when frontend work collects, validates, or submits user data. It is listed under Web & Frontend on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
workshop-gbb (@workshop-gbb) published this skill. Their other Agent Skills are listed on their SkillMD profile.