CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

typescript

Modern TypeScript conventions for library-agnostic code — strict mode, naming, type annotations, the type system (generics, utility types, conditional and mapped types), discriminated unions, error handling, async patterns, immutability, and project structure. Use when the user asks to "write TypeScript code", "create a TypeScript module", "define TypeScript types", "add type annotations", "use generics", "handle errors in TypeScript", "set up tsconfig" or "organize a TypeScript project", or whenever writing any TypeScript that is not tied to a specific library or framework. Does not cover React or other UI frameworks (react-best-practices, react-feature-sliced-design), CLI packaging and npm publishing (npx-package), plain JavaScript with no types, or service-specific APIs such as DynamoDB (aws-dynamodb-best-practices).

Quality

94%

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

The canonical home for this skill is typescript-development in provectus/awos-recruitment

SKILL.md
Quality
Evals
Security

Quality

Content

92%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-crafted conventions skill: fully executable examples, tight rule statements that assume competence, and a clean one-level-deep reference structure whose cited files and sections all check out. The only notable inefficiency is the closing quick-reference table, which largely duplicates rules already demonstrated in the body sections.

Suggestions

Trim or cut the 'Quick Reference: Common Mistakes' table — most of its rows restate rules already shown with code examples earlier, so it spends tokens on duplicate guidance.

DimensionReasoningScore

Conciseness

The body is dense and assumes Claude's competence — terse rule statements ("Always enable strict: true... Never disable individual strict flags"), compact tables, and short code examples with no concept tutorials. It is not a 5 because the "Quick Reference: Common Mistakes" table restates rules already given with examples in earlier sections (any→unknown, enum→as const, strict, readonly, ESM .js), which is duplicated content that could be trimmed. It is above 3 because the rest of the body has essentially no over-explanation or padding.

4 / 5

Actionability

Every section gives executable, copy-paste-ready TypeScript: the unknown-narrowing parse function, the exhaustive LoadingState<T> switch, the as-const Status object with derived union, the Promise.all fetch example, and the correct/wrong ESM import pair. Examples cover the common cases and rules are stated as concrete dos and don'ts, matching the top anchor; nothing is pseudocode or hand-wavy.

5 / 5

Workflow Clarity

This is a conventions/reference skill with no multi-step or destructive process, so the simple-skill guidance applies: the single action (apply these conventions to all TypeScript code) is unambiguous, sections are clearly organized by topic, and navigation is explicitly sequenced ("Each topic lives in exactly one file — open the one that owns it") with a per-file topic map. No validation checkpoints are required since no batch or destructive operations exist, so nothing caps the score.

5 / 5

Progressive Disclosure

The body is a lean overview with well-signaled, one-level-deep references: all four cited files exist, and spot-checks confirm the cited sections are real (Assertion Functions and Error Handling Patterns in patterns.md, Discriminated Unions in type-system.md, Import Organization in project-structure.md). Inline pointers appear at the point of need ("defined in references/patterns.md") and the Additional Resources section gives a one-line ownership map per file, so content is appropriately split and easy to navigate. No nested references or orphaned pointers.

5 / 5

Total

19

/

20

Passed

Description

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

An exemplary description: concrete topic enumeration, an explicit "Use when" clause with quoted natural trigger phrases, a broad catch-all condition, and explicit exclusions that delimit it against sibling skills. The only minor gap is the absence of file-extension terms (.ts/.tsx) and a few shorthand synonyms in the trigger list.

Suggestions

Add .ts/.tsx file-extension mentions and one or two shorthand phrasings (e.g. "add types to my project", "migrate to TypeScript") to the trigger list to reach full synonym and extension coverage.

DimensionReasoningScore

Specificity

The description enumerates concrete, comprehensive coverage of the domain — "strict mode, naming, type annotations, the type system (generics, utility types, conditional and mapped types), discriminated unions, error handling, async patterns, immutability, and project structure" — matching the top anchor's multiple specific concrete items with comprehensive coverage. It is not the level below (4) because no meaningful topic area of library-agnostic TypeScript conventions is left uncovered.

5 / 5

Completeness

It explicitly answers both questions: the "what" is the enumerated convention areas, and the "when" is a concrete "Use when the user asks to..." clause with literal trigger phrases plus a catch-all ("or whenever writing any TypeScript that is not tied to a specific library or framework"). This matches the 5 anchor verbatim in structure; it exceeds 4 because the "when" is fully explicit, not merely present.

5 / 5

Trigger Term Quality

Quoted trigger phrases like "write TypeScript code", "define TypeScript types", "add type annotations", "use generics", "handle errors in TypeScript", and "set up tsconfig" are exactly what a user would naturally say, giving good-to-excellent keyword coverage. It falls short of the 5 anchor only because a few natural terms are missing — no file extensions (.ts/.tsx) and no shorthand synonyms like "TS" or "add types to".

4 / 5

Distinctiveness Conflict Risk

A clear niche ("library-agnostic" TypeScript language conventions) with distinct triggers and minimal conflict risk, reinforced by explicit exclusions naming sibling skills: "Does not cover React or other UI frameworks (react-best-practices, react-feature-sliced-design), CLI packaging and npm publishing (npx-package), plain JavaScript with no types, or service-specific APIs such as DynamoDB". The exclusion boundary rules out the overlap scenarios that would justify a 4.

5 / 5

Total

19

/

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

provectus/awos-recruitment

Path

.claude/skills/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.