← Back to list

validation-schemas
by JasonPaff
Website for Bobblehead Collectors
⭐ 2🍴 0📅 Jan 19, 2026
SKILL.md
name: validation-schemas description: Enforces project 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.
Validation Schemas Skill
Purpose
This skill enforces the project Zod validation schema conventions automatically during schema development. It ensures consistent patterns for:
- Drizzle-zod schema generation from database tables
- Custom zod utility functions for common patterns
- Schema composition and extension for actions
- Type exports for both input and output types
- Form integration with TanStack Form
- Server action validation patterns
Activation
This skill activates when:
- Creating new validation files in
src/lib/validations/ - Modifying existing validation schemas
- Working with drizzle-zod schema generation
- Defining input/output types for server actions
- Creating form validators for TanStack Form
- Working with zod utility functions in
src/lib/utils/zod.utils.ts
Workflow
- Detect validation work (file path contains
validations/or imports fromzodordrizzle-zod) - Load
references/Validation-Schemas-Conventions.md - Generate/modify code following all conventions
- Use custom zod utilities (
zodMinMaxString,zodMaxString, etc.) instead of raw zod chains - Export both input types (
z.input) and output types (z.infer) for form schemas - Scan for violations of schema patterns
- Auto-fix all violations (no permission needed)
- Report fixes applied
Key Patterns
Schema Generation
- Use
createSelectSchemaandcreateInsertSchemafrom drizzle-zod - Apply custom zod utilities for field validation (not raw zod chains)
- Omit auto-generated fields (id, createdAt, updatedAt, userId)
- Create public schemas by omitting sensitive fields
Custom Zod Utilities
Use 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 strings
Type Exports
- Export
z.infer<typeof schema>for output types (after transforms) - Export
z.input<typeof schema>for input types (before transforms, for forms) - Use naming:
Insert{Entity},Select{Entity},Update{Entity},Public{Entity} - Use naming:
Insert{Entity}Input,Update{Entity}Inputfor form input types
Form Integration
- Schemas work with TanStack Form via
validators: { onSubmit: schema } - Input types match form field values before zod transforms
- Output types match validated data after transforms
Action Integration
- Actions use
schema.parse(ctx.sanitizedInput)for validation - Extend base schemas with
.extend()for action-specific fields - Use
z.uuid()for ID parameters in action schemas
References
references/Validation-Schemas-Conventions.md- Complete validation schema conventions
Score
Total Score
40/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon