Skip to main content

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.

Stars
27,681
Source
davila7/claude-code-templates
Updated
2026-05-31
Slug
davila7--claude-code-templates--lint-and-validate
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/davila7/claude-code-templates/HEAD/cli-tool/components/skills/development/lint-and-validate/SKILL.md -o .claude/skills/lint-and-validate.md

Drops the SKILL.md into .claude/skills/lint-and-validate.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

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

Script Purpose Command
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>