Claude-code-templates lint-and-validate

Automatic quality control, linting, and static analysis procedures. Use after every code modification to ensure syntax correctness and project standards. Triggers onKeywords: lint, format, check, validate, types, static analysis.

install
source · Clone the upstream repo
git clone https://github.com/davila7/claude-code-templates
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/davila7/claude-code-templates "$T" && mkdir -p ~/.claude/skills && cp -r "$T/cli-tool/components/skills/development/lint-and-validate" ~/.claude/skills/davila7-claude-code-templates-lint-and-validate && rm -rf "$T"
manifest: cli-tool/components/skills/development/lint-and-validate/SKILL.md
source content

Lint and Validate Skill

MANDATORY: Run appropriate validation tools after EVERY code change. Do not finish a task until the code is error-free.

Procedures by Ecosystem

Node.js / TypeScript

  1. Lint/Fix:
    npm run lint
    or
    npx eslint "path" --fix
  2. Types:
    npx tsc --noEmit
  3. Security:
    npm audit --audit-level=high

Python

  1. Linter (Ruff):
    ruff check "path" --fix
    (Fast & Modern)
  2. Security (Bandit):
    bandit -r "path" -ll
  3. Types (MyPy):
    mypy "path"

The Quality Loop

  1. Write/Edit Code
  2. Run Audit:
    npm run lint && npx tsc --noEmit
  3. Analyze Report: Check the "FINAL AUDIT REPORT" section.
  4. Fix & Repeat: Submitting code with "FINAL AUDIT" failures is NOT allowed.

Error Handling

  • If
    lint
    fails: Fix the style or syntax issues immediately.
  • If
    tsc
    fails: Correct type mismatches before proceeding.
  • If no tool is configured: Check the project root for
    .eslintrc
    ,
    tsconfig.json
    ,
    pyproject.toml
    and suggest creating one.

Strict Rule: No code should be committed or reported as "done" without passing these checks.


Scripts

ScriptPurposeCommand
scripts/lint_runner.py
Unified lint check
python scripts/lint_runner.py <project_path>
scripts/type_coverage.py
Type coverage analysis
python scripts/type_coverage.py <project_path>