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.mdQuality
Discovery
92%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description that clearly articulates specific capabilities in TypeScript's advanced type system and provides explicit trigger guidance via a 'Use when' clause. The main weakness is potential overlap with other TypeScript-related skills, though the focus on advanced type system features provides reasonable differentiation. The description is well-structured, uses third person voice, and includes natural developer terminology.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete capabilities: generics, conditional types, mapped types, template literals, utility types, and specific actions like 'building type-safe applications', 'creating reusable type utilities', and 'ensuring compile-time type safety'. | 3 / 3 |
Completeness | Clearly answers both 'what' (master TypeScript's advanced type system including generics, conditional types, etc.) and 'when' (explicit 'Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects'). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'TypeScript', 'generics', 'conditional types', 'mapped types', 'template literals', 'utility types', 'type-safe', 'type logic', 'compile-time type safety'. These are terms developers naturally use when seeking help with advanced TypeScript typing. | 3 / 3 |
Distinctiveness Conflict Risk | While it focuses on advanced TypeScript types specifically, it could overlap with a general TypeScript skill or a broader programming/coding skill. The focus on 'advanced type system' helps distinguish it, but 'TypeScript projects' is broad enough to potentially conflict with other TypeScript-related skills. | 2 / 3 |
Total | 11 / 12 Passed |
Implementation
14%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill reads as a comprehensive TypeScript type system tutorial rather than a targeted skill for Claude. It explains many concepts Claude already knows well (built-in utility types, basic generics, type guards), making it extremely token-inefficient. The content lacks any workflow structure, decision-making guidance, or progressive disclosure, and would benefit from being dramatically condensed to focus only on novel patterns and project-specific conventions.
Suggestions
Remove all explanations of built-in TypeScript features Claude already knows (Partial, Readonly, Pick, Omit, Exclude, Extract, NonNullable, Record, basic generics, type guards, assertion functions) and focus only on novel/project-specific patterns.
Add a decision framework or workflow for choosing which advanced type pattern to apply given a specific problem (e.g., 'Need type-safe event handling? → Pattern 1; Need deep property access? → Template literal path types').
Split content into a concise SKILL.md overview with references to separate files for each advanced pattern (e.g., PATTERNS.md, TYPE-TESTING.md).
Reduce the Best Practices and Common Pitfalls sections to only non-obvious guidance that Claude wouldn't already know, or remove them entirely.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose - explains basic TypeScript concepts Claude already knows (generics, Partial, Readonly, Pick, Omit, etc. are all built-in utility types). The 'When to Use This Skill' section, 'Purpose' explanations for each concept, and the Best Practices/Common Pitfalls sections are all padding that adds no novel information. This is essentially a TypeScript tutorial, not a skill that teaches Claude something it doesn't already know. | 1 / 3 |
Actionability | The code examples are executable and well-typed, which is good. However, the skill reads more like a reference/tutorial than actionable guidance for a specific task. There's no clear instruction on when to apply which pattern, no decision framework, and the examples are standalone demonstrations rather than task-oriented workflows. | 2 / 3 |
Workflow Clarity | There is no workflow or sequencing at all. The content is a flat catalog of type system features and patterns with no guidance on how to approach a type design problem, no decision trees for choosing between approaches, and no validation steps for verifying type correctness beyond a brief type testing section at the end. | 1 / 3 |
Progressive Disclosure | This is a monolithic wall of text (~400+ lines) with no references to external files. All content is inline with no layering - basic generics, advanced patterns, utility types, testing, and best practices are all dumped into a single document with no navigation strategy or separation of concerns. | 1 / 3 |
Total | 5 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (718 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
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.