{
  "id": "typescript-type-soundness",
  "name": "typescript-type-soundness",
  "version": "0.1.0",
  "type": "skill",
  "provider": "typescript",
  "harnesses": [
    "codex",
    "claude-code",
    "cursor",
    "gemini",
    "kiro",
    "other"
  ],
  "summary": "Static review of type-level soundness in shared or published TypeScript code: generic variance, conditional and mapped type correctness, type predicates that assert more than they check, unsound narrowing, `satisfies` versus an explicit annotation, branded and nominal modelling, and `unknown`-first discipline. Reads source and sanitized `tsconfig.json` only.",
  "source_type": "original",
  "official_docs": [
    "https://www.typescriptlang.org/tsconfig",
    "https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/",
    "https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/"
  ],
  "security_notes": "Static review only — reads TypeScript/JavaScript source and sanitized `tsconfig.json`; never compiles, type-checks, builds, runs, publishes, or contacts a live system, and never requests secrets, credentials, tokens, or customer data. A claim about the installed compiler version or actual runtime behavior not shown in the supplied artifacts is labelled assumption, never confirmed.",
  "last_verified": "2026-08-13",
  "path": "skills/typescript/typescript-type-soundness",
  "author": "github: VincentChuWaiChow"
}
