What problem does it solve? Writing Zod schemas without established patterns leads to overly permissive validation, unhandled exceptions from parse(), cryptic error messages, and TypeScript types that drift out of sync with runtime validation. ## Core Features & Use Cases - Schema Definition Rules: Enforces correct primitive selection, string validations, enums, and coercion for form and query data. - Parsing & Error Handling Guidance: Covers safeParse(), parseAsync for async refinements, collecting all validation issues, and flatten() for form error display. - Type Inference & Composition Patterns: Promotes z.infer over manual types, branded types, discriminated unions, and reusable schema composition with pick, omit, partial, and extend. - Use Case: When building a Next.js API route that accepts user registration data, apply these rules to validate input with safeParse, return all field-level errors with custom messages, and infer the TypeScript type directly from the schema. ## Quick Start Review my Zod schemas and refactor them to follow the validation best practices in this skill.