Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
oakoss avatar

Zod Validation

  • 115 installs
  • 14 repo stars
  • Updated March 2, 2026
  • oakoss/agent-skills

Helps with ai & agent building tasks during AI-assisted development.

About

zod-validation is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.

  • zod-validation
  • AI & Agent Building
  • AI-coding skill

Zod Validation by the numbers

  • 115 all-time installs (skills.sh)
  • +7 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #3,942 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/oakoss/agent-skills --skill zod-validation

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs115
repo stars14
Last updatedMarch 2, 2026
Repositoryoakoss/agent-skills

What it does

Helps with ai & agent building tasks during AI-assisted development.

Files

SKILL.mdMarkdownGitHub ↗

Zod Validation (v4)

Type-safe schema validation for TypeScript. Zod v4 introduces top-level format functions, z.stringbool(), z.iso.* date formats, z.overwrite() transforms, z.file(), z.toJSONSchema(), getter-based recursive types, .meta(), and the unified error function.

Package: zod (also zod/mini for smaller bundles)

Quick Reference

PatternUsage
z.object({ ... })Define object schemas
z.string(), z.number()Primitive types
z.email(), z.url(), z.uuid()Top-level string formats (v4)
z.iso.date(), z.iso.datetime()ISO date/time formats (v4)
z.int(), z.float32(), z.int32()Fixed-width number formats (v4)
z.templateLiteral([...])Template literal type validation (v4)
z.enum([...]), z.literal()Enums and literals
z.union([...]), z.discriminatedUnion()Union types
z.array(), z.tuple()Array and tuple types
z.record(), z.map()Key-value collections
.optional(), .nullable()Optional and nullable modifiers
.default(), .catch()Default values and fallbacks
.prefault()Pre-parse default (parsed through schema, v4)
z.coerce.number()Type coercion before validation
z.stringbool()String-to-boolean parsing (v4)
.transform(), .overwrite()Output transforms
z.pipe()Chain schemas (output feeds next input)
.refine(), .superRefine()Custom validation logic
.parse(), .safeParse()Validate and extract data
z.infer<typeof Schema>Extract TypeScript type from schema
z.input<>, z.output<>Input vs output types with transforms
z.file()File instance validation (v4)
z.toJSONSchema()Convert schema to JSON Schema (v4)
.meta(), .describe()Attach metadata to schemas (v4)
z.prettifyError()Human-readable error formatting (v4)
z.treeifyError()Structured error tree (replaces .format(), v4)
z.registry()Typed schema registry (v4)
{ error: (issue) => ... }Unified error customization (v4)
Getter-based recursionRecursive types without z.lazy() (v4)
z.globalRegistryGlobal schema metadata registry (v4)
z.config(z.locales.en())Internationalized error messages (v4)

Common Mistakes

MistakeFix
z.string().email()z.email() (v4 top-level format)
z.string().url()z.url() (v4 top-level format)
Using parse without try/catchUse safeParse for error handling
Forgetting .optional()Add when field may be undefined
z.any() for unknown dataUse z.unknown() for type-safe unknown
.transform() for same-type changesUse .overwrite() (introspectable, v4)
Missing .min(1) on stringsEmpty strings pass z.string() by default
z.number().parse(Infinity)z.number() rejects Infinity in v4
z.number().safe() for floats.safe() equals .int() in v4 (no floats)
z.lazy() for recursive typesUse getter syntax in v4 (retains object methods)
required_error / invalid_type_errorUse unified error function in v4
.refine(fn, (val) => ({ message }))Function-as-second-arg overload removed; use .superRefine()
errorMap on schemasReplaced by error function in v4
z.record(z.string()) single argv4 requires two args: z.record(z.string(), z.string())
.format() / .flatten() on ZodErrorDeprecated; use z.treeifyError(err) in v4
.default() with input type valuev4 .default() uses output type; use .prefault() for input

Delegation

Use this skill for Zod schema definition, validation, parsing, type inference, coercion, error formatting, metadata, and JSON Schema conversion. For form integration, delegate to the tanstack-form skill.

References

  • Schema Types — primitives, string formats, number formats, template literals, objects, arrays, enums, unions, records, optional, nullable
  • Transforms and Parsing — coercion, stringbool, transforms, overwrite, pipe, refinements, parsing, type inference
  • Error Handling — unified error function, prettifyError, treeifyError, ZodError, error formatting, internationalization
  • Common Patterns — form validation, API responses, environment variables, schema composition, recursive types, branded types
  • Metadata and JSON Schema — meta, describe, globalRegistry, toJSONSchema, file validation, Zod Mini

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.