К основному содержанию
скилл CX Codex

zod-schema-validation — скилл для Claude Code: что делает

Скилл задаёт правила валидации данных через Zod и вывода типов TypeScript на границах системы: в API, формах и внешних ответах. Помогает писать схемы без лишнего дублирования.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Mindrally/skills --skill zod-schema-validation -a claude-code
Открыть на GitHub

Что делает zod-schema-validation

Скилл учит агента проверять входящие данные на границах приложения. В правила зашиты требования выводить типы TypeScript прямо из схем через z.infer. Данные проверяются методом safeParse. Для вывода ошибок применяется форматирование .error.format().

Внутри собраны шаблоны композиции схем через .extend(), .merge(), .pick() и .omit(), а также инструкции для сложных структур. Это размеченные объединения z.discriminatedUnion(), рекурсивные типы через z.lazy() и трансформации с .refine(). Для пользовательских интерфейсов предусмотрена интеграция с react-hook-form через пакет @hookform/resolvers/zod.

Создание схем прямо внутри функций рендера приведёт к падению производительности. Инструкции требуют выносить частые схемы наружу и заранее их компилировать.

Какие задачи решает

  • описать валидацию тела и параметров запроса для API
  • вывести типы TypeScript из готовой схемы через z.infer
  • связать схемы Zod с react-hook-form через резольвер
  • настроить рекурсивную схему для древовидных данных через z.lazy

Примеры запросов агенту

  • Напиши схему Zod для регистрации пользователя с проверкой email, uuid и роли, затем выведи тип через z.infer
  • Сделай валидацию формы обновления профиля для react-hook-form с частичными полями через .partial()
  • Создай схему ответа API на основе discriminated union для статусов success и error

Как установить zod-schema-validation

1Через Skills CLI (Vercel)

npx skills add Mindrally/skills --skill zod-schema-validation -a claude-code

2Вручную: положить файлы

~/.claude/skills/zod-schema-validation/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/zod-schema-validation/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора160

tauri-development Скилл задаёт правила разработки десктопных программ на Tauri. Он настраивает связку Rust-бэкенда с фронтендом на TypeScript, React или Next.js. CX Codex +1 1 300установок nextjs-typescript-tailwindcss-supabase Скилл задаёт агенту правила для Next.js 14, TypeScript, TailwindCSS и Supabase: серверные компоненты, обработка ошибок, читаемый код. CX Codex +1 1 300установок electron-development Скилл задаёт агенту правила разработки десктопных приложений на Electron: разделение процессов, IPC, безопасность окон. CX Codex +1 1 300установок alpine-js Набор правил для создания реактивных интерфейсов на Alpine.js. Помогает писать лёгкий клиентский код в связке с Tailwind CSS, Laravel Livewire и Ghost CMS. CX Codex +1 1 300установок kafka-development Скилл с практиками Apache Kafka: топики, партиции, producer/consumer, Schema Registry. Пригодится, когда агент пишет код для event-driven архитектуры. CX Codex +1 1 200установок bootstrap Задаёт агенту правила работы с Bootstrap: сетка, компоненты, утилиты и валидация форм. Пригодится, когда интерфейс собирают без своего CSS. CX Codex +1 1 200установок technical-writing Задаёт правила для написания подробных руководств и документации для разработчиков. Помогает создавать технические статьи без клише и воды. CX Codex +1 1 200установок css Скилл задаёт агенту правила вёрстки: Flexbox, Grid, переменные, BEM и порядок в стилях. Пригодится, когда ИИ пишет CSS в вашем проекте. CX Codex +1 1 200установок

Похожие

