CtrlK
BlogDocsLog inGet started
Tessl Logo

typescript-expert

TypeScript and JavaScript expert with deep knowledge of type-level programming, performance optimization, monorepo management, migration strategies, and modern tooling.

48

Quality

61%

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

Quality

Content

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

The content is strong on concrete, executable TypeScript guidance with a clear invocation sequence and validation step, but it is an oversized monolith that duplicates material already sitting unread in references/ and scripts/. Trimming Claude-known basics into the existing bundle files and linking them from the body would fix the biggest structural problem.

Suggestions

Link the existing bundle files from the body (e.g. under a 'References' section: '**Strict tsconfig**: see [tsconfig-strict.json](references/tsconfig-strict.json), **Utility types**: [utility-types.ts](references/utility-types.ts), **Diagnostics**: run `python scripts/ts_diagnostic.py`), and remove the inlined duplicates of that content.

Cut the 'AI-Assisted Development' section and the empty 'When to Use' placeholder — they add tokens without adding capability.

Give steps 2-4 real substance: name the problem categories from the 'Complex Error Patterns' section and add a fix-validate-retry loop after the validation commands.

DimensionReasoningScore

Conciseness

The body is mostly dense reference material (terse code blocks, a tool-migration table, decision trees) with little prose padding, but substantial sections restate knowledge Claude already has — branded types, DeepReadonly, 'satisfies', const assertions, strict compiler flags, ESM basics — and the 'AI-Assisted Development' section ('GitHub Copilot excels at TypeScript generics') plus the placeholder 'When to Use' ('This skill is applicable to execute the workflow or actions described in the overview') are pure filler. This fits 'Mostly efficient but includes some unnecessary explanation or could be tightened'; it is above 2 because content is presented as snippets rather than verbose tutorials, and below 4 because several sections add no value Claude doesn't already have.

3 / 5

Actionability

Much of the guidance is copy-paste ready: diagnostic commands ('npx tsc --extendedDiagnostics --incremental false | grep ...'), guarded migration helpers ('command -v ts-migrate >/dev/null 2>&1 && npx ts-migrate migrate ...'), a root tsconfig for project references, and a vitest expectTypeOf example. This matches 'Mostly executable guidance; concrete code or commands with minor gaps'. It falls short of 5 because some blocks are illustrative patterns rather than runnable (the ambient module declaration mixes 'export default' and 'export =' in one snippet) and several sections state preferences without the command to apply them.

4 / 5

Workflow Clarity

'When invoked' lays out a numbered 0-4 sequence: detect tooling and monorepo markers with fixed precedence, adapt to the project, classify the problem, apply a strategy, then validate with one-shot commands plus an explicit safety note against watch processes. This fits 'Clear sequence with most checkpoints present; minor validation gaps'. It is not 5 because steps 2 ('Identify the specific problem category and complexity level') and 3 ('Apply the appropriate solution strategy from my expertise') are placeholders with no feedback loop for what to do when validation fails.

4 / 5

Progressive Disclosure

The bundle contains references/tsconfig-strict.json, references/typescript-cheatsheet.md, references/utility-types.ts, and scripts/ts_diagnostic.py, yet the body never links to or mentions any of them — the ~470-line body inlines exactly the material (cheatsheet-style type patterns, a strict tsconfig, utility types) that those files already hold. This matches 'Minimal structure; content that clearly belongs in separate files is inlined; or references are buried'. It is above 1 because the body itself is well-sectioned with headers, but below 3 because the existing reference files are undiscoverable dead weight.

2 / 5

Total

13

/

20

Passed

Description

45%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 reads as a persona summary rather than a capability description: it declares expertise areas without a single concrete action and with no trigger guidance for when to invoke the skill. Adding an explicit 'Use when...' clause with natural trigger phrases (type errors, tsconfig, migrations, monorepos) would lift both completeness and trigger quality.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user hits TypeScript type errors, needs tsconfig/compiler tuning, migrates JS to TS or CJS to ESM, or manages monorepo builds.'

Convert knowledge areas into concrete actions: 'Diagnose type-checking performance, migrate JavaScript codebases, configure strict tsconfigs, and select tooling (Biome vs ESLint, Nx vs Turborepo).'

Include natural user vocabulary such as 'type error', 'tsconfig', 'strict mode', and '.ts' so the description matches how users actually phrase requests.

DimensionReasoningScore

Specificity

The description names the domain ("TypeScript and JavaScript expert") and lists knowledge areas ("type-level programming, performance optimization, monorepo management, migration strategies, and modern tooling"), but every phrase describes what the expert knows rather than any concrete action it performs. This matches the anchor 'Names the domain but actions are minimal or generic'. It is above 1 because the domain is clearly stated with five specific sub-areas, but below 3 because not a single executable action (fix, migrate, optimize, review) is stated.

2 / 5

Completeness

The 'what' is stated (deep knowledge of five named areas) but there is no 'when' — no 'Use when...' clause or equivalent trigger guidance, which per the judging guidelines caps completeness at 3. It is not 4 because 'when' is entirely absent rather than merely under-specified, and not 2 because the 'what' half is reasonably clear.

3 / 5

Trigger Term Quality

Relevant keywords like "TypeScript", "JavaScript", "type-level programming", "monorepo management", and "migration strategies" are present, matching 'Some relevant keywords but missing common variations or synonyms'. It stays at 3 rather than 4 because natural user phrases ("type error", "tsconfig", "migrate to TypeScript", "strict mode", ".ts") are missing, and it is above 2 since the terms are domain-relevant rather than generic.

3 / 5

Distinctiveness Conflict Risk

"TypeScript and JavaScript expert" carves out a recognizable niche (type-level programming, monorepos, migration), but the breadth means it would overlap with general coding, JavaScript framework, and linting/formatting skills. This fits 'Somewhat specific but could still overlap with similar skills' — above 2 because sub-areas like branded types and monorepo tooling are distinctive, below 4 because 'TypeScript/JavaScript expert' is very broad.

3 / 5

Total

11

/

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.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
fathah/hermes-desktop
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.