スキル一覧に戻る
JasonPaff

validation-schemas

by JasonPaff

Website for Bobblehead Collectors

2🍴 0📅 2026年1月19日
GitHubで見るManusで実行

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

  1. Detect validation work (file path contains validations/ or imports from zod or drizzle-zod)
  2. Load references/Validation-Schemas-Conventions.md
  3. Generate/modify code following all conventions
  4. Use custom zod utilities (zodMinMaxString, zodMaxString, etc.) instead of raw zod chains
  5. Export both input types (z.input) and output types (z.infer) for form schemas
  6. Scan for violations of schema patterns
  7. Auto-fix all violations (no permission needed)
  8. Report fixes applied

Key Patterns

Schema Generation

  • Use createSelectSchema and createInsertSchema from 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 length
  • zodMaxString - Optional/required strings with max length
  • zodMinString - Required strings with min length
  • zodDateString - Date string parsing with nullable option
  • zodDecimal - Decimal number parsing from strings
  • zodYear - 4-digit year validation
  • zodNullableUUID - Optional UUID with null default
  • zodInteger - 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}Input for 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

スコア

総合スコア

40/100

リポジトリの品質指標に基づく評価

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

レビュー

💬

レビュー機能は近日公開予定です