Skip to main content
skill CX Codex

typescript · pymodel — Claude Code skill: TypeScript and tsconfig rules

A skill with 44 rules on types, tsconfig and async code. Useful when your agent edits compiler config or untangles heavy generics.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add PyModel/react-frontend-skills --skill typescript -a claude-code
Open on GitHub

What typescript does

The skill splits TypeScript work into 44 rules across eight categories: type system performance, compiler configuration, async patterns, module organization, type safety, memory, runtime optimization and advanced patterns. Each rule has a prefix (type-, tscfg-, async-, module-, safety-, mem-, runtime-, advanced-) and lives in its own file under references/. The agent pulls the file it needs when you ask about a specific spot.

The top categories are marked CRITICAL: explicit return types on exported functions, no deeply nested generics or oversized union types, conditional types extracted into named aliases, proper include and exclude, incremental builds, isolatedModules, project references. There is a separate entry for TypeScript 7 migration. Async and module rules follow: no await inside loops, Promise.all for independent calls, no barrel files, type-only imports.

Memory and runtime rules sit at MEDIUM and LOW-MEDIUM, and that ranking is fair. Cleaning up listeners and timers matters in long-lived processes, while advice like dropping object spread from a hot loop is worth applying only after you measure. The material targets TypeScript 7, so on an older compiler some config entries need adjusting to your version.

What it helps with

  • set up tsconfig.json for a new project
  • speed up declaration emit in a large codebase
  • find out why the compiler chokes on complex types
  • turn sequential await calls in a loop into parallel ones
  • stop memory leaks from listeners and timers that never get cleaned up

Example prompts for the agent

  • check my tsconfig.json against the typescript skill rules
  • why are our types slow to compile — walk the type- rules
  • rewrite this loop with await following the async- rules

How to install typescript

1Skills CLI (Vercel)

npx skills add PyModel/react-frontend-skills --skill typescript -a claude-code

2Manually: put the files in place

~/.claude/skills/typescript/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/typescript/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about typescript

How do I install the typescript skill in Claude?

Run npx skills add PyModel/react-frontend-skills --skill typescript -a claude-code. The skill file lands at ~/.claude/skills/typescript/SKILL.md.

What does the typescript skill do?

It hands your agent a rule set for types, compiler configuration, async code and module layout. Every rule is a separate file under references/, loaded when relevant.

Which TypeScript version do these rules target?

The material is written as TypeScript 7 compatible, with a dedicated entry on migrating configuration. On older compilers you will want to verify some compiler settings yourself.

Source text

SKILL.md · MIT
---
name: typescript
description: TypeScript types, tsconfig and TypeScript 7 migration.
---

# TypeScript Best Practices

Comprehensive TypeScript 7-compatible guide with 44 rules across 8 categories, covering compiler configuration, type-system performance, async code, modules, safety, and measured runtime optimization.

## When to Apply

Reference these guidelines when:
- Configuring tsconfig.json for a new or existing project
- Writing complex type definitions or generics
- Optimizing async/await patterns and data fetching
- Organizing modules and managing imports
- Reviewing code for compilation or runtime performance

## Rule Categories by Priority

| Priority | Category | Impact | Prefix |
|----------|----------|--------|--------|
| 1 | Type System Performance | CRITICAL | `type-` |
| 2 | Compiler Configuration | CRITICAL | `tscfg-` |
| 3 | Async Patterns | HIGH | `async-` |
| 4 | Module Organization | HIGH | `module-` |
| 5 | Type Safety Patterns | MEDIUM-HIGH | `safety-` |
| 6 | Memory Management | MEDIUM | `mem-` |
| 7 | Runtime Optimization | LOW-MEDIUM | `runtime-` |
| 8 | Advanced Patterns | LOW | `advanced-` |

## Table of Contents

1. Type System Performance — **CRITICAL**
   - 1.1 [Add Explicit Return Types to Exported Functions](references/type-explicit-return-types.md) — CRITICAL (faster declaration emit)
   - 1.2 [Avoid Deeply Nested Generic Types](references/type-avoid-deep-generics.md) — CRITICAL (prevents exponential instantiation cost)
   - 1.3 [Avoid Large Union Types](references/type-avoid-large-unions.md) — CRITICAL (quadratic O(n²) comparison cost)
   - 1.4 [Extract Conditional Types to Named Aliases](references/type-extract-conditional-types.md) — CRITICAL (enables compiler caching, prevents re-evaluation)
   - 1.5 [Limit Type Recursion Depth](references/type-limit-recursion-depth.md) — CRITICAL (prevents exponential type expansion)
   - 1.6 [Prefer Interfaces Over Type Intersections](references/type-interfaces-over-intersections.md) — CRITICAL (faster type resolution)
   - 1.7 [Simplify Complex Mapped Types](references/type-simplify-mapped-types.md) — CRITICAL (reduces type computation)
