lint-and-validate

Runs linters, type checkers, and type coverage analysis for Node.js and Python projects.

2|Updated May 30, 2026
One-click install
npx skills add https://github.com/virahitvin8/crafty-gis --skill lint-and-validate-virahitvin8
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: lint-and-validate
Source: https://github.com/virahitvin8/crafty-gis/tree/main/GIT_STAR/.agent/skills/lint-and-validate
Command: npx skills add https://github.com/virahitvin8/crafty-gis --skill lint-and-validate-virahitvin8

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Code changes often ship with syntax errors, type mismatches, or style violations because developers skip running linters and type checkers. This Skill enforces a mandatory quality loop after every code modification so no code is reported as done while lint or type errors remain. ## Core Features & Use Cases - Unified Lint Runner: Detects project type (Node.js or Python) and automatically runs the right tools such as ESLint, TypeScript compiler, Ruff, and MyPy via scripts/lint_runner.py. - Type Coverage Analysis: Measures TypeScript and Python type hint coverage, counts any/Any usage, and flags untyped functions with scripts/type_coverage.py. - Use Case: After editing a TypeScript module, ask the assistant to validate the project; it runs npm run lint and npx tsc --noEmit, reports pass/fail per check, and blocks completion until all checks pass. ## Quick Start Run the lint and validation checks on this project and fix any errors that are reported.

Frequently Asked Questions about lint-and-validate

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run ESLint and TypeScript checks together on a project?

Run the lint_runner.py script with the project path as argument. It detects package.json, executes npm run lint or npx eslint, then runs npx tsc --noEmit, and reports a pass/fail summary for each check.

How to measure type coverage in TypeScript and Python code?

Use the type_coverage.py script, which scans .ts, .tsx, and .py files to count any/Any usage and untyped functions. It reports a coverage percentage and exits with an error code when coverage falls below acceptable thresholds.

What linters does the lint runner support for Python projects?

For Python projects it runs Ruff for linting and MyPy for type checking when pyproject.toml or requirements.txt is present. It detects configuration files like mypy.ini to decide which checks to execute.

Does the lint runner work on Windows?

Yes, the script handles Windows by appending .cmd to npm and npx commands and enabling shell execution for path resolution. It also reconfigures console encoding to UTF-8 to avoid Unicode output errors.

Why does the lint runner report no linters found?

This happens when the project lacks package.json, pyproject.toml, or requirements.txt, so no project type can be detected. Add the appropriate configuration file or install a linter such as ESLint or Ruff to enable checks.