CtrlK
BlogDocsLog inGet started
Tessl Logo

typescript-advanced-type-system

Advanced TypeScript type-system mechanics — union and intersection types, conditional types with `infer`, mapped types, template literal types, generics and their constraints, index signatures, type assertions, and extracting types from other types (return types, array elements, promise results). Use when designing a complex generic, modeling a type that transforms based on another type, extracting a type from a function or structure with `infer`, or deciding between a type assertion and a real narrowing check.

71

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

78%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-built overview skill: opinionated mindset guidance, executable verification commands, clean BAD/GOOD anti-pattern examples, and exemplary progressive disclosure with a verified one-level-deep reference bundle. The main improvement areas are merging the redundant trigger sections and adding one inline positive example of a core derivation.

Suggestions

Merge the 'When to Apply' bullet list and the 'Use When' question list into a single section — they restate the same triggers and cost tokens twice.

Add one short positive example of a core derivation (e.g. a conditional type with `infer` extracting a return type) alongside the anti-patterns, so the most common use cases have inline examples before delegating to references.

Make the verification loop explicit in the guidance — e.g. 'after writing the type, run `npx tsc --noEmit` and fix mismatches before proceeding' — to sequence the existing validation command into the workflow.

DimensionReasoningScore

Conciseness

The body is efficient and assumes competence (no tutorial padding about what TypeScript is), and the Anti-Patterns use a tight WHY/BAD/GOOD format. It is not a 5 because the 'When to Apply' bullet list and the 'Use When' question list substantially restate the same triggers, which could be merged or trimmed.

4 / 5

Actionability

Concrete, executable content is present: `npx tsc --noEmit` commands and complete, runnable TypeScript snippets in every anti-pattern (e.g. `type PropType<T, K extends keyof T> = T extends { [P in K]: infer V } ? V : never;`). Not a 5 because the body contains only anti-pattern examples and verification commands — no short positive example of the core derivations (e.g. a mapped type or an `infer` extraction) is shown inline, leaving minor gaps for the most common cases.

4 / 5

Workflow Clarity

For a reference-style knowledge skill the guidance is unambiguous: 'model the problem in types before reaching for a runtime check' plus explicit verification commands (`npx tsc --noEmit` and single-file variant) act as validation checkpoints. Not a 5 because the type-check step is never explicitly sequenced into the guidance (no 'write the type, then run the check, fix if it fails' loop), though nothing here is risky, batch, or destructive so no cap applies.

4 / 5

Progressive Disclosure

The body is a lean overview and all detail lives in 8 real, one-level-deep reference files, each clearly signaled in a table with a 'Covers' column (all paths verified to exist, and none of the reference files nest further references). Scoped sections (In/Out of Scope, When NOT to Use) plus external handbook links make navigation easy — this matches the top anchor.

5 / 5

Total

17

/

20

Passed

Description

96%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: comprehensive and specific about capabilities, explicit 'Use when' triggers phrased in natural user language, and third-person voice throughout. The only weakness is minor overlap risk with sibling TypeScript skills on the assertion-vs-narrowing trigger, which the description does not itself disambiguate.

DimensionReasoningScore

Specificity

The description enumerates concrete, comprehensive capabilities: "union and intersection types, conditional types with `infer`, mapped types, template literal types, generics and their constraints, index signatures, type assertions, and extracting types from other types (return types, array elements, promise results)" — no vague filler. Not score 4 because coverage spans the full domain with specific sub-examples (e.g. return types, array elements, promise results) rather than leaving minor gaps.

5 / 5

Completeness

It explicitly answers both questions: 'what' is the enumerated list of type-system mechanics, and 'when' is the concrete "Use when designing a complex generic, modeling a type that transforms based on another type, extracting a type... or deciding between a type assertion and a real narrowing check." This matches the score-5 anchor with concrete trigger phrases for both.

5 / 5

Trigger Term Quality

The 'Use when' clause uses natural phrases a TypeScript user would actually say: "designing a complex generic", "extracting a type from a function or structure with `infer`", "deciding between a type assertion and a real narrowing check", plus domain keywords like mapped types and template literals. Not score 4 because synonyms and variations (e.g. "transforms based on another type" alongside 'conditional type') are covered comprehensively.

5 / 5

Distinctiveness Conflict Risk

The niche is clear — compile-time, type-level TypeScript mechanics — but the trigger "deciding between a type assertion and a real narrowing check" overlaps with the domain of a sibling runtime-narrowing/type-guards skill. Not score 5 because that boundary is drawn only in the body's Scope section, not in the description itself; not score 3 because the type-level framing keeps it mostly distinct.

4 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

Total

15

/

16

Passed

Repository
pantheon-org/tekhne
Reviewed

Table of Contents

Is this your skill?

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.