2. Compiler Configuration — **CRITICAL**
   - 2.1 [Configure Include and Exclude Properly](references/tscfg-exclude-properly.md) — CRITICAL (prevents scanning thousands of unnecessary files)
   - 2.2 [Enable Incremental Compilation](references/tscfg-enable-incremental.md) — CRITICAL (faster rebuilds)
   - 2.3 [Choose skipLibCheck Deliberately](references/tscfg-skip-lib-check.md) — CRITICAL (faster compilation)
   - 2.4 [Enable strictFunctionTypes for Sound Function Assignments](references/tscfg-strict-function-types.md) — CRITICAL (enables optimized variance checking)
   - 2.5 [Use isolatedModules for Single-File Transpilers](references/tscfg-isolate-modules.md) — CRITICAL (faster transpilation with bundlers)
   - 2.6 [Use Project References for Large Codebases](references/tscfg-project-references.md) — CRITICAL (faster incremental builds)
   - 2.7 [Migrate TypeScript 7 Configuration Deliberately](references/tscfg-typescript-7.md) — CRITICAL
3. Async Patterns — **HIGH**
   - 3.1 [Annotate Async Function Return Types](references/async-explicit-return-types.md) — HIGH (prevents runtime errors, improves inference)
   - 3.2 [Avoid await Inside Loops](references/async-avoid-loop-await.md) — HIGH (scales linearly with the number of iterations)
   - 3.3 [Avoid Unnecessary async/await](references/async-avoid-unnecessary-async.md) — HIGH (eliminates microtask queue overhead)
   - 3.4 [Defer await Until Value Is Needed](references/async-defer-await.md) — HIGH (enables implicit parallelization)
   - 3.5 [Use Promise.all for Independent Operations](references/async-parallel-promises.md) — HIGH (improvement in I/O-bound code)
4. Module Organization — **HIGH**
   - 4.1 [Avoid Barrel File Imports](references/module-avoid-barrel-imports.md) — HIGH (import cost, larger bundles)
   - 4.2 [Avoid Circular Dependencies](references/module-avoid-circular-dependencies.md) — HIGH (prevents runtime undefined errors and slow compilation)
   - 4.3 [Control @types Package Inclusion](references/module-control-types-inclusion.md) — HIGH (prevents type conflicts and reduces memory usage)
   - 4.4 [Use Dynamic Imports for Large Modules](references/module-dynamic-imports.md) — HIGH (reduces initial bundle)
   - 4.5 [Use Type-Only Imports for Types](references/module-use-type-imports.md) — HIGH (eliminates runtime imports for type information)
5. Type Safety Patterns — **MEDIUM-HIGH**
   - 5.1 [Enable strictNullChecks](references/safety-strict-null-checks.md) — MEDIUM-HIGH
   - 5.2 [Prefer unknown Over any](references/safety-prefer-unknown-over-any.md) — MEDIUM-HIGH
   - 5.3 [Use Assertion Functions for Validation](references/safety-assertion-functions.md) — MEDIUM-HIGH
   - 5.4 [Use const Assertions for Literal Types](references/safety-const-assertions.md) — MEDIUM-HIGH
   - 5.5 [Use Exhaustive Checks for Union Types](references/safety-exhaustive-checks.md) — MEDIUM-HIGH
   - 5.6 [Use Type Guards for Runtime Type Checking](references/safety-use-type-guards.md) — MEDIUM-HIGH
6. Memory Management — **MEDIUM**
   - 6.1 [Avoid Closure Memory Leaks](references/mem-avoid-closure-leaks.md) — MEDIUM (prevents retained references in long-lived callbacks)
   - 6.2 [Avoid Global State Accumulation](references/mem-avoid-global-state.md) — MEDIUM (prevents unbounded memory growth)
   - 6.3 [Clean Up Event Listeners](references/mem-cleanup-event-listeners.md) — MEDIUM (prevents unbounded memory growth)
   - 6.4 [Clear Timers and Intervals](references/mem-clear-timers.md) — MEDIUM (prevents callback retention and repeated execution)
   - 6.5 [Use WeakMap for Object Metadata](references/mem-use-weakmap-for-metadata.md) — MEDIUM (prevents memory leaks, enables automatic cleanup)
