name: lint-and-validate
description: 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.
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
- Lint/Fix:
npm run lint or npx eslint "path" --fix
- Types:
npx tsc --noEmit
- Security:
npm audit --audit-level=high
Python
- Linter (Ruff):
ruff check "path" --fix (Fast & Modern)
- Security (Bandit):
bandit -r "path" -ll
- Types (MyPy):
mypy "path"
The Quality Loop
- Write/Edit Code
- Run Audit:
npm run lint && npx tsc --noEmit
- Analyze Report: Check the "FINAL AUDIT REPORT" section.
- 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> |