Help us improve
Share bugs, ideas, or general feedback.
From co-dev
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.
npx claudepluginhub cloud-officer/claude-code-plugin-dev --plugin co-devHow this skill is triggered — by the user, by Claude, or both
Slash command
/co-dev:run-lintersThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Execute linters after code changes are complete to ensure code quality and consistency.
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
Execute linters after code changes are complete to ensure code quality and consistency.
Execute the linters command which auto-detects active linters in the current repository and runs them with proper configurations:
linters
For each issue reported:
linters to verify the fixRepeat until all issues are resolved.
// eslint-disable, # noqa, // nolint) to bypass issuesThe 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.jsoneslint.config.js, eslint.config.mjstsconfig.json (for strict mode or type checking options)Python:
.flake8, setup.cfg (flake8 section)pyproject.toml (tool.flake8, tool.pylint, tool.ruff sections).pylintrc, pylintrcruff.toml, .ruff.tomlmypy.ini, .mypy.iniRuby:
.rubocop.yml, .rubocop_todo.ymlGo:
.golangci.yml, .golangci.yamlRust:
clippy.toml, .clippy.tomlrustfmt.toml, .rustfmt.tomlMarkdown:
.markdownlint.json, .markdownlint.yaml, .markdownlint.yml.markdownlintrcGeneral:
.editorconfigDo 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.
When fixing shell script lint errors (e.g., from shellcheck or custom shell linters), apply these rules:
Always wrap shell variables in ${} braces. This prevents ambiguity and word-splitting bugs.
# Bad
echo "$HOME/.local/bin:$PATH"
if [ "$CURRENT_BRANCH" != "$MASTER_BRANCH" ]; then
# Good
echo "${HOME}/.local/bin:${PATH}"
if [ "${CURRENT_BRANCH}" != "${MASTER_BRANCH}" ]; then
== instead of = for string comparisonIn [ and [[ test expressions, use == for string equality, not =.
# Bad
if [ "${CONFIGURATION}" = "Debug" ]; then
# Good
if [ "${CONFIGURATION}" == "Debug" ]; then
"${VAR}" not $VAR[[ over [ when possible — safer, supports &&, ||, pattern matching$(command) over backticks — `command` is deprecated