Help us improve
Share bugs, ideas, or general feedback.
From code-quality-plugin
Provides autofix commands, patterns, and detection script for linters like biome, ruff, clippy, eslint, prettier across JS/TS, Python, Rust, Go, Shell.
npx claudepluginhub laurigates/claude-plugins --plugin code-quality-pluginHow this skill is triggered — by the user, by Claude, or both
Slash command
/code-quality-plugin:linter-autofixhaikuThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Quick reference for running linter autofixes across languages.
Configures modern linting: Biome for JavaScript/TypeScript, Ruff for Python, Clippy for Rust. Detects projects, migrates from ESLint/Flake8, checks versions, adds pre-commit integration.
Detects linter (Biome, ESLint, Deno lint) and formatter (Prettier), runs with auto-fix on target path or codebase, reports fixed and remaining issues. Use before commits, after AI code gen, or CI lint failures.
Share bugs, ideas, or general feedback.
Quick reference for running linter autofixes across languages.
| Language | Linter | Autofix Command |
|---|---|---|
| TypeScript/JS | biome | npx @biomejs/biome check --write . |
| TypeScript/JS | biome format | npx @biomejs/biome format --write . |
| Python | ruff | ruff check --fix . |
| Python | ruff format | ruff format . |
| Rust | clippy | cargo clippy --fix --allow-dirty |
| Rust | rustfmt | cargo fmt |
| Go | gofmt | gofmt -w . |
| Go | go mod | go mod tidy |
| Shell | shellcheck | No autofix (manual only) |
Unused imports
// Before
import { useState, useEffect, useMemo } from 'react';
// Only useState used
// After
import { useState } from 'react';
Prefer const
// Before
let x = 5; // Never reassigned
// After
const x = 5;
Import sorting (I001)
# Before
import os
from typing import List
import sys
# After
import os
import sys
from typing import List
Unused imports (F401)
# Before
import os
import sys # unused
# After
import os
Line too long (E501)
# Before
result = some_function(very_long_argument_one, very_long_argument_two, very_long_argument_three)
# After
result = some_function(
very_long_argument_one,
very_long_argument_two,
very_long_argument_three,
)
Redundant clone
// Before
let s = String::from("hello").clone();
// After
let s = String::from("hello");
Use if let
// Before
match option {
Some(x) => do_something(x),
None => {},
}
// After
if let Some(x) = option {
do_something(x);
}
Quote variables (SC2086)
# Before
echo $variable
# After
echo "$variable"
Use $(...) instead of backticks (SC2006)
# Before
result=`command`
# After
result=$(command)
Auto-detect project linters and run all appropriate fixers in one command:
# Fix mode: detect linters and apply all autofixes
bash "${CLAUDE_PLUGIN_ROOT}/skills/linter-autofix/scripts/detect-and-fix.sh"
# Check-only mode: report issues without fixing
bash "${CLAUDE_PLUGIN_ROOT}/skills/linter-autofix/scripts/detect-and-fix.sh" --check-only
The script detects biome, eslint, prettier, ruff, black, clippy, rustfmt, gofmt, golangci-lint, and shellcheck. It reports which linters were found, runs them, and shows modified files. See scripts/detect-and-fix.sh for details.
ruff check --fix . && ruff format .ruff check .Stop and use different approach when: