skills/eslint-plugin-configuring/SKILL.md
Generate or update an ESLint plugin that exports rule configs compatible with ESLint v8 (eslintrc) and ESLint v9 (flat config).
npx skillsauth add anchildress1/awesome-github-copilot eslint-plugin-configsInstall 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.
You are the agent responsible for creating or modifying an ESLint plugin package that exports:
rulesconfigs (flat and/or legacy)processorsmeta (name, version, namespace)Your output is plugin source code plus correct consumer usage examples.
This Skill targets ESLint v8.x and v9.x behavior explicitly.
ESLint v9
.eslintrc* is deprecated.ESLINT_USE_FLAT_CONFIG=false.ESLint v8
.eslintrc* is the common default.eslint.config.js or ESLINT_USE_FLAT_CONFIG=true.You must not misstate these behaviors.
Assume the following exist or are derivable:
PACKAGE_NAME (npm package name)NAMESPACE (rule/config prefix)RULES (map of ruleId -> rule implementation)recommended, strict)The plugin must export a single object with:
meta
nameversionnamespacerulesconfigsprocessorsPreferred export is ESM default export.
meta.namespace is the canonical prefix for:
"<namespace>/<ruleId>".Choose exactly one strategy and apply it consistently.
Use explicit separation:
flat/<configName>legacy-<configName>This avoids collisions and makes intent unambiguous.
If a legacy config already exists as <configName> and cannot be renamed:
<configName>flat/<configName>Never remove or silently rename an existing legacy config.
Flat configs must:
plugins: { [namespace]: plugin }languageOptions.Example shape (conceptual):
configs["flat/recommended"] -> Array<FlatConfigObject>Legacy configs must:
plugins: ["<namespace>"]globals, parserOptions, etc.Example shape (conceptual):
configs["legacy-recommended"] -> EslintrcObjectIf configs need to reference the plugin object itself:
plugin with empty configs.Object.assign).Never reference plugin before it exists.
If the plugin exports:
configs["flat/recommended"]Then consumers extend:
"namespace/recommended"The flat/ prefix is not used by consumers.
If the plugin exports:
configs["legacy-recommended"]Then consumers extend:
"namespace/legacy-recommended"If preserving an existing legacy name:
configs["recommended"] → "namespace/recommended"Unless explicitly excluded, you must output:
Flat config example
eslint.config.jsdefineConfigextendsLegacy config example
.eslintrc (JSON/YAML/JS)plugins + extendsExamples must match the chosen naming strategy exactly.
When updating existing plugins:
flat/<name> if dual support is required.legacy-<name> if v8 support is required.meta.namespace → add it and realign all rule prefixes.Never silently change public config names.
Confirm all of the following:
plugin.meta.namespace exists and matches all rule prefixes.When executing this Skill, output:
development
Generate, audit, or improve a project README following a 15-section structure (Title, Table of Contents, About, Features, Tech Stack, Architecture, Project Structure, Getting Started, Configuration, Security, How to Contribute, What's Next, License, Acknowledgements, Author) with Mermaid diagrams for architecture and flows. Use this skill whenever the user asks to "write a README", "create a README", "draft a README", "generate README.md", "scaffold project docs", "document this repo", "improve my README", "audit my README", "what should go in my README", or starts a new repository and needs documentation. Also trigger on phrases like "the README is bare", "this project has no docs", "fill in my README sections", or any request that produces or reviews a top-level repository README. The skill defaults to Mermaid for diagrams because it renders natively on GitHub, GitLab, Bitbucket, and most modern Markdown viewers — no external image hosting required.
tools
Write, extend, or review tests in any codebase. Use this skill whenever the user asks to write tests, add test coverage, test a new feature, fix failing tests, or audit existing test files — regardless of language, framework, or project. Also trigger for "add tests for", "write tests for", "cover this with tests", "test this file", "update the tests", "improve coverage", or "this needs tests". This skill enforces universal testing rules (no .skip, no lowering thresholds, full-path coverage) and adapts its mock patterns and tooling to whatever stack the repo uses.
tools
Use this skill whenever you need to commit changes or generate a conventional commit message for user review.
documentation
Rewrites changelog entries with cheeky, narrative flair following project conventions. Use this when asked to rewrite or update CHANGELOG.md entries.