// Enforces Head Shakers Zod validation schema conventions when creating or modifying validation schemas. This skill ensures consistent patterns for drizzle-zod integration, custom zod utilities, schema composition, type exports, and form/action integration.
| name | validation-schemas |
| description | Enforces Head Shakers Zod validation schema conventions when creating or modifying validation schemas. This skill ensures consistent patterns for drizzle-zod integration, custom zod utilities, schema composition, type exports, and form/action integration. |
This skill enforces the Head Shakers Zod validation schema conventions automatically during schema development. It ensures consistent patterns for:
This skill activates when:
src/lib/validations/src/lib/utils/zod.utils.tsvalidations/ or imports from zod or drizzle-zod)references/Validation-Schemas-Conventions.mdzodMinMaxString, zodMaxString, etc.) instead of raw zod chainsz.input) and output types (z.infer) for form schemascreateSelectSchema and createInsertSchema from drizzle-zodUse utilities from @/lib/utils/zod.utils:
zodMinMaxString - Required strings with min/max lengthzodMaxString - Optional/required strings with max lengthzodMinString - Required strings with min lengthzodDateString - Date string parsing with nullable optionzodDecimal - Decimal number parsing from stringszodYear - 4-digit year validationzodNullableUUID - Optional UUID with null defaultzodInteger - Integer parsing from stringsz.infer<typeof schema> for output types (after transforms)z.input<typeof schema> for input types (before transforms, for forms)Insert{Entity}, Select{Entity}, Update{Entity}, Public{Entity}Insert{Entity}Input, Update{Entity}Input for form input typesvalidators: { onSubmit: schema }schema.parse(ctx.sanitizedInput) for validation.extend() for action-specific fieldsz.uuid() for ID parameters in action schemasreferences/Validation-Schemas-Conventions.md - Complete validation schema conventions