linter

Runs multiple linters across shell, Markdown, YAML, C#, Terraform, and Python files with structured findings reports.

Updated Jun 24, 2026
One-click install
npx skills add https://github.com/psmfd/pi-config --skill linter-psmfd
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: linter
Source: https://github.com/psmfd/pi-config/tree/main/agent/skills/linter
Command: npx skills add https://github.com/psmfd/pi-config --skill linter-psmfd

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Manually running and configuring many different linters across a polyglot codebase is tedious and error-prone. This Skill discovers lintable files, runs the appropriate linter for each file type, and produces a single structured findings report, with optional auto-fix mode. ## Core Features & Use Cases - Multi-tool linting: Covers shellcheck, markdownlint-cli2, yamllint, dotnet format, helm lint, hadolint, terraform validate, tflint, actionlint, and ruff, with install commands and check-only or auto-fix invocations for each. - Smart file discovery and exclusion: Finds lintable files by extension, filename, or shebang while excluding third-party directories like node_modules, .venv, vendor, and .terraform. - Default configurations: Ships industry-standard starter configs (.shellcheckrc, .markdownlint-cli2.yaml, .yamllint.yaml, .editorconfig, .hadolint.yaml, .tflint.hcl, ruff pyproject settings) without overwriting existing project configs. - Use Case: After generating a project containing Bash scripts, Terraform modules, and Python code, run this Skill to lint everything at once, get a per-tool findings table, and apply auto-fixes for ruff and markdownlint. ## Quick Start Lint all supported files in the current working directory and show me a findings report with any missing tools listed.

Frequently Asked Questions about linter

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I lint multiple file types in one project?▼

Discover lintable files by extension, filename, or shebang, then run the matching linter per type: shellcheck for shell scripts, yamllint for YAML, ruff for Python, and so on. Aggregate results into a single per-tool findings report.

Which linters support auto-fix mode?▼

markdownlint-cli2 supports --fix, dotnet format fixes when run without --verify-no-changes, and ruff supports check --fix plus format. shellcheck, yamllint, hadolint, tflint, and actionlint are check-only tools.

How do I exclude node_modules and vendor directories from linting?▼

Use each tool's exclusion mechanism: ignores in .markdownlint-cli2.yaml, ignore in .yamllint.yaml, exclude in ruff's pyproject.toml, and find with -prune for shellcheck and hadolint. Common excludes are node_modules, .venv, vendor, roles, and .terraform.

What happens if a linter is not installed?▼

The tool check reports the missing linter with its install command and skips it, continuing with available tools. Tools are only installed when explicitly requested, and checks are skipped entirely when no files of that type exist.

Does this overwrite my existing linter configuration files?▼

No. Default configurations like .shellcheckrc, .yamllint.yaml, and .tflint.hcl are only used when a project has no existing config for that tool. Existing configuration files are never overwritten.