From specialist-agent
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.
npx claudepluginhub herbertjulio/specialist-agent --plugin specialist-agentThis skill is limited to using the following tools:
Detect the project's linter, run it, auto-fix what's possible, and report remaining issues.
Runs auto-detected linters/formatters/fixers for Python (Ruff/ty/bandit), JS/TS (ESLint/Prettier/tsc), Rust (clippy/fmt), Go (gofmt/vet); supports --fix/--format/pre-commit.
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.
Share bugs, ideas, or general feedback.
Detect the project's linter, run it, auto-fix what's possible, and report remaining issues.
Target: $ARGUMENTS
tsc directly)Check for installed linters in order of priority:
| Check | Linter |
|---|---|
biome.json or biome.jsonc exists | Biome |
.eslintrc.* or eslint.config.* exists | ESLint |
deno.json with lint config | Deno lint |
package.json has lint script | npm run lint |
# Check for config files
ls biome.json biome.jsonc .eslintrc.* eslint.config.* 2>/dev/null
# Check package.json scripts
cat package.json | grep -A5 '"scripts"' | grep lint
| Check | Formatter |
|---|---|
.prettierrc* or prettier.config.* exists | Prettier |
biome.json exists (has built-in formatter) | Biome |
deno.json with fmt config | Deno fmt |
package.json has format script | npm run format |
# Based on detected linter:
# Biome
npx biome check $TARGET --write 2>&1
# ESLint
npx eslint $TARGET --fix 2>&1
# npm script
npm run lint -- --fix 2>&1
# Deno
deno lint --fix $TARGET 2>&1
# Prettier
npx prettier --write $TARGET 2>&1
# npm script
npm run format 2>&1
Count fixed vs remaining issues.
──── /lint ────
Linter: ESLint
Formatter: Prettier
Target: src/
Fixed automatically:
- 12 formatting issues (Prettier)
- 5 unused imports (ESLint --fix)
- 3 missing semicolons (ESLint --fix)
Remaining (manual fix needed):
- src/auth.ts:42 - no-explicit-any: Unexpected any
- src/api.ts:18 - no-unused-vars: 'result' is defined but never used
Summary: 20 fixed, 2 remaining
──── /lint ────
Linter: Biome
Target: src/
✓ No issues found
| Excuse | Reality |
|---|---|
| "It's just a style warning, not a real issue" | Style inconsistency makes code harder to read for every future developer. Fix it. |
| "I'll fix lint errors when I have time" | Lint errors accumulate. 5 today become 50 next week. Fix them now. |
| "Auto-fix might change behavior" | Lint auto-fixes (formatting, imports) are safe. If unsure, review the diff. |
| "My code works, lint doesn't matter" | Lint catches bugs too (unused vars, implicit any, unreachable code). It matters. |