review-typescriptlisted
Install: claude install-skill nielsmadan/skills
<!-- Generated from https://github.com/nielsmadan/agentic-coding — edits here are overwritten. -->
# Review TypeScript
TypeScript review that covers what a **type-aware linter cannot decide for you** — how types are *modeled*, when to *annotate vs infer*, and whether a cast or `any` is papering over a design problem. These are judgment calls; the mechanical rules are ESLint's job.
## Relationship to typescript-eslint (read first)
**This skill assumes `typescript-eslint` handles the mechanical layer.** Do NOT re-flag anything a lint rule catches — that's noise and it duplicates CI. Specifically, do **not** report:
- Redundant/unnecessary assertions (`no-unnecessary-type-assertion`), explicit `any` (`no-explicit-any`), unsafe `any` flow (`no-unsafe-*`), non-null `!` (`no-non-null-assertion`)
- `@ts-ignore`/`@ts-expect-error` without a reason (`ban-ts-comment`)
- Floating/misused promises, `await`-thenable, throw/reject non-Error (`no-floating-promises`, `no-misused-promises`, `only-throw-error`)
- Dangerous built-ins `Function`/`{}`/wrapper objects (`no-unsafe-function-type`, `no-empty-object-type`, `no-wrapper-object-types`)
- Truthiness/nullish traps, `??` vs `||`, template-expression coercion (`strict-boolean-expressions`, `prefer-nullish-coalescing`, `restrict-template-expressions`)
- `import type`, `prefer-as-const`, trivially-inferrable annotations (`consistent-type-imports`, `prefer-as-const`, `no-inferrable-types`)
- Always-true/false conditions, single-use generic