typescript-typecheck
typescript-typecheck — SKILL.md
Variant: standard · When to use: the skill is invoked, runs to completion, returns a configured type-check gate (tsconfig + scripts + CI step), control passes back to the caller.
Overview
TypeScript's compiler (tsc) is the only tool that actually checks types. Bundlers and transpilers in a typical TS toolchain — Vite (esbuild in dev, Rollup in prod) and the SWC-based React plugin — transpile/strip type annotations without checking them. That means vite build (or any esbuild/SWC build) compiles successfully even when the code is full of type errors. This skill sets up the missing piece: a dedicated tsc --noEmit type-check gate that runs locally and in CI, backed by a genuinely strict tsconfig, plus TypeScript project references so cross-package types resolve in a monorepo. It is the type-system analog of a separate static-analysis gate — a linter (Biome/ESLint) finds style and bug patterns but has no type system and cannot do this job. Pinned to TypeScript 5.x. Verified flag list and worked examples live in references/.
When to activate
- ✅ Setting up TypeScript type-checking for a project for the first time (a
typecheckscript + CI step). - ✅ Writing or tightening a
tsconfig.jsonand wanting it genuinely strict (not juststrict: true). - ✅ Configuring
moduleResolution: "bundler"for a Vite/esbuild/bundler app and getting the companion flags right. - ✅ Setting up TypeScript project references (
composite,references,tsc -b) so an app package can consume a library/generated package's types in a monorepo. - ✅ Adding a CI type-check gate (e.g. GitHub Actions with pnpm) that fails the build on a type error the bundler would have ignored.
Do NOT activate when: