Guide for migrating a project from ESLint to Oxlint. Use when asked to migrate, convert, or switch a JavaScript/TypeScript project's linter from ESLint to Oxlint.
65
77%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./.agents/skills/migrate-oxlint/SKILL.mdQuality
Discovery
89%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a solid description with excellent trigger terms and completeness, clearly specifying both what the skill does and when to use it. Its main weakness is that the 'what' portion is somewhat high-level ('Guide for migrating') rather than listing specific concrete migration steps, which limits specificity. Overall it would perform well in skill selection among a large pool.
Suggestions
Add specific concrete actions to improve specificity, e.g., 'Converts ESLint configuration to Oxlint format, maps ESLint rules to Oxlint equivalents, updates package.json dependencies, and removes ESLint artifacts.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (linter migration from ESLint to Oxlint) and the general action (migrating/converting), but doesn't list specific concrete actions like 'update config files, remove ESLint dependencies, install Oxlint, convert rule mappings'. | 2 / 3 |
Completeness | Clearly answers both 'what' (guide for migrating from ESLint to Oxlint) and 'when' (explicit 'Use when asked to migrate, convert, or switch...' clause with specific trigger scenarios). | 3 / 3 |
Trigger Term Quality | Includes strong natural trigger terms: 'migrate', 'convert', 'switch', 'ESLint', 'Oxlint', 'JavaScript/TypeScript', 'linter'. These cover the common ways a user would phrase such a request. | 3 / 3 |
Distinctiveness Conflict Risk | Very specific niche — ESLint-to-Oxlint migration is a narrow, well-defined task unlikely to conflict with other skills. The combination of both tool names creates a distinct trigger profile. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid, actionable migration guide with clear step-by-step instructions and executable commands. Its main weaknesses are the lack of validation/verification steps to confirm migration success, and the inclusion of extensive reference tables (plugin mappings, CLI options) that inflate the document length. The Tips section, while useful, is verbose and could be trimmed or moved to a separate reference file.
Suggestions
Add a validation step after Step 5 (e.g., 'Run oxlint and compare output with ESLint to verify equivalent coverage; fix any discrepancies before removing ESLint')
Move the plugin mapping table and CLI options comparison table to a separate REFERENCE.md file, keeping only the most essential information inline
Trim the Tips section to the 3-4 most important items and move the rest to a supplementary file
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly efficient but includes some unnecessary content. The overview paragraph explaining what Oxlint is and the extensive plugin mapping table are reference material Claude could look up. The Tips section is quite long with many bullet points that could be trimmed. However, most content is relevant to the migration task. | 2 / 3 |
Actionability | The skill provides concrete, executable commands at every step (npx @oxlint/migrate, npm install -D oxlint, npx oxlint src/), specific CLI option tables, and copy-paste ready JSON config examples for jsPlugins and categories. The ESLint-to-oxlint command mapping table is particularly actionable. | 3 / 3 |
Workflow Clarity | The 5-step sequence is clearly laid out and logically ordered. However, there are no explicit validation checkpoints or feedback loops — after generating the config, installing oxlint, and updating scripts, there's no step like 'run oxlint and verify output matches ESLint' or 'compare linting results before and after migration' to confirm the migration succeeded. For a migration operation this is a notable gap. | 2 / 3 |
Progressive Disclosure | The content is well-structured with clear headers and sections, and external references are provided at the end. However, the plugin mapping table, rule categories explanation, CLI options tables, and the lengthy Tips section make this quite long — some of this reference material could be split into separate files. With no bundle files, everything is inline in a single document. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
30116a3
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.