PluginBench
Skill
Pass
Audit score 90

linter-docs

zernie/vigiles

Deep reference for authoring vigiles enforce() rules across ESLint, Ruff, Pylint, RuboCop, Stylelint, and Clippy.

What is linter-docs?

A lookup reference for exact linter rule names, AST selectors, type-aware rules, auto-fix behavior, and configuration details. Use this when authoring or debugging vigiles enforce() rules, not for running linters directly.

  • Access plugin tables and AST selector documentation for six major linters
  • Look up rule names, configuration options, and auto-fix capabilities
  • Understand type-aware rule behavior and edge cases per linter
  • Reference node pattern DSL (RuboCop), PostCSS AST (Stylelint), and Rust lint groups (Clippy)
  • Cross-reference linter support status and known limitations

How to install linter-docs

npx skills add https://github.com/zernie/vigiles --skill linter-docs
Claude Code
Cursor
Windsurf
Cline

How to use linter-docs

  1. 1.Identify which linter you need to configure (ESLint, Ruff, Pylint, RuboCop, Stylelint, or Clippy)
  2. 2.Open the corresponding markdown file (e.g., eslint.md, ruff.md)
  3. 3.Search for the rule name or capability you need (plugin table, AST selector, auto-fix details)
  4. 4.Reference the exact rule identifier and config syntax when writing your enforce() rule
  5. 5.For JVM/Go linters or Cedar, consult docs/linter-support.md instead

Use cases

Good for
  • Finding the exact ESLint rule name and plugin when writing an enforce() rule
  • Checking Ruff's 800+ reimplemented rules and pyproject.toml config syntax
  • Debugging why a Pylint rule is reported missing or disabled in vigiles
  • Understanding RuboCop's node pattern DSL for custom cop authoring
  • Verifying Stylelint plugin availability and SCSS-specific rule behavior
Who it's for
  • Developers authoring vigiles enforce() rules
  • Linter configuration maintainers
  • Code quality engineers debugging rule mismatches
  • Teams standardizing linter rules across projects

linter-docs FAQ

When should I use this skill vs. running a linter directly?

Use this skill when authoring or debugging vigiles enforce() rules and you need exact rule names or config details. Use the linter itself to actually lint code.

Does this cover all linters?

It covers ESLint, Ruff, Pylint, RuboCop, Stylelint, and Clippy in depth. JVM/Go linters (detekt, ktlint, Checkstyle, golangci-lint) and Cedar are documented in docs/linter-support.md.

What if I need to understand Ruff's 800+ rules?

Open ruff.md, which documents rule selection, auto-fix behavior, and pyproject.toml configuration for all reimplemented rules.

How do I find the right AST selector for a custom rule?

Consult the relevant linter file: eslint.md for ESLint AST, pylint.md for astroid AST, stylelint.md for PostCSS AST, or rubocop.md for node patterns.

Full instructions (SKILL.md)

Source of truth, from zernie/vigiles.


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).

LinterReference
ESLinteslint.md — plugin table, AST selectors, type-aware rules, auto-fix
Ruffruff.md — 800+ reimplemented rules, selection, auto-fix, pyproject config
Pylintpylint.md — plugin table, astroid AST, type inference, custom checkers
RuboCoprubocop.md — gem table, node pattern DSL, auto-correct, custom cops
Stylelintstylelint.md — plugin table, PostCSS AST, custom rules, SCSS
Clippyclippy.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.

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.