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.
74
67%
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 advanced TypeScript type system capabilities and provides explicit trigger guidance via a 'Use when' clause. The trigger terms are natural and comprehensive for the domain. The only minor weakness is potential overlap with general TypeScript skills, though the focus on advanced type system features helps differentiate it.
| 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 advanced type system features 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 cover the main terms a developer would use when seeking help with advanced TypeScript types. | 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 phrase 'building type-safe applications' is broad enough to potentially conflict with general TypeScript development skills, though the emphasis on advanced type system features provides some distinction. | 2 / 3 |
Total | 11 / 12 Passed |
Implementation
42%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 advanced types tutorial rather than a targeted skill for Claude. It extensively explains concepts Claude already knows (built-in utility types, basic generics, type guards) while providing good executable code examples. The content would benefit enormously from aggressive trimming of known concepts, splitting into multiple files, and focusing only on non-obvious patterns and project-specific conventions.
Suggestions
Remove explanations of built-in utility types (Partial, Readonly, Pick, Omit, etc.) and basic concepts (generics syntax, type guards, assertion functions) that Claude already knows - focus only on non-obvious patterns and gotchas.
Split content into separate files: keep SKILL.md as a concise overview with links to PATTERNS.md (advanced patterns), INFERENCE.md (inference techniques), and PITFALLS.md (common issues).
Add a decision tree or workflow for choosing between patterns (e.g., 'When to use discriminated unions vs conditional types vs mapped types') rather than just listing them all.
Remove the 'When to Use This Skill' and 'Best Practices' sections - these are generic advice Claude already knows and don't add actionable value.
| 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 'Purpose' labels, 'When to Use This Skill' list, and explanations of standard utility types are unnecessary padding. The content is essentially a TypeScript tutorial/reference that adds very little beyond what Claude already knows. | 1 / 3 |
Actionability | All code examples are fully executable TypeScript with proper type annotations, concrete usage examples, and clear expected outputs shown in comments. The patterns (event emitter, API client, builder, form validator) are complete and copy-paste ready. | 3 / 3 |
Workflow Clarity | The content is organized into logical sections (core concepts → advanced patterns → techniques → best practices), but there are no workflow sequences, validation checkpoints, or decision trees for when to apply which pattern. The 'When to Use This Skill' list is vague and doesn't guide decision-making between the patterns presented. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of text with no references to external files. At ~500+ lines, the advanced patterns, type inference techniques, and utility type references should be split into separate files. Everything is inline with no navigation structure beyond markdown headers. | 1 / 3 |
Total | 7 / 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 | |
27a7ed9
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.