From linters
Bulk-fix cslint warnings in a C# codebase. Use when the user says 'fix cslint', 'fix lint warnings', 'fix cs lint', 'fix linter issues', 'clean up cslint', 'fix cslint warnings', 'run cslint and fix', 'fix all lint errors', 'fix C# lint', 'bulk fix lint', 'fix all cslint', 'fix formatting warnings', 'fix style warnings', 'fix naming violations', 'fix code style', or any variation of wanting to fix cslint diagnostics across a C# repo. Not for non-C# linters. Accepts an optional path argument (defaults to current directory).
How this skill is triggered — by the user, by Claude, or both
Slash command
/linters:fix-cslintThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Bulk-fix cslint warnings in a C# codebase, committing fixes rule-by-rule from most common to least.
Bulk-fix cslint warnings in a C# codebase, committing fixes rule-by-rule from most common to least.
cslint must be on PATH. If not found, tell the user to install it:
scoop install cslint
# or: dotnet tool install --global cslint
Run cslint --summary [path] to get the rule breakdown sorted by count. Only pass the path if the user specified one; cslint defaults to the current directory.
If the user passed --semantic, add that flag to all cslint commands throughout.
If the summary shows zero violations, inform the user and stop.
Show the user the summary table and total count. Ask them to confirm before proceeding, or let them exclude specific rules.
Skip any rules the user excluded. For each remaining rule (starting with the highest count):
cslint --rules <RULE_ID> --format json [path] to get all violations with file paths and line numberscslint --rules <RULE_ID> --format json [path] to verify zero remaining violations for that rule"Fix <RULE_ID>: <RuleName> (<count> violations)" — get the rule name from the "name" field in --format json output or --list-rules. If git commit fails with "1Password: agent returned an error", STOP immediately — the user is AFK and 1Password awaits authentication. Do not retry.Once the remaining rules each have 5 or fewer violations, group all remaining fixes into a single commit:
cslint --summary [path] to verify"Fix remaining cslint warnings (<total_count> violations across <rule_count> rules)"Run cslint [path] (omit path if none was specified) (with --semantic if the user requested it) and confirm zero violations.
If any remain, report them to the user — they may be false positives or require manual intervention.
cslint [<path>...] [options]
Key options:
--summary Show diagnostics grouped by rule ID (use for planning)
--rules <IDs> Comma-separated rule IDs, or 'all' (ignores .editorconfig)
--semantic Enable Tier 4 rules (unused usings, unused locals, etc.)
--exclude Glob patterns to exclude (e.g., **/Generated/*.cs)
--severity Minimum severity: info, warning, error
--format Output format: text, json, sarif
--list-rules List all available rules with metadata (JSON)
Output format (text): path/File.cs(line,col): severity RULEID: Message
Exit codes: 0 = clean, 1 = violations, 2 = error
--semantic unless the user explicitly requests it.editorconfig is missing, cslint uses defaults — mention this to the user if relevant--exclude to skip generated files (e.g., **/obj/**, **/*.g.cs, **/Generated/*.cs) — suggest this if the survey shows noise from generated codecslint on every file edit. During this bulk-fix workflow, ignore the hook's lint output — you are already verifying fixes with --rules after each batchnpx claudepluginhub lucaspimentel/claude-plugins --plugin lintersAdds Roslynator and Meziantou analyzers, creates a comprehensive .editorconfig with 80+ diagnostic rules for enforcing strict .NET/C# coding standards.
Validates C#, Python, PowerShell, JavaScript code against .editorconfig, StyleCop.json, Directory.Build.props rules. Detects line endings, naming conventions, indentation, charset issues. JSON output for pre-commit hooks and CI.
Batch-fixes .NET analyzer warnings (IDE*, CA*, CS* for style, quality, naming, performance, security, nullable) with category/severity filtering, preview, and interactive review.