Skip to main content
skill CX Codex

linting-neostandard-eslint9 — Claude Code skill: setup & use

Configures ESLint v9 flat config and neostandard for JavaScript and TypeScript repositories. Helps migrate away from legacy .eslintrc files and set up CI checks.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add mcollina/skills --skill linting-neostandard-eslint9 -a claude-code
Open on GitHub

What linting-neostandard-eslint9 does

The skill guides the agent through configuring ESLint v9 with eslint.config.js or eslint.config.mjs using neostandard as a base. It covers common workflows for JavaScript and TypeScript repositories, starting from installing eslint@9 and adding project-specific rule overrides. Separate guideline files handle migrating from the legacy standard package or translating older .eslintrc* setups into flat config.

It also outlines continuous integration scripts and editor integration. For CI pipelines, it enforces a non-fix validation step, reserving the --fix flag strictly for local developer workflows. The skill relies entirely on ESLint v9 flat configuration, so older ESLint major versions are not supported here.

What it helps with

  • configure ESLint v9 flat config with neostandard in a new project
  • migrate an existing codebase from standard to neostandard
  • convert legacy .eslintrc configurations to eslint.config.js
  • integrate non-fix linting checks into CI pipelines

Example prompts for the agent

  • Set up ESLint 9 with neostandard flat config in this project
  • Migrate our legacy .eslintrc configuration to eslint.config.mjs
  • Configure a non-fix linting step for our CI pipeline

How to install linting-neostandard-eslint9

1Skills CLI (Vercel)

npx skills add mcollina/skills --skill linting-neostandard-eslint9 -a claude-code

2Manually: put the files in place

~/.claude/skills/linting-neostandard-eslint9/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/linting-neostandard-eslint9/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about linting-neostandard-eslint9

How do I install linting-neostandard-eslint9 in Claude Code?

Run npx skills add mcollina/skills --skill linting-neostandard-eslint9 -a claude-code. This installs the skill files into your project environment.

What does the linting-neostandard-eslint9 skill do?

It provides rules and templates to configure ESLint v9 flat config using neostandard. It also helps migrate older configurations and set up CI lint checks.

How does the skill recommend running linting in CI?

The skill enforces running ESLint without auto-fixing flags in CI pipelines. Keep --fix restricted to local development workflows.

Source text

SKILL.md · MIT
---
name: linting-neostandard-eslint9
description: 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.
metadata:
  tags: linting, neostandard, eslint, eslint9, flat-config, javascript, typescript
---

## When to use

Use this skill when you need to:
- Set up linting in a JavaScript or TypeScript project
- Use `neostandard` as a Standard-like ESLint v9 flat-config baseline
- Configure `eslint@9` with the flat config system (`eslint.config.js`/`eslint.config.mjs`)
- Migrate from `standard` to `neostandard` or ESLint v9
- Migrate from legacy `.eslintrc*` configuration to ESLint v9
- Run linting consistently in CI and local development

## Quick start: basic neostandard setup

Install dependencies and create a minimal `eslint.config.js`:

```bash
npm install --save-dev eslint@9 neostandard
```

```js
// eslint.config.js
import neostandard from 'neostandard'

export default neostandard()
```

Verify the config works:

```bash
npx eslint .
```

## Common setup workflow (new project)

1. Install `eslint@9` and `neostandard` (see Quick start above)
2. Create `eslint.config.js` with `neostandard()` as the base
3. Add any project-specific rule overrides on top
4. Run `npx eslint .` to confirm no config errors
5. Add a lint script to `package.json`: `"lint": "eslint ."`
6. Integrate into CI with a non-fix run; use `--fix` only in local workflows

## How to use

Read individual rule files for implementation details and examples:

- [rules/neostandard.md](rules/neostandard.md) - Install, configure, and extend neostandard with ESLint
- [rules/eslint-v9-flat-config.md](rules/eslint-v9-flat-config.md) - Build ESLint v9 flat config for JS/TS projects
- [rules/migration-from-standard.md](rules/migration-from-standard.md) - Migrate from `standard` to `neostandard` or ESLint v9
- [rules/migration-from-legacy-eslint.md](rules/migration-from-legacy-eslint.md) - Migrate from `.eslintrc*` to flat config safely
- [rules/ci-and-editor-integration.md](rules/ci-and-editor-integration.md) - CI scripts, pre-commit, and editor setup

## Core principles

- Prefer reproducible linting with pinned major versions
- Keep config minimal and explicit
- Use flat config for ESLint v9 projects
- Treat lint failures as quality gates in CI
- Enable auto-fix for local workflows, but validate with non-fix CI runs

© mcollina · MIT · mcollina/skills

Similar skills

Everything for Code review and refactoring →

From the same set11

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor