CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

typescript

TypeScript strict patterns and best practices. Trigger: When writing TypeScript code - types, interfaces, generics.

58

Quality

73%

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

Fix and improve this skill with Tessl

tessl review fix ./curated/typescript/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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 lean, code-first pattern catalog with clear ✅/❌ contrasts that make each rule immediately applicable, and no bundle to mismanage. Its weaknesses are inlined reference material (utility types, keywords) that pads tokens without adding instruction Claude doesn't already have, and a few incomplete example skeletons. Structure and organization are solid throughout.

Suggestions

Move the utility-types list (Pick/Omit/Partial/etc.) and the 'Keywords' section into a references/ file (e.g. references/utility-types.md) — Claude already knows these built-ins, so they cost tokens without teaching anything.

Make examples fully executable: give `parse` a real body, and show `isUser` where it is first used or note it is defined in the Type Guards section below.

Apply the REQUIRED marker consistently (or drop it entirely) so it is unambiguous whether 'Never Use any', 'Import Types', and 'Utility Types' are mandates or optional conventions.

DimensionReasoningScore

Conciseness

Mostly efficient — each pattern is a tight ✅/❌ code pair with a one-line rationale — but it includes content Claude already knows, such as the ten-entry utility-types reference (Pick, Omit, Partial, Record, ReturnType, etc.) and a trailing 'Keywords' section that adds no instruction. That matches 'mostly efficient but includes some unnecessary explanation or could be tightened'.

3 / 5

Actionability

Concrete, mostly executable TypeScript snippets with explicit ALWAYS/NEVER contrast and a working type guard, e.g. `const STATUS = {...} as const; type Status = (typeof STATUS)[keyof typeof STATUS];`. It falls short of 5 because a few examples are incomplete skeletons — `function parse(input: any): any { }` has an empty body, and `isUser` is used before its section defines it.

4 / 5

Workflow Clarity

This is a single-purpose pattern-reference skill, not a multi-step process, so per the simple-skill note a 5 is available if everything is unambiguous; it nearly qualifies with clearly titled sections and REQUIRED markers. It sits at 4 because rules are inconsistently enforced (only two sections are marked REQUIRED) and 'Never Use any' duplicates a rule without a section-level marker, leaving minor ambiguity about which patterns are mandates vs. suggestions.

4 / 5

Progressive Disclosure

No bundle files exist, and the ~110-line body is cleanly sectioned per pattern with no nested references, so there is nothing impossible to navigate. It misses 5 because the skill exceeds the under-50-lines simple case: the utility-types lookup list and keyword list are reference material inlined in SKILL.md that would be better placed in a references/ file.

4 / 5

Total

15

/

20

Passed

Description

65%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.

The description has an explicit, well-formed trigger clause and good natural keywords, but the capability statement is generic — 'strict patterns and best practices' tells the reader the topic without saying what the skill provides. Distinctiveness is solid thanks to the TypeScript niche. Overall a serviceable but under-specified description.

Suggestions

Replace 'TypeScript strict patterns and best practices' with concrete capabilities, e.g. 'Apply strict TypeScript patterns: const-object type extraction, flat interfaces, type guards, and utility types.'

Add common trigger synonyms and file extensions, e.g. 'Use when writing TypeScript or TS code (.ts/.tsx files), defining types, interfaces, generics, or type guards.'

Drop the 'Keywords' section in the body (duplicative keyword stuffing) and fold those terms into the description's trigger clause instead.

DimensionReasoningScore

Specificity

The description names the domain ("TypeScript strict patterns and best practices") but names no concrete actions or capabilities — it never says what the skill actually does, matching the anchor 'Names the domain but actions are minimal or generic'. It is above 1 because the domain is explicit, and below 3 because 'types, interfaces, generics' are topics, not the 1-2 concrete actions that anchor requires.

2 / 5

Completeness

Both parts are present: a 'what' ("TypeScript strict patterns and best practices") and an explicit 'when' ("Trigger: When writing TypeScript code - types, interfaces, generics"), so it clears the anchor-3 cap for missing trigger guidance. It is not 5 because the 'what' is generic — it doesn't state concrete capabilities — which is exactly the 'when could be more explicit or specific'-style weakness the anchor-4 band describes.

4 / 5

Trigger Term Quality

"When writing TypeScript code - types, interfaces, generics" provides good natural keyword coverage with multi-word phrases a user would actually say. It falls short of 5 because common variations and synonyms are missing ('TS', '.ts/.tsx files', 'type definitions').

4 / 5

Distinctiveness Conflict Risk

"TypeScript strict patterns" with triggers around types, interfaces, and generics carves a clear niche with minimal conflict risk. It is not 5 because 'types, interfaces, generics' overlaps with general JavaScript/typing-adjacent skills, fitting 'mostly distinct; minor overlap risk with closely related skills'.

4 / 5

Total

14

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

Gentleman-Programming/Gentleman-Skills

Path

curated/typescript/SKILL.md

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.