What problem does it solve? Setting up modern linting is confusing: ESLint v9 replaced legacy .eslintrc* files with flat config, the standard package is outdated, and teams struggle to migrate without breaking CI. This Skill provides accurate, step-by-step guidance for configuring eslint@9 with neostandard and migrating safely from legacy setups. ## Core Features & Use Cases - Flat Config Setup: Install eslint@9 and neostandard, generate eslint.config.js or eslint.config.mjs, and verify with npx eslint .. - Migration Paths: Migrate from the standard package using npx neostandard --migrate, or from legacy .eslintrc* files using a low-risk checklist with parity validation. - CI & Editor Integration: Add lint/lint:fix package scripts, wire linting into CI as a non-fix quality gate, configure lint-staged pre-commit hooks, and set up VS Code auto-fix on save. - Use Case: A team inherits a project still running standard with .eslintrc.json. Use this Skill to generate a neostandard flat config, replace lint scripts with eslint ., and enforce linting in CI without mixing legacy and flat config. ## Quick Start Set up ESLint v9 with neostandard flat config in my JavaScript project and add lint scripts to package.json.