Automated migration guide from ESLint to Oxlint with rule mapping and configuration review.
Works with
Uses the official @oxlint/migrate tool to automatically convert ESLint flat configs to .oxlintrc.json , with options for type-aware rules, experimental rules, and plugin migration
Maps 13+ popular ESLint plugins (TypeScript, React, Import, Unicorn, Jest, etc.) to built-in oxlint equivalents; unmigrated rules can be identified with --details
Covers manual handling of unsupported features: local
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionmigrate-oxlintExecute the skills CLI command in your project's root directory to begin installation:
Fetches migrate-oxlint from oxc-project/oxc and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate migrate-oxlint. Access via /migrate-oxlint in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
1
total installs
1
this week
20.6K
GitHub stars
0
upvotes
Run in your terminal
1
installs
1
this week
20.6K
stars
This skill guides you through migrating a JavaScript/TypeScript project from ESLint to Oxlint.
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
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.
| Option | Description |
|---|---|
--type-aware |
Include type-aware rules from @typescript-eslint (will require the oxlint-tsgolint package to be installed after migrating) |
--with-nursery |
Include experimental rules still under development, may not be fully stable or consistent with ESLint equivalents |
--js-plugins [bool] |
Enable/disable ESLint plugin migration via jsPlugins (default: enabled) |
--details |
List rules that could not be migrated |
--replace-eslint-comments |
Convert all // eslint-disable comments to // oxlint-disable |
--output-file <file> |
Specify a different output path (default: .oxlintrc.json) |
If your ESLint config is not at the default location, pass the path explicitly:
npx @oxlint/migrate ./path/to/eslint.config.js
After migration, review the generated .oxlintrc.json.
The migration tool automatically maps ESLint plugins to oxlint's built-in equivalents. The following table is for reference when reviewing the generated config:
| ESLint Plugin | Oxlint Plugin Name |
|---|---|
@typescript-eslint/eslint-plugin |
typescript |
eslint-plugin-react / eslint-plugin-react-hooks |
react |
eslint-plugin-import / eslint-plugin-import-x |
import |
eslint-plugin-unicorn |
unicorn |
eslint-plugin-jsx-a11y |
jsx-a11y |
eslint-plugin-react-perf |
react-perf |
eslint-plugin-promise |
promise |
eslint-plugin-jest |
jest |
@vitest/eslint-plugin |
vitest |
eslint-plugin-jsdoc |
jsdoc |
eslint-plugin-next |
nextjs |
eslint-plugin-node |
node |
eslint-plugin-vue |
vue |
Default plugins (enabled when plugins field is omitted): unicorn, typescript, oxc.
Setting the plugins array explicitly overrides these defaults.
ESLint core rules are usable in oxlint without needing to configure a plugin in the config file.
Oxlint groups rules into categories for bulk configuration, though only correctness is enabled by default:
{
"categories": {
"correctness": "error",
"suspicious": "warn"
}
}
Available categories: correctness (default: enabled), suspicious, pedantic, perf, style, restriction, nursery.
Individual rule settings in rules override category settings.
@oxlint/migrate will turn correctness off to avoid enabling additional rules that weren't enabled by your ESLint config. You can choose to enable additional categories after migration if desired.
Run with --details to see which ESLint rules could not be migrated:
npx @oxlint/migrate --details
Review the output and decide whether to keep ESLint for those rules or not. Some rules may be mentioned in the output from --details as having equivalents in oxlint that were not automatically mapped by the migration tool. In those cases, consider enabling the equivalent oxlint rule manually after migration.
Install the core oxlint package (use yarn install, pnpm install, vp install, bun install, etc. depending on your package manager):
npm install -D oxlint
If you want to add the oxlint-tsgolint package, if you intend to use type-aware rules that require TypeScript type information:
npm install -D oxlint-tsgolint
No other packages besides the above are needed by default, though you will need to keep/install any additional ESLint plugins that were migrated into jsPlugins. Do not add @oxlint/migrate to the package.json, it is meant for one-off usage.
Some features require manual attention:
jsPluginseslint-plugin-prettier: Supported, but very slow. It is recommended to use oxfmt instead, or switch to prettier --check as a separate step alongside oxlint.settings in override configs: Oxlint does not support settings inside overrides blocks.If you have any custom ESLint rules in the project repo itself, you can migrate them manually after running the migration tool by adding them to the jsPlugins field in .oxlintrc.json:
{
"jsPlugins": ["./path/to/my-plugin.js"],
"rules": {
"local-plugin/rule-name": "error"
}
}
For ESLint plugins without a built-in oxlint equivalent, use the jsPlugins field to load them:
{
"jsPlugins": ["eslint-plugin-custom"],
"rules": {
"custom/my-rule": "warn"
}
}
Replace ESLint commands with oxlint. Path arguments are optional; oxlint defaults to the current working directory.
# Before
npx eslint src/
npx eslint --fix src/
# After
npx oxlint src/
npx oxlint --fix src/
| ESLint | oxlint equivalent |
|---|---|
eslint . |
oxlint (default: lints the cwd) |
eslint src/ |
oxlint src/ |
eslint --fix |
oxlint --fix |
eslint --max-warnings 0 |
oxlint --deny-warnings or --max-warnings 0 |
eslint --format json |
oxlint --format json |
Additional oxlint options:
--tsconfig <path>: Specify tsconfig.json path, likely unnecessary unless you have a non-standard name for tsconfig.json.// eslint-disable and // eslint-disable-next-line comments are supported by oxlint. Use --replace-eslint-comments when running @oxlint/migrate to convert them to // oxlint-disable equivalents if desired.npx oxlint --rules to see all supported rules, or refer to the rule documentation."$schema": "./node_modules/oxlint/configuration_schema.json" to .oxlintrc.json for editor autocompletion if the migration tool didn't do it automatically.default, stylish, json, github, gitlab, junit, checkstyle, unix.eslintignore is supported by oxlint if you have it, but it's recommended to move any ignore patterns into the ignorePatterns field in .oxlintrc.json for consistency and simplicity. All files and paths ignored via a .gitignore file will be ignored by oxlint by default as well..oxlintrc.json.bak backup file created by the migration tool once you've finished migrating.Make data-driven prioritization decisions faster
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Prerequisites
Time Estimate
30-60 minutes to see productivity improvements
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid when
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
mattpocock/skills
parcadei/continuous-claude-v3
cursor/plugins
ailabs-393/ai-labs-claude-skills
pproenca/dot-skills
mattpocock/skills
I recommend migrate-oxlint for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
Useful defaults in migrate-oxlint — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
migrate-oxlint is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
migrate-oxlint fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
I recommend migrate-oxlint for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
migrate-oxlint is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
Useful defaults in migrate-oxlint — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
migrate-oxlint has been reliable in day-to-day use. Documentation quality is above average for community skills.
Keeps context tight: migrate-oxlint is the kind of skill you can hand to a new teammate without a long onboarding doc.
migrate-oxlint is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
showing 1-10 of 52