From maverick
Linting conventions for applications: linter selection, rule configuration (error-only), auto-formatting, CI integration, and project guidance. Applied when writing/reviewing code or configuring developer tooling.
How this skill is triggered — by the user, by Claude, or both
Slash command
/maverick:mav-bp-lintingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Code quality is enforced automatically through static analysis and formatting — style decisions are made once in config, then enforced by tooling, never debated in review.
Code quality is enforced automatically through static analysis and formatting — style decisions are made once in config, then enforced by tooling, never debated in review.
error, never warn. Warnings are noise: if a rule matters, it's an error; if it doesn't, disable it; if it has too many false positives, disable it and find an alternative. "Too many existing violations" is not a reason to downgrade — fix incrementally or baseline.eslint.config.js, not legacy .eslintrc. Ignore patterns live in the flat config's ignores field. Ignore generated/vendor code; never ignore source code to dodge lint errors.@eslint/js + typescript-eslint recommended, eslint-plugin-react-hooks for React, Ruff defaults) and override selectively — never build a ruleset from scratch.lint-staged / pre-commit on staged files) — linting runs in CI. Never skip hooks with --no-verify; if a hook is too slow, fix the hook.Check for docs/maverick/skills/linting/SKILL.md. If present, read it and follow it — it wins on specifics (library, config, conventions). If missing, proceed with these standards and note the gap in your summary.
| Pattern | Issue | Fix |
|---|---|---|
| No linter config in project | No automated quality checks | Add linter + formatter with recommended presets |
| Warnings in linter config | Warnings are ignored | Change to errors or disable |
| Formatting rules in linter | Conflicts with formatter | Disable formatting rules, use a dedicated formatter |
| Many inline disables without comments | Suppressed issues without justification | Require explanation or fix the violations |
| No CI lint step | Lint issues merge to main | Add lint + format check to CI pipeline |
| Lint config uses legacy format | Maintenance burden | Migrate to current format (e.g., ESLint flat config) |
| No pre-commit formatting | Style inconsistency across commits | Add lint-staged or equivalent |
| Linter running on generated/vendor code | False positives, slow runs | Update ignore patterns |
npx claudepluginhub thermiteau/maverick --plugin maverickSets up and validates modern linters (Biome, Ruff, Clippy), migrates from ESLint/Prettier, and wires linting into pre-commit hooks and CI.
Automates format-lint-resolve pipelines for code editing tasks. Discovers linters from pyproject.toml/.pre-commit-config.yaml/package.json, fixes ruff/mypy/bandit issues, ensures quality before completion.