TypeScript language patterns and type safety rules — strict mode, no any, discriminated unions. Use when writing TypeScript code, reviewing types, or enforcing type safety.
70
Quality
58%
Does it follow best practices?
Impact
87%
0.96xAverage score across 3 eval scenarios
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/universal/lang-typescript/SKILL.mdType-safe API data processing
No `any` in function signatures
100%
100%
No inline `any` usage
100%
100%
No type assertions on API data
80%
100%
Uses `unknown` for unvalidated data
100%
100%
Zod schema or type guard present
100%
100%
Discriminated union used
100%
100%
No @ts-nocheck
100%
100%
No @ts-ignore
100%
100%
Strict-compatible types
100%
100%
Proper error branch
100%
100%
Interfaces or types defined
100%
100%
Without context: $0.3810 · 1m 29s · 24 turns · 30 in / 5,287 out tokens
With context: $0.6975 · 2m 41s · 29 turns · 3,572 in / 9,575 out tokens
Async/await and parallel promise handling
No .then() chains
100%
0%
async/await used
100%
100%
Promise.all for parallel ops
100%
100%
Promise.allSettled for fault-tolerant batch
100%
100%
allSettled results inspected
100%
100%
No raw callbacks
100%
100%
try/catch error handling
0%
0%
Sequential vs parallel distinction
100%
100%
No .catch() chains
0%
0%
Failure count reported
100%
100%
Without context: $0.2449 · 1m 1s · 15 turns · 18 in / 2,920 out tokens
With context: $1.2041 · 4m · 46 turns · 49 in / 15,554 out tokens
Named exports and import ordering
No default exports
100%
100%
Named function exports
100%
100%
Named type/interface exports
100%
100%
External imports first
100%
100%
Blank line between import groups
0%
0%
Local/relative imports last
100%
100%
Internal/@-alias imports in middle
100%
100%
Multiple named exports per file
100%
100%
No module.exports
100%
100%
Consistent import names
100%
100%
Without context: $0.3892 · 1m 21s · 24 turns · 30 in / 5,500 out tokens
With context: $0.6725 · 2m 3s · 34 turns · 1,204 in / 8,048 out tokens
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.