typescript-expert

Diagnose and resolve TypeScript type errors, performance issues, and monorepo configuration problems.

Updated May 12, 2026
One-click install
npx skills add https://github.com/laionazeredo/che-ai --skill typescript-expert-laionazeredo
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: typescript-expert
Source: https://github.com/laionazeredo/che-ai/tree/main/skills/typescript-expert
Command: npx skills add https://github.com/laionazeredo/che-ai --skill typescript-expert-laionazeredo

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? TypeScript projects accumulate hard-to-diagnose issues: cryptic type errors, slow compilation, module resolution failures, and inconsistent tooling across monorepos. This Skill provides expert-level guidance to analyze project setup, fix type-level problems, optimize compiler performance, and execute migrations without breaking existing code. ## Core Features & Use Cases - Project Diagnostics: Runs an automated diagnostic script that checks TypeScript/Node versions, tsconfig strictness flags, tooling ecosystem (Biome, ESLint, Vitest, Nx, Turborepo), monorepo setup, any usage, and type-check performance. - Type-Level Programming Guidance: Covers branded types, conditional types, template literal types, deep readonly patterns, and type testing with Vitest, backed by a reusable utility-types reference library. - Migration & Tooling Decisions: Provides decision matrices for Biome vs ESLint, Nx vs Turborepo, CJS-to-ESM migration, and incremental JavaScript-to-TypeScript migration strategies. - Framework Patterns: Includes opinionated patterns for MedusaJS v2 modules/workflows and Payload CMS collections with Zod validation. - Use Case: A developer hits "Type instantiation is excessively deep" in a 50-package monorepo. The Skill diagnoses the recursive type, suggests interface-based fixes, verifies project references configuration, and validates with tsc --noEmit. ## Quick Start Ask the agent to diagnose your TypeScript project setup and fix the type errors in your current repository.

Frequently Asked Questions about typescript-expert

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix slow TypeScript type checking in a large project?▼

Enable skipLibCheck and incremental compilation in tsconfig, configure precise include/exclude patterns, and use project references with composite builds for monorepos. Run tsc --extendedDiagnostics to identify whether check time, file count, or node count is the bottleneck.

How to migrate a JavaScript project to TypeScript incrementally?▼

Enable allowJs and checkJs in tsconfig, then rename files from .js to .ts gradually while adding types file by file. Enable strict mode flags one at a time, and optionally use ts-migrate or typesync to automate parts of the conversion.

Biome vs ESLint: which should I use for TypeScript linting?▼

Choose Biome when speed is critical and you want a single tool for linting and formatting in a TypeScript-first project. Stay with ESLint when you need type-aware linting, specific plugins, custom rules, or Vue/Angular support.

Why does TypeScript say 'the inferred type cannot be named'?▼

This error comes from a missing type export or a circular dependency between modules. Fix it by explicitly exporting the required type, using ReturnType<typeof fn> helpers, or breaking cycles with type-only imports.

Do TypeScript path aliases work at runtime in Node.js?▼

No, tsconfig paths only apply at compile time. For runtime resolution use ts-node with tsconfig-paths/register during development, or pre-compile with resolved paths for production builds.

When should I use branded types in TypeScript?▼

Use branded types for critical domain primitives like UserId or OrderId where mixing plain strings would cause bugs. They create nominal typing at API boundaries and for units or currencies, preventing accidental interchange of same-shaped values.