Run Linters
Execute linters after code changes are complete to ensure code quality and consistency.
When to Use
- After completing a set of code changes (not after each small edit)
- Before creating a commit or PR
- When asked to verify code quality
Step 1: Run Linters
Execute the linters command which auto-detects active linters in the current repository and runs them with proper configurations:
linters
Step 2: Analyze Results
- If no issues: Report success and proceed
- If issues found: Continue to Step 3
Step 3: Fix Issues
For each issue reported:
- Read the affected file
- Understand the linting error
- Fix the issue in the source code using Edit tool
- Re-run
linters to verify the fix
Repeat until all issues are resolved.
Important Rules
- Do NOT run after every small change - wait until a logical set of changes is complete
- Fix all issues before reporting completion
- NEVER modify linter configuration files to suppress or ignore issues
- NEVER add inline disable comments (e.g.,
// eslint-disable, # noqa, // nolint) to bypass issues
- Always fix the actual code, not the linter rules
- If an issue seems impossible to fix properly, ask the user for guidance
Forbidden Files - NEVER Modify
The following configuration files must NEVER be edited to work around linting issues:
JavaScript/TypeScript:
.eslintrc, .eslintrc.js, .eslintrc.json, .eslintrc.yml
.prettierrc, .prettierrc.js, .prettierrc.json
eslint.config.js, eslint.config.mjs
tsconfig.json (for strict mode or type checking options)
Python:
.flake8, setup.cfg (flake8 section)
pyproject.toml (tool.flake8, tool.pylint, tool.ruff sections)
.pylintrc, pylintrc
ruff.toml, .ruff.toml
mypy.ini, .mypy.ini
Ruby:
.rubocop.yml, .rubocop_todo.yml
Go:
.golangci.yml, .golangci.yaml
Rust:
clippy.toml, .clippy.toml
rustfmt.toml, .rustfmt.toml
Markdown:
.markdownlint.json, .markdownlint.yaml, .markdownlint.yml
.markdownlintrc
General:
.editorconfig
- Any file that defines linting rules or ignores
Forbidden Patterns - NEVER Use
Do NOT add these patterns to bypass linting:
# JavaScript/TypeScript
/* eslint-disable */
// eslint-disable-line
// eslint-disable-next-line
/* prettier-ignore */
// @ts-ignore
// @ts-nocheck
# Python
# noqa
# type: ignore
# pylint: disable
# ruff: noqa
# Go
//nolint
//nolint:all
# Ruby
# rubocop:disable
# Rust
#[allow(...)]
#![allow(...)]
If you encounter an issue that seems unfixable, explain the problem to the user and ask how they want to proceed.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: run-linters3description: Run linters, lint the code, check code style, or fix linting issues. Use when the user wants to lint, run linters, check code quality, verify code style, fix linting errors, or run code checks after completing code modifications. Use when this capability is needed.4---56# Run Linters78Execute linters after code changes are complete to ensure code quality and consistency.910## When to Use1112- After completing a set of code changes (not after each small edit)13- Before creating a commit or PR14- When asked to verify code quality1516## Step 1: Run Linters1718Execute the `linters` command which auto-detects active linters in the current repository and runs them with proper configurations:1920```bash21linters22```2324## Step 2: Analyze Results2526- If no issues: Report success and proceed27- If issues found: Continue to Step 32829## Step 3: Fix Issues3031For each issue reported:32331. Read the affected file342. Understand the linting error353. Fix the issue **in the source code** using Edit tool364. Re-run `linters` to verify the fix3738Repeat until all issues are resolved.3940## Important Rules4142- Do NOT run after every small change - wait until a logical set of changes is complete43- Fix all issues before reporting completion44- **NEVER modify linter configuration files** to suppress or ignore issues45- **NEVER add inline disable comments** (e.g., `// eslint-disable`, `# noqa`, `// nolint`) to bypass issues46- Always fix the actual code, not the linter rules47- If an issue seems impossible to fix properly, ask the user for guidance4849## Forbidden Files - NEVER Modify5051The following configuration files must NEVER be edited to work around linting issues:5253**JavaScript/TypeScript:**5455- `.eslintrc`, `.eslintrc.js`, `.eslintrc.json`, `.eslintrc.yml`56- `.prettierrc`, `.prettierrc.js`, `.prettierrc.json`57- `eslint.config.js`, `eslint.config.mjs`58- `tsconfig.json` (for strict mode or type checking options)5960**Python:**6162- `.flake8`, `setup.cfg` (flake8 section)63- `pyproject.toml` (tool.flake8, tool.pylint, tool.ruff sections)64- `.pylintrc`, `pylintrc`65- `ruff.toml`, `.ruff.toml`66- `mypy.ini`, `.mypy.ini`6768**Ruby:**6970- `.rubocop.yml`, `.rubocop_todo.yml`7172**Go:**7374- `.golangci.yml`, `.golangci.yaml`7576**Rust:**7778- `clippy.toml`, `.clippy.toml`79- `rustfmt.toml`, `.rustfmt.toml`8081**Markdown:**8283- `.markdownlint.json`, `.markdownlint.yaml`, `.markdownlint.yml`84- `.markdownlintrc`8586**General:**8788- `.editorconfig`89- Any file that defines linting rules or ignores9091## Forbidden Patterns - NEVER Use9293Do NOT add these patterns to bypass linting:9495```text96# JavaScript/TypeScript97/* eslint-disable */98// eslint-disable-line99// eslint-disable-next-line100/* prettier-ignore */101// @ts-ignore102// @ts-nocheck103104# Python105# noqa106# type: ignore107# pylint: disable108# ruff: noqa109110# Go111//nolint112//nolint:all113114# Ruby115# rubocop:disable116117# Rust118#[allow(...)]119#![allow(...)]120```121122If you encounter an issue that seems unfixable, explain the problem to the user and ask how they want to proceed.123124---125> Converted and distributed by [TomeVault](https://tomevault.io/claim/cloud-officer) — claim your Tome and manage your conversions.126<!-- tomevault:4.0:skill_md:2026-04-15 -->