About lint-and-validate
A coding skill that prescribes linting, type checks, and security audits after code changes. It provides commands for Node.js/TypeScript and Python projects, plus a repeat-and-fix quality loop.
Key features
- 01Node.js and TypeScript linting
- 02TypeScript type checks
- 03Python linting and type checks
- 04Security audit commands
- 05Repeatable fix-and-validate loop
Use cases
- 01Validate code after edits
- 02Check TypeScript projects before completion
- 03Run Python lint and security checks
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill lint-and-validateAfter installing, type/lint-and-validatein Claude Code to confirm it loaded.
Bundled filesscripts/lint_runner.pyscripts/type_coverage.py
Details
From the project READMELint 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 lintornpx 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
lintfails: Fix the style or syntax issues immediately. - If
tscfails: Correct type mismatches before proceeding. - If no tool is configured: Check the project root for
.eslintrc,tsconfig.json,pyproject.tomland 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> |
Comments
Markdown supported