runtime-type-reconstruction
SKILL.md
Know How to Reconstruct Types at Runtime
Overview
TypeScript types are erased at runtime, but sometimes you need to validate that runtime data matches your types. Use libraries like io-ts, zod, or runtypes to define schemas that provide both runtime validation and static types. This ensures your types match reality.
When to Use This Skill
- Validating data at runtime
- Parsing JSON with type safety
- Types need runtime checks
- Using io-ts, zod, or runtypes
- Building validation schemas
The Iron Rule
Use validation libraries like zod or io-ts to get both runtime validation and TypeScript types from a single source of truth.
Example with Zod
import { z } from 'zod';
// Define schema once
const UserSchema = z.object({
id: z.string(),
name: z.string(),
email: z.string().email(),
age: z.number().optional(),
});
// Get TypeScript type from schema
type User = z.infer<typeof UserSchema>;
// Runtime validation
const result = UserSchema.safeParse(unknownData);
if (result.success) {
// result.data is typed as User
console.log(result.data.name);
} else {
console.error(result.error);
}
Reference
- Effective TypeScript, 2nd Edition by Dan Vanderkam
- Item 74: Know How to Reconstruct Types at Runtime
Weekly Installs
6
Repository
marius-townhous…t-skillsGitHub Stars
2
First Seen
Feb 3, 2026
Security Audits
Installed on
opencode6
claude-code5
mcpjam4
iflow-cli4
windsurf4
zencoder4