Added AI skills
This commit is contained in:
79
.agents/skills/zod/README.md
Normal file
79
.agents/skills/zod/README.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# Zod Best Practices Skill
|
||||
|
||||
A comprehensive guide for using Zod effectively in TypeScript applications. This skill provides 42 rules across 8 categories, organized by impact to help AI agents and developers write better validation code.
|
||||
|
||||
## Overview
|
||||
|
||||
Zod is a TypeScript-first schema declaration and validation library. This skill covers best practices for:
|
||||
|
||||
- **Schema Definition**: Choosing correct types, avoiding `z.any()`, proper string validations
|
||||
- **Parsing & Validation**: Using `safeParse()`, async validation, error handling
|
||||
- **Type Inference**: Leveraging `z.infer`, distinguishing input/output types
|
||||
- **Error Handling**: Custom messages, internationalization, form error display
|
||||
- **Object Schemas**: strict/strip modes, partial updates, discriminated unions
|
||||
- **Schema Composition**: Reusable schemas, intersections, recursive types
|
||||
- **Refinements & Transforms**: Custom validation, data transformation
|
||||
- **Performance**: Caching, Zod Mini, lazy loading, batch validation
|
||||
|
||||
## Usage
|
||||
|
||||
### For Claude Code / AI Agents
|
||||
|
||||
The skill is automatically loaded when working with Zod code. Reference specific rules:
|
||||
|
||||
```
|
||||
See rules/parse-use-safeparse.md for safeParse best practices
|
||||
```
|
||||
|
||||
### For Developers
|
||||
|
||||
Read `SKILL.md` for a quick reference, or `AGENTS.md` for the full compiled guide.
|
||||
|
||||
## File Structure
|
||||
|
||||
```
|
||||
zod/
|
||||
├── SKILL.md # Quick reference with rule index
|
||||
├── AGENTS.md # Full compiled guide (all rules)
|
||||
├── metadata.json # Version, categories, references
|
||||
├── README.md # This file
|
||||
└── rules/
|
||||
├── _sections.md # Category definitions
|
||||
├── _template.md # Rule template
|
||||
├── schema-*.md # Schema definition rules
|
||||
├── parse-*.md # Parsing rules
|
||||
├── type-*.md # Type inference rules
|
||||
├── error-*.md # Error handling rules
|
||||
├── object-*.md # Object schema rules
|
||||
├── compose-*.md # Composition rules
|
||||
├── refine-*.md # Refinement rules
|
||||
└── perf-*.md # Performance rules
|
||||
```
|
||||
|
||||
## Rule Categories
|
||||
|
||||
| Priority | Category | Rules | Impact |
|
||||
|----------|----------|-------|--------|
|
||||
| 1 | Schema Definition | 6 | CRITICAL |
|
||||
| 2 | Parsing & Validation | 6 | CRITICAL |
|
||||
| 3 | Type Inference | 5 | HIGH |
|
||||
| 4 | Error Handling | 5 | HIGH |
|
||||
| 5 | Object Schemas | 6 | MEDIUM-HIGH |
|
||||
| 6 | Schema Composition | 5 | MEDIUM |
|
||||
| 7 | Refinements & Transforms | 5 | MEDIUM |
|
||||
| 8 | Performance & Bundle | 5 | LOW-MEDIUM |
|
||||
|
||||
## Key Principles
|
||||
|
||||
1. **Type Safety First**: Always use `z.infer`, never duplicate types manually
|
||||
2. **Validate at Boundaries**: Parse external data immediately at entry points
|
||||
3. **User-Friendly Errors**: Provide custom messages, collect all issues
|
||||
4. **Single Source of Truth**: Schema defines validation AND TypeScript types
|
||||
5. **Composition Over Duplication**: Use extend, pick, omit, partial
|
||||
|
||||
## References
|
||||
|
||||
- [Zod Official Documentation](https://zod.dev/)
|
||||
- [Zod v4 Release Notes](https://zod.dev/v4)
|
||||
- [Zod GitHub](https://github.com/colinhacks/zod)
|
||||
- [Zod Mini](https://zod.dev/packages/mini)
|
||||
Reference in New Issue
Block a user