CtrlK
BlogDocsLog inGet started
Tessl Logo

mcollina/linting-neostandard-eslint9

Configures ESLint v9 flat config and neostandard for JavaScript and TypeScript projects, including migrating from legacy `.eslintrc*` files or the `standard` package. Use when you need to set up or fix linting with `eslint.config.js` or `eslint.config.mjs`, troubleshoot lint errors, configure neostandard rules, migrate from `.eslintrc` to flat config, or integrate linting into CI pipelines and pre-commit hooks.

96

1.25x
Quality

95%

Does it follow best practices?

Impact

97%

1.25x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-2/

{
  "context": "Tests whether the agent correctly sets up CI linting (without auto-fix, using npm run lint) and pre-commit hooks (with lint-staged running eslint --fix on changed files only), with Node.js version alignment.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "CI uses npm run lint",
      "description": "The CI workflow runs linting via 'npm run lint' (not 'npx eslint .' or 'eslint .' directly as a shell command)",
      "max_score": 12
    },
    {
      "name": "CI no --fix flag",
      "description": "The CI workflow does NOT pass --fix to any eslint command (no auto-fix in CI)",
      "max_score": 12
    },
    {
      "name": "CI Node.js version 20",
      "description": "The CI workflow specifies Node.js version 20 (matching the stated production version)",
      "max_score": 8
    },
    {
      "name": "lint-staged used",
      "description": "package.json includes a 'lint-staged' configuration (not a raw pre-commit shell script linting all files)",
      "max_score": 12
    },
    {
      "name": "lint-staged targets JS/TS extensions",
      "description": "The lint-staged config targets file extensions including .js (and optionally .mjs, .cjs, .ts etc.) — not all files",
      "max_score": 8
    },
    {
      "name": "pre-commit runner is eslint",
      "description": "The lint-staged command uses 'eslint --fix' (not 'neostandard' or 'standard') as the lint runner",
      "max_score": 12
    },
    {
      "name": "lint-staged devDependency",
      "description": "package.json devDependencies includes 'lint-staged'",
      "max_score": 8
    },
    {
      "name": "husky or equivalent hook setup",
      "description": "A pre-commit hook tool (e.g. husky, simple-git-hooks) is configured to run lint-staged on commit",
      "max_score": 8
    },
    {
      "name": "CI lint is required step",
      "description": "The CI workflow file contains a lint job or step that would fail the workflow if lint fails (not just a warning or informational step)",
      "max_score": 10
    },
    {
      "name": "SETUP.md documents hook setup",
      "description": "SETUP.md exists and includes instructions for a developer to initialize the pre-commit hooks locally (e.g. npm install + hook initialization command)",
      "max_score": 10
    }
  ]
}

evals

SKILL.md

tile.json