7. Runtime Optimization — **LOW-MEDIUM**
   - 7.1 [Avoid Object Spread in Hot Loops](references/runtime-avoid-object-spread-in-loops.md) — LOW-MEDIUM
   - 7.2 [Hoist Loop-Invariant Work in Measured Hot Paths](references/runtime-cache-property-access.md) — LOW-MEDIUM
   - 7.3 [Prefer Native Array Methods Over Lodash](references/runtime-prefer-array-methods.md) — LOW-MEDIUM
   - 7.4 [Use for-of for Simple Iteration](references/runtime-use-for-of-for-iteration.md) — LOW-MEDIUM
   - 7.5 [Use Modern String Methods](references/runtime-use-string-methods.md) — LOW-MEDIUM
   - 7.6 [Use Set/Map for O(1) Lookups](references/runtime-use-set-for-lookups.md) — LOW-MEDIUM
8. Advanced Patterns — **LOW**
   - 8.1 [Use Branded Types for Type-Safe IDs](references/advanced-branded-types.md) — LOW (prevents mixing incompatible ID types)
   - 8.2 [Use satisfies for Type Validation with Inference](references/advanced-satisfies-operator.md) — LOW (prevents property access errors, enables reliable autocomplete)
   - 8.3 [Use Template Literal Types for String Patterns](references/advanced-template-literal-types.md) — LOW (prevents string format errors at compile time)

## How to Use

Run in the project root first:

```bash
npx -y @pymodel/react-frontend-skills detect                   # installed vs. targeted versions
npx -y @pymodel/react-frontend-skills scan --skill typescript  # deprecated APIs → rule IDs
```

Read `references/<rule-id>.md` for each rule above that matches the task and for each `scan` hit: why it matters, then incorrect vs. correct code.

## References

1. [https://github.com/microsoft/TypeScript/wiki/Performance](https://github.com/microsoft/TypeScript/wiki/Performance)
2. [https://www.typescriptlang.org/docs/handbook/](https://www.typescriptlang.org/docs/handbook/)
3. [https://v8.dev/blog](https://v8.dev/blog)
4. [https://nodejs.org/en/learn/diagnostics/memory](https://nodejs.org/en/learn/diagnostics/memory)

© PyModel · MIT · PyModel/react-frontend-skills

Similar skills

All skills for Programming languages →

typescript by other authors comes first.

typescript gentleman-programming A skill that hands your agent a fixed set of strict TypeScript rules: const objects instead of union types, flat interfaces, no any. Useful when AI writes the code and you want one style. CX Codex +1 496installs typescript alinaqi Tells the agent how to write and check TypeScript: strict tsconfig, ESLint config, Jest tests and a layered project layout. Kicks in on .ts and .tsx files. CX Codex +1 313installs typescript Mindrally Enforces strict TypeScript standards and functional code patterns in your AI assistant. It bans any, replaces enums with maps, and caps function length at 20 lines. CX Codex +1 955installs typescript-discriminated-unions mkosir Guides coding agents to apply discriminated unions in TypeScript, eliminating invalid states and enabling exhaustiveness checks. CX Codex +1 3,800installs typescript-pro https://github.com/Jeffallan Implements advanced TypeScript type systems, branded types, and tRPC configurations. Use it when building type-first APIs or complex discriminated unions. CX Codex +1 14,200installs typescript-magician mcollina Resolves TypeScript compiler errors, eliminates any types, and creates strict generic patterns. Useful when locking down codebase type safety. CX Codex +1 2,800installs typescript-advanced-types sickn33 Teaches the agent generics, conditional and mapped types in TypeScript, and stays honest about where type checking stops. CX Codex +1 1,300installs typescript-core bobmatnyc A skill with modern TypeScript patterns: a strict tsconfig, runtime validation, advanced types. Useful once a TS codebase outgrows its type setup. CX Codex +1 475installs typescript-quality claude-dev-suite A skill for TypeScript and JavaScript code quality: ESLint, Biome and strict tsconfig setups. Useful when lint rules pile up and types start drifting. CX Codex +1 1,100installs

From the same set9

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor