Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.
66
53%
Does it follow best practices?
Impact
82%
1.02xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/javascript-typescript/skills/typescript-advanced-types/SKILL.mdDiscriminated unions and type guards
Discriminant property
100%
100%
At least 3 union variants
100%
100%
interface for shapes
100%
0%
type for union alias
100%
100%
Generic success type
100%
100%
Type guard predicate syntax
100%
100%
No type assertions for narrowing
100%
100%
No `any` type
100%
100%
Exhaustive switch/if on discriminant
100%
100%
Null/undefined handling
100%
100%
Exported types
100%
100%
TypeScript file produced
100%
100%
Infer keyword and mapped type key remapping
Uses `infer` keyword
100%
100%
Mapped type key remapping
0%
100%
Generic constraints used
100%
0%
`never` for key filtering
50%
100%
No `any` in utility types
100%
100%
JSDoc on complex types
0%
100%
Recursive/nested type
100%
100%
Built-in utility usage
100%
100%
Modifier removal
0%
0%
`interface` for shapes
100%
100%
`keyof` and `in` operators
100%
100%
Template literal types and type testing
Template literal type
100%
100%
String intrinsic used
0%
0%
AssertEqual type test helper
100%
100%
Type tests verify relationships
100%
100%
Const assertion used
0%
0%
`interface` for event payloads
0%
0%
`type` for event name unions
100%
100%
Mapped type over event map keys
100%
100%
No `any` in type system
100%
100%
Template literal union distribution
100%
100%
TypeScript file produced
100%
100%
91fe43e
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.