CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

typescript-best-practices

TypeScript best practices. Use when reading or editing any .ts or .tsx file.

67

Quality

84%

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

100%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 body is an exemplar of a lean, instruction-only skill: a dense rule table with concrete syntax and naming conventions, correct sequencing, and a clean one-level-deep split of code examples into the references bundle. No verbosity, no gaps in actionability.

DimensionReasoningScore

Conciseness

The body is a ~25-line table of terse, one-line rules with zero padding and no explanation of concepts Claude already knows ('Apply the type-system-discipline principle skill first; this skill grounds it in TypeScript syntax' assumes full competence). Every token earns its place.

5 / 5

Actionability

The rules are concrete and executable: exact syntax ('Inline `const _exhaustive: never = x;` in default arms', 'Brand primitives with `& { readonly __brand: "X" }`'), naming conventions ('Name them `isX` or `hasX`'), and an ordered narrowing hierarchy, all backed by copy-paste-ready code in references/patterns.md covering every rule. Per the instruction-skill note, the absence of inline code blocks is not penalized since the guidance is specific and the referenced examples are complete.

5 / 5

Workflow Clarity

This is a simple single-purpose skill (under 50 lines, one task: apply these rules to TS code), and the single action is unambiguous, with an explicit sequencing step ('Apply the type-system-discipline principle skill first'). No destructive or batch operations exist that would require validation checkpoints, so the simple-skill exception applies.

5 / 5

Progressive Disclosure

SKILL.md is a concise overview (rule table) with the bulk code examples split into exactly one clearly-signaled reference ('Examples: `references/patterns.md`'), which exists, is one level deep, and contains no nested file references. The split is appropriate and navigation is trivial.

5 / 5

Total

20

/

20

Passed

Description

61%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 and appropriately scoped 'Use when' clause with good trigger terms (.ts/.tsx, TypeScript, reading/editing), but the 'what' is a bare category with no concrete capabilities. It is functional but undersells the skill's specific content.

Suggestions

Replace 'TypeScript best practices' with concrete capability phrases, e.g. 'Apply type-safety rules for TypeScript: discriminated unions, branded types, unknown over any, exhaustiveness checks, and boundary validation.'

Add one or two natural trigger keywords users actually say, such as 'type safety', 'type errors', or 'narrowing', to strengthen trigger_term_quality.

Narrow the trigger slightly (e.g. 'when writing or reviewing TypeScript') or make the distinct purpose explicit to reduce conflict risk with other TypeScript-related skills.

DimensionReasoningScore

Specificity

The description only says 'TypeScript best practices' — it names the domain but lists no concrete actions (no mention of discriminated unions, type guards, boundary validation, etc.), matching the 'Names the domain but actions are minimal or generic' anchor. Not 3 because no 1-2 specific capabilities are stated; not 1 because the domain is clearly identified.

2 / 5

Completeness

Both parts are present: a 'what' ('TypeScript best practices') and an explicit 'when' ('Use when reading or editing any .ts or .tsx file'), so the missing-'Use when' cap does not apply. Not 5 because the 'what' is a bare category rather than concrete capability phrases; the 'when' is fully explicit, so it clears the 4 anchor.

4 / 5

Trigger Term Quality

Includes natural terms users would say — 'TypeScript', 'reading or editing', '.ts', '.tsx' — giving good keyword coverage. Not 5 because common variations like 'type safety', 'type errors', 'types', or 'narrowing' are missing; not 3 because both the language name and file extensions are present.

4 / 5

Distinctiveness Conflict Risk

'reading or editing any .ts or .tsx file' is somewhat specific but any other TypeScript-related skill (linting, tsconfig, refactoring) would trigger on the same condition, creating overlap risk with similar skills. Not 4 because the trigger is broader than 'minor overlap risk'; not 2 because the domain is clearly TypeScript, not generic.

3 / 5

Total

13

/

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

adamsardo/pstack-claude

Path

plugins/pstack/skills/typescript-best-practices/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.