Borrowing it
Nothing to install: this file belongs to Aniket-a14/SRA. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Aniket-a14/SRA/main/.agent/skills/zod/SKILL.mdgit clone --depth 1 https://github.com/Aniket-a14/SRAWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/aniket-a14/sra/zod)<a href="https://agentmods.dev/skills/aniket-a14/sra/zod"><img src="https://agentmods.dev/badge/skills/aniket-a14/sra/zod/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/aniket-a14/sra/zod"><img src="https://agentmods.dev/badge/skills/aniket-a14/sra/zod.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00071 | $0.01370 |
| Opus 5 | $0.00036 | $0.00685 |
| Sonnet 5 | $0.00014 | $0.00274 |
| Haiku 4.5 | $0.00007 | $0.00137 |
Grade A, and why
zod scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
100% identical to zod — 21 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Zod Best Practices
Comprehensive schema validation guide for Zod in TypeScript applications. Contains 43 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
When to Apply
Reference these guidelines when:
- Writing new Zod schemas
- Choosing between parse() and safeParse()
- Implementing type inference with z.infer
- Handling validation errors for user feedback
- Composing complex object schemas
- Using refinements and transforms
- Optimizing bundle size and validation performance
- Reviewing Zod code for best practices
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Schema Definition | CRITICAL | schema- |
| 2 | Parsing & Validation | CRITICAL | parse- |
| 3 | Type Inference | HIGH | type- |
| 4 | Error Handling | HIGH | error- |
| 5 | Object Schemas | MEDIUM-HIGH | object- |
| 6 | Schema Composition | MEDIUM | compose- |
| 7 | Refinements & Transforms | MEDIUM | refine- |
| 8 | Performance & Bundle | LOW-MEDIUM | perf- |
Quick Reference
1. Schema Definition (CRITICAL)
schema-use-primitives-correctly- Use correct primitive schemas for each typeschema-use-unknown-not-any- Use z.unknown() instead of z.any() for type safetyschema-avoid-optional-abuse- Avoid overusing optional fieldsschema-string-validations- Apply string validations at schema definitionschema-use-enums- Use enums for fixed string valuesschema-coercion-for-form-data- Use coercion for form and query data
2. Parsing & Validation (CRITICAL)
parse-use-safeparse- Use safeParse() for user inputparse-async-for-async-refinements- Use parseAsync for async refinementsparse-handle-all-issues- Handle all validation issues not just firstparse-validate-early- Validate at system boundariesparse-avoid-double-validation- Avoid validating same data twiceparse-never-trust-json- Never trust JSON.parse output
What ships with it
44 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- AGENTS.md 11 KB
- references/compose-intersection.md 3.4 KB
- references/compose-lazy-recursive.md 3.2 KB
- references/compose-pipe.md 3.3 KB
- references/compose-preprocess.md 3.6 KB
- references/compose-shared-schemas.md 3.3 KB
- references/error-avoid-throwing-in-refine.md 3.4 KB
- references/error-custom-messages.md 3.4 KB
- references/error-i18n.md 3.9 KB
- references/error-path-for-nested.md 3.6 KB
- references/error-use-flatten.md 3.2 KB
- references/object-discriminated-unions.md 3.9 KB
- references/object-extend-for-composition.md 3.4 KB
- references/object-optional-vs-nullable.md 3.6 KB
- references/object-partial-for-updates.md 3.5 KB
- references/object-pick-omit.md 3.8 KB
- references/object-strict-vs-strip.md 2.9 KB
- references/parse-async-for-async-refinements.md 3.0 KB
- references/parse-avoid-double-validation.md 3.3 KB
- references/parse-handle-all-issues.md 3.3 KB
- references/parse-never-trust-json.md 3.1 KB
- references/parse-use-safeparse.md 2.7 KB
- references/parse-validate-early.md 3.3 KB
- references/perf-arrays.md 3.9 KB
- references/perf-avoid-dynamic-creation.md 3.2 KB
- references/perf-cache-schemas.md 3.0 KB
- references/perf-lazy-loading.md 3.5 KB
- references/perf-zod-mini.md 3.0 KB
- references/refine-add-path.md 3.7 KB
- references/refine-catch.md 3.7 KB
- references/refine-defaults.md 3.6 KB
- references/refine-transform-coerce.md 3.4 KB
- references/refine-vs-superrefine.md 4.1 KB
- references/schema-avoid-optional-abuse.md 2.6 KB
- references/schema-coercion-for-form-data.md 2.9 KB
- references/schema-string-validations.md 2.7 KB
- references/schema-use-enums.md 2.7 KB
- references/schema-use-primitives-correctly.md 2.1 KB
- references/schema-use-unknown-not-any.md 2.2 KB
- references/type-branded-types.md 3.1 KB
- references/type-enable-strict-mode.md 2.9 KB
- references/type-export-schemas-and-types.md 3.0 KB
- references/type-input-vs-output.md 3.1 KB
- references/type-use-z-infer.md 3.0 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 128 lines · 71 tokens per session scan A 245fc4ab7341
zod is a skill published in the GitHub repository Aniket-a14/SRA (23 stars, last pushed 10d ago), licensed Apache-2.0. It adds 71 tokens to every session and 1,370 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to zod, differing in 21 lines, and is treated as a copy.
Other skills, from other repositories
react-best-practices
React development guidelines with hooks, component patterns, state management, and performance optimization.
vercel-deploy
Deploy applications to Vercel with edge functions, serverless, and ISR.
react-best-practices
React development guidelines with hooks, component patterns, state management, and performance optimization.
client-setup
Create a vanilla tRPC client with createTRPCClient (), configure link chain with httpBatchLink/httpLink, dynamic headers for auth, transformer on links (not client constructor). Infer types with inferRouterInputs and inferRouterOutputs. AbortController signal support. TRPCClientError typing.
adapter-express
Mount tRPC as Express middleware with createExpressMiddleware() from @trpc/server/adapters/express. Access Express req/res in createContext via CreateExpressContextOptions. Mount at a path prefix like app.use('/trpc', ...). Avoid global express.json() conflicting with tRPC body parsing for FormData.
trpc-router
Entry point for all tRPC skills. Decision tree routing by task: initTRPC.create(), t.router(), t.procedure, createTRPCClient, adapters, subscriptions, React Query, Next.js, links, middleware, validators, error handling, caching, FormData.