zod-validation-utilities giuseppe-trisciuoglio Помогает писать схемы Zod v4 для проверки API, форм и конфигурации в TypeScript. Пригодится для разбора внешних данных и понятной обработки ошибок. CX Codex +1 3 800установок react-hook-form-zod ovachiever Скилл учит агента собирать формы на React Hook Form с валидацией через Zod. Одна схема работает и на клиенте, и на сервере. CX Codex +1 722установок zod-4 prowler-cloud Скилл обучает ассистента правилам валидации Zod 4 и миграции со старых версий. Он нужен при создании схем для форм, парсинга запросов и адаптеров. CX Codex +1 1 200установок zod Anivar Aravind Набор правил по Zod v4: парсинг данных на границах системы, обработка ошибок, вывод типов и миграция с v3. Пригодится, когда агент пишет схемы по памяти и путает API. CX Codex +1 1 000установок hono-validation bobmatnyc Скилл для валидации запросов в Hono: JSON, формы, query-параметры, заголовки и cookie. Пригодится, когда нужны типы из схемы прямо в обработчике. CX Codex +1 408установок valibot open-circle Скилл учит агента работать с Valibot: создавать схемы, парсить ввод и не путать синтаксис с Zod. Пригодится, когда в проекте уже стоит эта библиотека. CX Codex +1 2 100установок

Рядом в теме «Бэкенд и API»

Всё по теме «Бэкенд и API» →

Вопросы о zod-schema-validation

Как установить zod-schema-validation в Claude Code?

Выполните команду npx skills add Mindrally/skills --skill zod-schema-validation -a claude-code. Агент получит файл навыка в свою рабочую директорию.

Что делает скилл zod-schema-validation?

Он передаёт ИИ-агенту набор проверенных шаблонов и правил для работы с библиотекой Zod в TypeScript: от безопасного парсинга через safeParse до настройки рекурсивных структур и интеграции с формами.

Как скилл рекомендует подключать Zod к формам?

Через пакет @hookform/resolvers/zod для react-hook-form. Также правила предписывают повторять структуру полей формы в схеме и применять .partial() для форм частичного обновления.

Исходный текст

SKILL.md · Apache-2.0
---
name: zod-schema-validation
description: Best practices for Zod schema validation and type inference in TypeScript applications.
metadata:
  maintainer: Mindrally
  source: https://github.com/Mindrally/skills
---

# Zod Schema Validation

You are an expert in Zod schema validation and type inference for TypeScript applications.

## Core Principles

- Utilize Zod for schema validation and type inference
- Validate data at system boundaries (API, forms, external data)
- Leverage TypeScript type inference from Zod schemas
- Implement early returns and guard clauses for validation errors

## Schema Design

### Basic Schema
```typescript
import { z } from 'zod'

const UserSchema = z.object({
  id: z.string().uuid(),
  email: z.string().email(),
  name: z.string().min(1).max(100),
  age: z.number().int().positive().optional(),
  role: z.enum(['admin', 'user', 'guest']),
  createdAt: z.date(),
})

type User = z.infer<typeof UserSchema>
```

### Best Practices
- Define schemas close to where they're used
- Use `.infer` to derive TypeScript types
- Compose schemas using `.extend()`, `.merge()`, `.pick()`, `.omit()`
- Create reusable base schemas for common patterns

## Validation Patterns

### Safe Parsing
```typescript
const result = UserSchema.safeParse(data)
if (!result.success) {
  console.error(result.error.format())
  return
}
// result.data is typed as User
```

### Transform and Refine
```typescript
const schema = z.string()
  .transform((val) => val.trim().toLowerCase())
  .refine((val) => val.length > 0, 'Cannot be empty')
```

## Form Integration

- Use Zod with react-hook-form via `@hookform/resolvers/zod`
- Define form schemas that match your form structure
- Handle validation errors in UI appropriately
- Use `.partial()` for optional update forms

## API Validation

- Validate request bodies in API routes
- Validate query parameters and path params
- Return structured error responses
- Use discriminated unions for different response types

## Error Handling

- Implement custom error messages for better UX
- Use `.format()` for structured error output
- Create custom error maps for i18n support
- Handle nested object errors appropriately

## Advanced Patterns

### Discriminated Unions
```typescript
const ResultSchema = z.discriminatedUnion('status', [
  z.object({ status: z.literal('success'), data: UserSchema }),
  z.object({ status: z.literal('error'), message: z.string() }),
])
```

### Recursive Schemas
```typescript
const CategorySchema: z.ZodType<Category> = z.lazy(() =>
  z.object({
    name: z.string(),
    children: z.array(CategorySchema),
  })
)
```

## Performance

- Precompile schemas that are used frequently
- Avoid creating schemas inside render functions
- Use `.passthrough()` or `.strict()` intentionally
- Consider partial validation for large objects

© Mindrally · Apache-2.0 · Mindrally/skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой