Claude-skill-registry add-strict-checks

Enable stricter TypeScript and linting checks to catch bugs early, especially useful when iterating with AI assistance.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/add-strict-checks" ~/.claude/skills/majiayu000-claude-skill-registry-add-strict-checks && rm -rf "$T"
manifest: skills/data/add-strict-checks/SKILL.md
source content

Add Strict Checks

Goal: Enable stricter TypeScript compiler options and linting to catch bugs that standard TypeScript misses.


Task 1: Add Stricter Compiler Options

Add these additional strict options to

tsconfig.json
under
compilerOptions
:

{
  "compilerOptions": {
    // ... existing options ...

    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "noImplicitOverride": true,
    "forceConsistentCasingInFileNames": true,
    "exactOptionalPropertyTypes": true,
    "useUnknownInCatchVariables": true
  }
}

Task 2: Add Check Script

Add a check script to

package.json
:

{
  "scripts": {
    "typecheck:app": "tsc --noEmit -p tsconfig.check.json",
    "typecheck:tests": "tsc --noEmit -p tsconfig.test.json",
    "check": "biome check . && npm run typecheck:app && npm run typecheck:tests"
  }
}

Task 3: Fix All Issues

Run

npm run check:write && npm run check
in a loop, fixing issues until it passes.

IMPORTANT: NEVER disable any checks:

  • NEVER disable any biome checks,
  • NEVER edit tsconfig.json to remove or disable a check
  • NEVER edit tsconfig.check.json to remove or disable a check
  • NEVER edit package.json to remove a check from a script

NEVER disable checks, even temporarily for any reason (including for easier work with third-party libraries)

Instead, fix the code to not violate the check.


Task 4: Update CLAUDE.md

Update the "Before Committing" section to include

npm run check
:

npm test && npm run check

If tests aren't set up yet, just use:

npm run check

Task 5: Commit

Ask the user if they want to commit the changes.


Task 6: Offer Further Hardening

Ask the user: "Would you like to add backend testing as well? This sets up integration tests with an isolated test database."

If yes, follow the

add-backend-testing
skill.