What problem does it solve? Building non-trivial React forms often leads to tangled JSX where form logic, validation, and UI are mixed together, making forms hard to maintain and inconsistent across an application. This Skill defines a clear architectural pattern that separates form configuration from form UI. ## Core Features & Use Cases - Form Context Pattern: Create a per-form context that configures the form library (React Hook Form, TanStack Form, or Formik), defining schema, validation, defaults, and submit handling in one place. - Reusable Field Components: Build generic, library-aware field components (InputField, TextareaField, SelectField) that read form state from context and handle labels, errors, and accessibility consistently. - Advanced Scenarios: Covers multi-step wizard forms, dynamic field arrays, dirty tracking with unsaved-changes warnings, and scoped subscriptions via useWatch. - Use Case: When adding a Create Invoice form to a React app, define a CreateInvoiceFormContext with a Zod schema, then compose the form declaratively from shared field components without duplicating validation or error-display logic. ## Quick Start Use the react-form-patterns skill to build a new form with a form context and reusable field components in my React project.