form-validation
React Hook Form + Zod integration, multi-step forms, optimistic validation, server-side error mapping, and file upload patterns.
npx skills add vibeeval/vibecosystem --skill form-validation --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Form Validation React Hook Form + Zod patterns for robust, accessible forms. ## React Hook Form + Zod Setup ```typescript // Install: npm install react-hook-form zod @hookform/resolvers import { useForm } from 'react-hook-form' import { zodResolver } from '@hookform/resolvers/zod' import { z } from 'zod' // 1. Define schema const TaskSchema = z.object({ title: z.string().min(1, 'Title is required').max(200), description: z.string().max(2000).optional(), priority: z.enum(['low', 'medium', 'high']), dueDate: z.string().date('Invalid date').optional(), }) type TaskFormData = z.infer<typeof TaskSchema> // 2. Use in component export function TaskForm({ onSubmit }: { onSubmit: (data: TaskFormData) => Promise<void> }) { const { register, handleSubmit, formState: { errors, isSubmitting, isDirty }, setError, reset, } = useForm<TaskFormData>({ resolver: zodResolver(TaskSchema), defaultValues: { priority: 'medium' }, }) const submit = handleSubmit(async (data) => { try { await onSubmit(data) reset() } catch (err) { // Map server errors to fields (see Server-Side Error Mapping) setError('title', { message: 'A task with this title already exists' }) } }) return ( <form onSubmit={submit} noVal
- React Hook Form + Zod Setup
- Form Schema Definition with Zod
- Multi-Step Form State Management
- Server-Side Validation Error Mapping
- Optimistic Validation (Real-time Feedback)
- File Upload with Preview
- Dynamic Form Fields (Arrays, Conditional)
- Form Submission States
What does the form-validation skill do?
React Hook Form + Zod integration, multi-step forms, optimistic validation, server-side error mapping, and file upload patterns.
How do I install it?
Run `npx skills add vibeeval/vibecosystem --skill form-validation --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From vibeeval/vibecosystem, a repository with 521 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
