.agents/skills/eslint-config-recipe/SKILL.md
Universal ESLint recipe for JavaScript and TypeScript repositories. Use when setting up or validating lint architecture, automatically selecting JS-only, TS, or hybrid profiles.
npx skillsauth add filippovskii09/quize-audit eslint-config-recipeInstall 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.
Provide one reusable linting recipe that adapts to project language mode:
Select profile using this order:
tsconfig.json (or tsconfig.*.json) exists;typescript is present in dependencies or devDependencies;*.ts or *.tsx.*.js, *.jsx) and TS (*.ts, *.tsx) are present in source.Use when project has only JS/JSX.
@eslint/js recommendedeslint-plugin-react-hooks (if React)eslint-plugin-react-refresh (if Vite React)eslint-plugin-prettier + eslint-config-prettierno-unused-vars with _ ignore patternno-undefno-console as warning (optional policy)react-refresh/only-export-componentsUse when TS signals are detected.
@eslint/js recommendedtypescript-eslint strict + stylistic type-checkedtsconfig*eslint-plugin-react-hookseslint-plugin-react-refresheslint-plugin-prettier + eslint-config-prettier@typescript-eslint/no-unused-vars with _ ignore pattern@typescript-eslint/no-explicit-any@typescript-eslint/no-floating-promises@typescript-eslint/require-awaitreact-refresh/only-export-componentsUse when JS and TS coexist.
*.ts/*.tsx.*.js/*.jsx.This avoids over-constraining JS files with TS-only rules and keeps strictness for typed code.
eslint, @eslint/js, eslint-plugin-prettier, eslint-config-prettiereslint-plugin-react-hooks, eslint-plugin-react-refreshtypescript-eslint, typescriptnpm run lint
npm run lint:fix
Use this shell logic to classify project type before generating config:
has_tsconfig=$(ls tsconfig*.json >/dev/null 2>&1; echo $?)
has_ts_dep=$(node -e "const p=require('./package.json'); const d={...p.dependencies,...p.devDependencies}; process.exit(d.typescript?0:1)")
has_ts_files=$(rg --files src -g '*.ts' -g '*.tsx' | head -n 1)
has_js_files=$(rg --files src -g '*.js' -g '*.jsx' | head -n 1)
if [ -n \"$has_ts_files\" ] && [ -n \"$has_js_files\" ]; then
echo hybrid
elif [ \"$has_tsconfig\" -eq 0 ] || [ \"$has_ts_dep\" -eq 0 ] || [ -n \"$has_ts_files\" ]; then
echo typescript
else
echo javascript
fi
lint and lint:fix are stable in CI/local runs.development
Domain skill for React internationalization setup with react-intl, locale switching, and typed i18n context. Use when adding new translations or extending locale behavior.
development
Domain skill for reusable typed React hooks used in business logic. Use when extending or validating shared hooks like local storage and pagination.
development
Reusable Prettier formatting recipe for TypeScript and frontend repositories. Use when enforcing consistent code style and integrating format checks in hooks.
tools
Declarative pre-commit framework recipe for polyglot repositories with stage-aware hooks (pre-commit and pre-push). Use when repositories need non-Node quality gates or mixed toolchains.