Zod gives you runtime validation and compile-time types from a single schema definition, which is exactly what you want when you're tired of maintaining validators and TypeScript interfaces separately. It shines for API boundaries, form data, and environment variables where you need to guarantee shape at runtime but want full type inference. The progressive disclosure here walks you from primitives through objects, arrays, and schema composition, then gets into transforms, async validation, and error handling. The type inference section is worth hitting early since that's the whole point: write `z.object({email: z.string().email()})` once and get both validation logic and a TypeScript type. Works great with tRPC, Drizzle, and anything else where data crosses a boundary you don't fully trust.
npx skills add https://github.com/bobmatnyc/claude-mpm-skills --skill zod