
Migrate Oxlint
Migrating from ESLint to Oxlint means dealing with config translation, plugin mapping, and figuring out which rules didn't make the cut. This skill wraps the official @oxlint/migrate tool and walks you through the whole process: running the migration, reviewing the generated .oxlintrc.json, handling the dozen or so ESLint plugins that have native Oxlint equivalents, and dealing with edge cases like local plugins or type-aware rules. The tables mapping ESLint plugins to Oxlint's built-in ones are genuinely helpful. It's thorough about the stuff that breaks, like eslint-plugin-prettier being supported but slow, and settings blocks not working in overrides. Good for teams actually making the switch, not just kicking the tires.
- skills.sh installs
- 7.8K
- GitHub stars
- 23.4K
- last updated
- Aug 21, 2026
Install
$ npx -y skills add oxc-project/oxc --skill migrate-oxlint --agent claude-codeInstalls into .claude/skills of the current project.
Files
This skill guides you through migrating a JavaScript/TypeScript project from ESLint to Oxlint.
Overview
Oxlint is a high-performance linter that implements many popular ESLint rules natively in Rust. It can be used alongside ESLint or as a full replacement.
An official migration tool is available, and will be used by this skill: @oxlint/migrate
Step 1: Run Automated Migration
Run the migration tool in the project root:
npx @oxlint/migrate
This reads your ESLint flat config (eslint.config.js for example) and generates a .oxlintrc.json file from it. It will find your ESLint config file automatically in most cases.
See options below for more info.
Key Options
Sponsors
Details
- Repository
- github.com/oxc-project/oxc
- Category
- Documentation