linter-docs — скилл для Claude Code: справочник по линтерам
Справочник по правилам ESLint, Ruff, Pylint, RuboCop, Stylelint и Clippy. Нужен, когда пишешь или отлаживаешь правило enforce() в vigiles.
npx skills add zernie/vigiles --skill linter-docs -a claude-codeЧто делает linter-docs
Скилл открывает файл с деталями по конкретному линтеру: точные имена правил, AST-селекторы, конфигурация, автофиксы. Внутри шесть файлов — eslint.md, ruff.md, pylint.md, rubocop.md, stylelint.md, clippy.md. Для ESLint это таблица плагинов и правила с учётом типов, для Ruff — больше 800 переписанных правил и настройка в pyproject, для Pylint — таблица плагинов и astroid AST, для RuboCop — таблица гемов и DSL node pattern, для Stylelint — PostCSS AST и SCSS, для Clippy — группы линтов и конфигурация.
Это справочник, а не действие. Скилл не запускается сам: в нём стоит disable-model-invocation: true, поэтому файл открываешь вручную, когда нужен точный идентификатор правила или разбор, почему правило помечено как отсутствующее либо отключённое. Его читают скиллы strengthen и edit-spec, когда сопоставляют правило из инструкции с реальным правилом линтера.
Линтеры для JVM и Go — detekt, ktlint, Checkstyle, golangci-lint — вместе с Cedar тоже упоминаются в enforce(), но глубокого разбора по ним здесь нет. Их возможности и ограничения лежат в docs/linter-support.md. Учти: ktlint работает только с форматированием, а у Checkstyle состояние включения задаётся белым списком. Если пишешь правило под Go или JVM, этот скилл не поможет — иди сразу в docs/linter-support.md.
Какие задачи решает
- найти точное имя правила ESLint для своего случая
- понять, почему правило vigiles помечено как отключённое
- настроить выбор правил Ruff в pyproject
- разобраться с node pattern DSL в RuboCop
- сопоставить правило из инструкции с реальным правилом линтера
Примеры запросов агенту
- Открой
eslint.mdи найди правило для запретаanyв аргументах функций - Мне нужно написать
enforce()для Ruff — покажи, как выбираются правила вpyproject - Почему vigiles считает правило Pylint отсутствующим? Посмотри
pylint.md
Как установить linter-docs
1Через Skills CLI (Vercel)
npx skills add zernie/vigiles --skill linter-docs -a claude-code2Вручную: положить файлы
~/.claude/skills/linter-docs/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/linter-docs/
1Через Skills CLI (Vercel)
npx skills add zernie/vigiles --skill linter-docs -a codex2Вручную: положить файлы
.agents/skills/linter-docs/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add zernie/vigiles --skill linter-docs -a cursor2Вручную: положить файлы
.cursor/skills/linter-docs/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install zernie/vigiles linter-docs2Вручную: положить файлы
.github/skills/linter-docs/SKILL.md1Через Skills CLI (Vercel)
npx skills add zernie/vigiles --skill linter-docs -a gemini-cli2Командой платформы
gemini skills install https://github.com/zernie/vigiles --path skills/linter-docsВручную: положить файлы
.devin/skills/linter-docs/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add zernie/vigiles --skill linter-docs -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о linter-docs
Как установить linter-docs в Claude?
Выполни npx skills add zernie/vigiles --skill linter-docs -a claude-code. После этого файл скилла окажется в ~/.claude/skills/linter-docs/SKILL.md.
Что делает linter-docs?
Даёт справку по правилам шести линтеров: имена, AST-селекторы, конфигурацию, автофиксы. Помогает писать и отлаживать правила enforce() в vigiles.
Скилл запускается сам?
Нет. В нём стоит disable-model-invocation: true, так что он работает как справочник: открываешь нужный файл вручную.
Исходный текст
SKILL.md · MIT
--- name: linter-docs description: Deep linter reference for authoring or debugging a vigiles enforce() rule — plugin tables, AST selectors, type-aware rules, auto-fix, and edge cases for ESLint, Ruff, Pylint, RuboCop, Stylelint, and Clippy. Use when you need the exact rule name or config for a specific linter, not for running a linter. (JVM/Go linters — detekt, ktlint, Checkstyle, golangci-lint — and Cedar have no deep-dive file yet; their reference lives in docs/linter-support.md.) disable-model-invocation: true --- Reference material for the linters vigiles cross-references. Open the file for the linter you're working with when you need exact rule names, AST selectors, or config details to author an `enforce()` rule (or diagnose why one is reported missing or disabled). | Linter | Reference | | --------- | -------------------------------------------------------------------------------------- | | ESLint | [`eslint.md`](eslint.md) — plugin table, AST selectors, type-aware rules, auto-fix | | Ruff | [`ruff.md`](ruff.md) — 800+ reimplemented rules, selection, auto-fix, pyproject config | | Pylint | [`pylint.md`](pylint.md) — plugin table, astroid AST, type inference, custom checkers | | RuboCop | [`rubocop.md`](rubocop.md) — gem table, node pattern DSL, auto-correct, custom cops | | Stylelint | [`stylelint.md`](stylelint.md) — plugin table, PostCSS AST, custom rules, SCSS | | Clippy | [`clippy.md`](clippy.md) — Rust lint groups and configuration | **JVM/Go linters (detekt, ktlint, Checkstyle, golangci-lint) and Cedar** are cross-referenced by `enforce()` but have no deep-dive file here yet — their capabilities, config surfaces, and known limits (e.g. ktlint is format-only, Checkstyle enabled-state is whitelist-only) are documented in [`docs/linter-support.md`](../../docs/linter-support.md). These are read by the `strengthen` and `edit-spec` skills when matching a guidance rule to a real linter rule. This skill is user-invoked (a reference, not an action), so it never fires on its own — open the relevant file directly.
© zernie · MIT · zernie/vigiles