From lint
Fix lint errors that require manual intervention. Use this skill when: - LINT ERRORS REQUIRE MANUAL FIX message appears - PostToolUse hook blocks with lint issues - ESLint, Ruff, SwiftLint, Prettier, Black, mypy, ktlint, golangci-lint, Clippy, rustfmt, clang-tidy, RuboCop, or PHP_CodeSniffer errors cannot be auto-fixed - Code quality issues need manual resolution
How this skill is triggered — by the user, by Claude, or both
Slash command
/lint:lint-fixerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Fix lint errors that automatic fixing cannot resolve. This skill provides guidance for manually resolving lint errors across different programming languages.
Fix lint errors that automatic fixing cannot resolve. This skill provides guidance for manually resolving lint errors across different programming languages.
Use this skill when:
Common non-auto-fixable errors:
no-undef: Variable/function not defined → Add import, declare global, or fix typono-unused-vars: Variable declared but never used → Remove or use the variable@typescript-eslint/no-explicit-any: Avoid any type → Add proper type annotationsDocumentation: https://eslint.org/docs/latest/rules/
Most issues auto-fix. If not:
Documentation: https://prettier.io/docs/en/options.html
Common errors:
Documentation: https://www.typescriptlang.org/docs/
Most issues auto-fix. If not:
Documentation: https://docs.astral.sh/ruff/formatter/
Common non-auto-fixable errors:
F821: Undefined name → Add import or fix typoF841: Local variable assigned but never used → Remove or use itE902: Syntax error → Fix Python syntaxDocumentation: https://docs.astral.sh/ruff/rules/
Most issues auto-fix. If not:
Documentation: https://black.readthedocs.io/en/stable/
Common errors:
error: Incompatible types → Fix type mismatcherror: Missing return statement → Add returnerror: Module has no attribute → Check importDocumentation: https://mypy.readthedocs.io/en/stable/error_codes.html
Common non-auto-fixable errors:
identifier_name: Naming convention violation → Rename to match conventionfunction_body_length: Function too long → Refactor into smaller functionscyclomatic_complexity: Too complex → Simplify logicDocumentation: https://github.com/realm/SwiftLint/blob/main/Rules.md
Most issues auto-fix. If not:
Documentation: https://github.com/nicklockwood/SwiftFormat
Common non-auto-fixable errors:
standard:max-line-length: Line too long → Break into multiple linesstandard:function-naming: Invalid function name → Follow camelCaseDocumentation: https://pinterest.github.io/ktlint/latest/rules/standard/
Common errors:
complexity: High cyclomatic complexity → Refactorstyle: Style violations → Follow Kotlin conventionsDocumentation: https://detekt.dev/docs/rules/
Common errors:
unused: Unused variable/import → Remove or use iterrcheck: Unchecked error → Handle the errorDocumentation: https://golangci-lint.run/usage/linters/
Common warnings:
clippy::unwrap_used: Using unwrap → Use expect or handle Resultclippy::todo: TODO in code → Implement or removeDocumentation: https://rust-lang.github.io/rust-clippy/master/
Most issues auto-fix. If not:
Documentation: https://rust-lang.github.io/rustfmt/
Common warnings:
modernize-*: Use modern C++ featuresreadability-*: Improve code clarityperformance-*: Optimize performanceDocumentation: https://clang.llvm.org/extra/clang-tidy/
Common offenses:
Style/*: Style guide violations → Follow Ruby styleLint/*: Potential bugs → Fix the issueMetrics/*: Complexity issues → RefactorDocumentation: https://docs.rubocop.org/rubocop/cops.html
Common errors:
Documentation: https://github.com/squizlabs/PHP_CodeSniffer/wiki
ESLint errors:
/path/to/file.js
3:1 error 'console' is not defined no-undef
Use the Read tool to view the code around the error line.
Based on the rule, apply the appropriate fix:
no-undef with console: Add browser/node environment to ESLint configRun the linter manually:
# JavaScript
npx eslint path/to/file.js
# Python
ruff check path/to/file.py
# Swift
swiftlint lint path/to/file.swift
Only suppress when the lint rule is wrong for your use case:
// ESLint
// eslint-disable-next-line no-undef
console.log('allowed');
# Ruff/Flake8
x = unused # noqa: F841
// SwiftLint
// swiftlint:disable:next identifier_name
let X = 1
// Detekt
@Suppress("MagicNumber")
val x = 42
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub astralform-ai/astralform-plugins --plugin lint