CtrlK
BlogDocsLog inGet started
Tessl Logo

typescript-pro

Use when building TypeScript applications requiring advanced type systems, generics, or full-stack type safety. Invoke for type guards, utility types, tRPC integration, monorepo setup.

56

Quality

63%

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 ./skills/typescript-pro/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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-structured overview skill with excellent progressive disclosure — a load-conditioned reference table pointing to five real, one-level-deep files. Its weaknesses are the absence of any executable code or commands in the body for a code-producing skill, plus padded persona and keyword-list sections that add tokens without information.

Suggestions

Add one or two short executable snippets in the body for the skill's signature patterns (e.g. a branded type + type-predicate guard, and a `satisfies` usage), or explicitly point to where those snippets live in the reference files.

Delete or merge the 'Knowledge Reference' keyword list and the 'When to Use This Skill' section into the description/frontmatter, and drop the '10+ years of experience' persona padding.

Strengthen workflow validation: give step 5 a concrete check (e.g. 'run `tsc --noEmit` and confirm zero errors before delivering') and an error-recovery loop so the sequence has a real checkpoint rather than an implied one.

DimensionReasoningScore

Conciseness

Mostly efficient with short sections and a tight MUST DO / MUST NOT list, but it includes unnecessary padding: the '10+ years of experience' persona framing in 'You are a senior TypeScript developer with 10+ years of experience', a 'When to Use This Skill' section that restates the frontmatter description, and a 'Knowledge Reference' section that is a bare keyword list duplicating the description's trigger terms. This matches 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than level 4, since at least two full sections could be deleted with no information loss.

3 / 5

Actionability

The Constraints section gives genuinely concrete rules ('Enable strict mode with all compiler flags', 'Use `satisfies` operator', 'Use enums' prohibition with the 'const objects with `as const`' alternative), and the workflow names specific techniques per step ('branded types, generics, utility types', 'project references, incremental compilation, tree shaking'). But for a code-output skill there is not a single executable code example or command — every pattern (branded types, discriminated unions, `satisfies`) is named but never shown. That is 'some concrete guidance but incomplete' (3), not level 4's 'concrete code or commands with minor gaps'.

3 / 5

Workflow Clarity

The five-step Core Workflow is a coherent sequence (analyze → design → implement → optimize → test) with a brief parenthetical per step, and step 5 ('Test types - Verify type coverage, test type logic, ensure zero runtime errors') functions as a validation checkpoint. However, no step has an explicit verification gate, error-recovery loop, or concrete check to run, matching 'steps listed but validation gaps; sequence present but checkpoints missing or implicit'. No destructive/batch operations are involved, so no cap applies.

3 / 5

Progressive Disclosure

SKILL.md is a clean overview that routes to five one-level-deep reference files via a table with topic, path, and an explicit 'Load When' condition (e.g. 'references/advanced-types.md' for 'Generics, conditional types, mapped types, template literals'), and all five referenced files exist in the bundle. This matches 'clear overview with well-signaled one-level-deep references; content appropriately split; easy navigation' — there is no nesting beyond one level and no bulk content inlined that belongs in references.

5 / 5

Total

14

/

20

Passed

Description

70%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 solid, keyword-rich description with an explicit 'Use when / Invoke for' trigger structure and mostly natural terms. Its main weakness is that it enumerates topic areas rather than stating concrete actions the skill performs, leaving the 'what' implicit inside the 'when' clause.

Suggestions

Open with an explicit action statement in third person (e.g. 'Implements and refactors advanced TypeScript type systems — generics, conditional types, branded types, and end-to-end type-safe APIs'), then keep the existing 'Use when...' trigger sentence.

Add a few natural trigger variations users commonly say, such as 'tsconfig', 'strict mode', or 'type errors', to round out keyword coverage.

Sharpen the niche boundary by naming what it is not for (e.g. basic TypeScript syntax), reducing overlap with general full-stack skills.

DimensionReasoningScore

Specificity

The description names the domain ('building TypeScript applications requiring advanced type systems, generics, or full-stack type safety') and lists concrete capability areas ('type guards, utility types, tRPC integration, monorepo setup'), but these are topics rather than performed actions — the only verbs are 'Use when building' and 'Invoke for', so coverage of what the skill actually does is not comprehensive. It sits above 'actions are minimal or generic' (2) because the enumerated areas are specific, but below 'lists several specific actions' (4) because it never states actions the skill performs.

3 / 5

Completeness

It has an explicit 'when' ('Use when building TypeScript applications requiring...', 'Invoke for type guards, utility types, tRPC integration, monorepo setup') with concrete trigger phrases, and a what that is present but folded into the when-clause rather than stated as its own action (e.g. 'Writes and refactors advanced TypeScript...'). This matches 'has both what and when; when could be more explicit or specific' inverted — the when is strong but the what could be more explicit — which is the level-4 profile, not the level-5 'clearly and explicitly answers both'.

4 / 5

Trigger Term Quality

Strong natural keywords users would actually say: 'TypeScript', 'generics', 'type safety', 'type guards', 'utility types', 'tRPC', 'monorepo'. It misses a few common variations users might phrase naturally ('tsconfig', 'typing', 'types', '.ts'), placing it at 'good keyword coverage; a few natural terms missing' rather than comprehensive (5).

4 / 5

Distinctiveness Conflict Risk

The TypeScript-advanced-types niche is clear and triggers like 'tRPC integration', 'type guards', and 'generics' are unlikely to fire for the wrong skill. There is minor overlap risk with general TypeScript or full-stack skills ('full-stack type safety', 'monorepo setup'), matching 'mostly distinct; minor overlap risk with closely related skills' rather than the minimal-conflict level 5.

4 / 5

Total

15

/

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
zebbern/claude-code-guide
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.