| name | zod-docs |
| description | Query and manage local Zod documentation mirror (59 docs). Search Zod topics for TypeScript-first schema validation, parsing, type inference, refinements, and transformations. Use when implementing validation or answering Zod-related questions. (user) |
Zod Documentation Skill
Query local Zod documentation covering TypeScript-first schema validation, parsing, type inference, and advanced validation patterns.
Overview
This skill provides access to a complete local mirror of Zod documentation (59 docs across 2 main sections). The documentation is structured, indexed, and optimized for AI/LLM consumption.
Documentation Structure
docs/libs/zod/
├── _index.md # Navigation index
├── _meta.json # Metadata
├── README.md # Overview
├── introduction/ # Getting started (4 docs)
├── primitives/ # Basic types (13 docs)
├── complex-types/ # Objects, arrays, etc (17 docs)
├── refinements/ # Custom validation (5 docs)
├── error-handling/ # Errors (4 docs)
├── advanced/ # Advanced patterns (7 docs)
├── utilities/ # Helper methods (6 docs)
└── integration/ # JSON Schema, etc (2 docs)
Core Concepts
1. Schema Definition
Location: docs/libs/zod/introduction/defining-schemas.md
- Creating schemas with z.object(), z.string(), etc.
- Type inference with z.infer
- Parsing and validation
2. Primitives
Location: docs/libs/zod/primitives/
- String validation with .email(), .url(), .regex()
- Number validation with .min(), .max(), .int()
- Date, boolean, and other basic types
- String-specific and number-specific validations
3. Complex Types
Location: docs/libs/zod/complex-types/
- Objects with nested validation
- Arrays with .min(), .max(), .nonempty()
- Unions and discriminated unions
- Tuples, records, maps, sets
- Enums and optional/nullable values
4. Refinements & Transformations
Location: docs/libs/zod/refinements/
- Custom validation with .refine()
- Advanced validation with .superrefine()
- Data transformation with .transform()
- Input preprocessing with .preprocess()
- Chaining with .pipe()
5. Error Handling
Location: docs/libs/zod/error-handling/
- Parsing errors and error formatting
- Custom error messages with .error()
- Error maps for internationalization
Usage Protocol
When to Activate
Use this skill when:
- User asks about input validation
- Questions about TypeScript type safety
- Need schema validation patterns
- Form validation with Zod
- API validation
- tRPC/Convex integration with Zod
Search Strategy
Check Navigation First
Read: docs/libs/zod/_index.md Purpose: See all available documentationSection-Based Search
- Introduction:
docs/libs/zod/introduction/ - Primitives:
docs/libs/zod/primitives/ - Complex Types:
docs/libs/zod/complex-types/ - Refinements:
docs/libs/zod/refinements/ - Error Handling:
docs/libs/zod/error-handling/ - Advanced:
docs/libs/zod/advanced/ - Utilities:
docs/libs/zod/utilities/ - Integration:
docs/libs/zod/integration/
- Introduction:
Specific Queries
# Basic validation Read: docs/libs/zod/introduction/basic-usage.md # String validation Read: docs/libs/zod/primitives/strings.md # Object validation Read: docs/libs/zod/complex-types/objects.md # Custom validation Read: docs/libs/zod/refinements/refinements.md # Error handling Read: docs/libs/zod/error-handling/error-handling.md
Common Queries
"How do I create a Zod schema?"
- Read
docs/libs/zod/introduction/defining-schemas.md - Read
docs/libs/zod/introduction/basic-usage.md - Show z.object() and primitive examples
"How do I validate email and URL?"
- Read
docs/libs/zod/primitives/strings.md - Read
docs/libs/zod/primitives/string-methods.md - Show .email(), .url() validation
"How do I validate objects?"
- Read
docs/libs/zod/complex-types/objects.md - Read
docs/libs/zod/complex-types/object-methods.md - Show nested object validation and methods
"How do I add custom validation?"
- Read
docs/libs/zod/refinements/refinements.md - Read
docs/libs/zod/refinements/superrefine.md - Show .refine() and .superrefine() patterns
"How do I transform data?"
- Read
docs/libs/zod/refinements/transform.md - Show .transform() and .preprocess() examples
"How do I infer TypeScript types?"
- Read
docs/libs/zod/introduction/type-inference.md - Show z.infer
usage
"How do I handle validation errors?"
- Read
docs/libs/zod/error-handling/error-handling.md - Read
docs/libs/zod/error-handling/error-formatting.md - Show error parsing and custom messages
Response Format
When answering Zod questions:
Start with Context
- Briefly explain the validation need
- Reference the source doc
Provide Code Examples
- Show schema definition
- Include TypeScript type inference
- Demonstrate parsing/validation
Cite Sources
- Format:
docs/libs/zod/[section]/[file].md - Include line numbers if relevant
- Format:
Related Topics
- Link to related validation patterns
- Suggest utility methods
Key Zod Features
- TypeScript-first with automatic type inference
- Zero dependencies
- Works in Node.js and browsers
- Composable schemas
- Rich error messages
- Transform and preprocess data
- Integration with React Hook Form, tRPC, etc.
Common Integration Patterns
tRPC
import { z } from 'zod'
const userSchema = z.object({
email: z.string().email(),
name: z.string().min(2)
})
export const userRouter = router({
create: publicProcedure
.input(userSchema)
.mutation(async ({ input }) => {
// input is type-safe
})
})
Convex
import { v } from 'convex/values'
// Convex uses its own validator, but Zod can validate before calling
React Hook Form
import { zodResolver } from '@hookform/resolvers/zod'
const form = useForm({
resolver: zodResolver(schema)
})
Example Response
User: "How do I validate an email with Zod?"