Provides TypeScript coding guidelines for Node.js ESM projects: strict mode, type safety, ESM imports, async/await, Zod validation, and common gotchas.
How this skill is triggered — by the user, by Claude, or both
Slash command
/xonovex-skill-typescript:typescript-guideThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- Node.js ESM, TypeScript ≥ 5.8, Vitest ≥ 3, Zod ≥ 4.
eval-queries.jsonevals.jsonreferences/async-without-await.mdreferences/avoid-eslint-disable.mdreferences/avoid-indirect-exports.mdreferences/env-access-bracket-notation.mdreferences/numeric-separator-enforcement.mdreferences/template-literals-require-string-conversion.mdreferences/unbound-method-references.mdreferences/unnecessary-async-keywords.md@ts-ignore without comment+issueunknown over any, derive from generated typesimport type for types, direct from source, see references/avoid-indirect-exports.mdasync with await, see references/async-without-await.md, references/unnecessary-async-keywords.mdconst/readonly where possibleString(value), see references/template-literals-require-string-conversion.md30_000), see references/numeric-separator-enforcement.mdthis binding, see references/unbound-method-references.mdprocess.env access, see references/env-access-bracket-notation.md{ a: string } accepts { a: string, b: number } silently — explicit satisfies is the way to catch unintended extrasas casts bypass the type system without check — prefer narrowing functions (type predicates) over caststype vs interface: interfaces merge across declarations, types don't — declare global { interface Window { … } } works, type Window = … doesn'tunknown is the safer any — but it doesn't propagate; narrowing once doesn't carry across assignmentstsconfig moduleResolution (bundler vs node16 vs nodenext) — wrong choice silently breaks deep importsGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.
npx claudepluginhub xonovex/platform --plugin xonovex-skill-typescript