plugins/react/skills/react-linter-setup/SKILL.md
Sets up ESLint for React and TypeScript projects aligned with company standards. Use when installing or configuring the project linter, adding devDependencies, custom ESLint rules, package.json scripts, or when the user asks to set up or migrate to the company React/TypeScript ESLint stack.
npx skillsauth add lichens-innovation/skills react-linter-setupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill handles project setup for the company ESLint stack: installing dependencies, adding config files, custom rules, and package.json scripts. For applying and enforcing rules on existing code, use a coding-standards or review skill when available.
package.json (npm or yarn).tsconfig.json (or tsconfig.app.json) at the root — required for projectService: true in the config.Follow this order. Reference files are in assets/ and references/.
Install the listed devDependencies (see assets/package.json.snippet.json for example versions and structure). Prefer current compatible versions in real projects — the snippet is for illustration only. Merge into the project package.json or run:
yarn add -D eslint @eslint/js typescript-eslint eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-testing-library globals
(or equivalent npm install -D ...). See references/dependencies-and-scripts.md for package list, example versions, and rationale.
eslint-rules/todo-ticket-ref.js).globalIgnores match the project (e.g. dist, generated code). Adjust the rule pattern for your ticketing tool (e.g. JIRA) if needed.Add to package.json scripts (same as in assets/package.json.snippet.json; versions in that file are examples only):
"lint": "eslint .",
"lint:fix": "eslint . --fix"
Use yarn or npm consistently with the rest of the project.
yarn lint or npm run lint.See assets/README.md for file list and quick reference.
The default config applies common React/TypeScript rules:
no-explicit-any, prefer-const, eqeqeq, no-nested-ternary, no-empty (catch), no-useless-catch, prefer-nullish-coalescing, consistent-indexed-object-style, max-depthno-array-index-key, jsx-fragments, react-hooks/*testing-library/prefer-screen-queries| Purpose | File | | -------------------- | -------------------------------------------------------------------- | | Dependencies & scripts | references/dependencies-and-scripts.md | | Assets overview | assets/README.md |
eslint.config.js at the project root (flat config).yarn or npm consistently for install and scripts.globalIgnores to avoid noisy violations.projectService: true; do not use this skill for non-TypeScript projects without adapting the config.tools
Reference for managing Claude Code plugins and marketplaces: install, update, remove plugins; add, update, remove marketplaces. Use when the user asks how to install a plugin, remove a marketplace, update plugins, or manage their Claude Code plugin setup.
tools
Scaffolds a new subagent in the ai-dev-tools marketplace repository: creates the agent directory, AGENTS.md file, and symlinks it into the chosen plugin. Use when the user asks to add a subagent, create an agent, or scaffold a subagent in the marketplace.
tools
Scaffolds a new skill in the ai-dev-tools marketplace repository: creates the skill directory and SKILL.md boilerplate directly inside the chosen plugin. Use when the user asks to add a new skill, create a skill, or scaffold a skill in the marketplace.
tools
Scaffolds a new plugin in the ai-dev-tools marketplace repository: creates the plugin directory, plugin.json manifest, skills/ folder, and registers it in marketplace.json. Use when the user asks to add a new plugin, create a plugin, or register a plugin in the marketplace.