linter

Lint and auto-fix Shell, Markdown, and Python files with fallback config rules.

7|5|Updated Jul 22, 2025
One-click install
npx skills add https://github.com/nebius/nebius-ps-services --skill linter-nebius
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: linter
Source: https://github.com/nebius/nebius-ps-services/tree/main/skills/linter
Command: npx skills add https://github.com/nebius/nebius-ps-services --skill linter-nebius

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires shellcheck, markdownlint, ruff, ripgrep, and includes scripts (resource) components.

What problem does it solve? Repositories accumulate lint errors across shell scripts, Markdown docs, and Python code, and manually fixing every violation or tuning lint configs is repetitive work. This Skill runs a fix-first linting workflow that applies safe automatic fixes before falling back to narrowly scoped config rules. ## Core Features & Use Cases - Multi-language linting: Checks shell scripts with bash -n and shellcheck, Markdown with markdownlint, and Python with Ruff. - Fix-first workflow: Runs markdownlint --fix and ruff check --fix first, then tries extra formatters like prettier or mdformat before touching config files. - Targeted config fallback: Writes only the unresolved rule IDs into .markdownlint.json or pyproject.toml instead of disabling broad rule sets. - Use Case: After a large documentation and script refactor, run the lint helper against the repo root to auto-fix formatting issues and generate minimal fallback rules for the handful of violations that cannot be fixed directly. ## Quick Start Run the linter skill against the current repository root to auto-fix shell, Markdown, and Python lint issues and report anything that still needs manual attention.

Frequently Asked Questions about linter

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

FAQPage Schema
How do I lint shell, Markdown, and Python files in one pass?

Run scripts/lint-repo.sh with the --root flag pointing at your repository. It discovers *.sh, *.bash, *.md, and *.py files with ripgrep, then runs bash -n and shellcheck for shell, markdownlint for Markdown, and ruff check for Python in a single execution.

How to auto-fix markdownlint and Ruff violations automatically?

The script runs markdownlint --fix and ruff check --fix before reporting issues. For Markdown it also tries prettier --prose-wrap always or mdformat as an extra pass, resolving most fixable violations without manual edits.

Can I run lint checks without modifying any files?

Yes, use check-only mode with --no-fix --no-config-fallback. This skips markdownlint --fix, ruff check --fix, and all fallback config writes, so the script only reports violations and exits nonzero if any remain.

What happens when lint errors cannot be auto-fixed?

The script extracts the unresolved rule IDs (MD codes or Ruff codes) and writes them as targeted ignore rules into .markdownlint.json or the [tool.ruff.lint] section of pyproject.toml. Existing config files are never overwritten; you get a warning with the codes to merge manually.

Which tools must be installed for this lint workflow?

ripgrep (rg) is required for file discovery. shellcheck is needed for shell linting, markdownlint for Markdown, and ruff for Python. prettier or mdformat are optional and only used as an extra Markdown fix pass when available.