debt-taxonomy-typescriptlisted
Install: claude install-skill johantor/zion
# Debt taxonomy — TypeScript / JavaScript
Apply this skill when `debt-taxonomy` stack detection finds a JS/TS project (`package.json`,
`tsconfig.json`, `.eslintrc*`, `biome.json`) — this covers any JavaScript/TypeScript code,
whether a React frontend or a Node backend/CLI. The React-specific rows below apply only when
React is present. The rubric, the justified-suppression filter, the blast-radius gate and the
upgrade workflow are in the core skill; this skill supplies the JS/TS rows they consume.
## Suppression mechanisms
One row per mechanism: its scope, where a keep-decision lives, what a grep-only pass reads as
"likely stale" (audit's `stale` scope never compiles — `/crew:debt` proves a candidate with a
lint or `tsc --noEmit` pass), and how a worker removes it. Most JS/TS mechanisms have a native
justification slot, so no crew-specific syntax is needed.
| Mechanism | Scope | Justification slot | Stale signal (grep-only) | Removal |
|---|---|---|---|---|
| `// eslint-disable-next-line <rule>` | Next line | ESLint's `--` description (v7+): `// eslint-disable-next-line no-explicit-any -- vendor payload is genuinely untyped` | The next line no longer contains the rule's syntactic trigger (`no-explicit-any` over a line with no `any`; `no-unused-vars` over an identifier referenced elsewhere in the file) | Delete the comment; re-lint the file |
| `// eslint-disable <rule>` … `// eslint-enable` | Block | The same `--` description on the `disable` | The surrounded block has no