ts-forms
Installation
SKILL.md
When to Use This Skill
Use when you need to:
- Build any form with more than one or two fields
- Show field-level validation errors on blur/change/submit
- Disable submit while a mutation is in flight, so a double-click can't fire twice
- Re-validate a form's
FormDatainside a Server Action, using the same schema the client already validated with - Add an async check (email already taken, username available) without hand-rolling debounce/race-condition logic
Trigger keywords: React Hook Form, useForm, zodResolver, form validation, field errors, formState.errors, isSubmitting, register, Controller, FormData validation, async validation, uncontrolled input.
Freshness rule: React Hook Form's resolver package (@hookform/resolvers) and
Zod both ship breaking changes across majors — recheck zodResolver's current import
path and Zod's .safeParse return shape before wiring a new form.