quality

Runs Ruff formatting, linting, and BasedPyright type checks on Python code.

Updated Jul 9, 2026
One-click install
npx skills add https://github.com/ByronWilliamsCPA/plugin --skill quality-byronwilliamscpa
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: quality
Source: https://github.com/ByronWilliamsCPA/plugin/tree/main/plugins/wff-code/skills/quality
Command: npx skills add https://github.com/ByronWilliamsCPA/plugin --skill quality-byronwilliamscpa

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires ruff, basedpyright, bandit, pip-audit, pytest, pre-commit, markdownlint, yamllint.

What problem does it solve? It automates Python code quality enforcement by running formatting, linting, type checking, and pre-commit validation in one place, so developers catch style violations, type errors, and naming issues before committing code. ## Core Features & Use Cases - Formatting and Linting: Runs Ruff format and Ruff check with auto-fix support, enforcing 88-character line length and PyStrict-aligned rules. - Type Checking and Pre-commit Gates: Executes BasedPyright strict-mode checks, Bandit security scans, pip-audit, pytest with coverage, and pre-commit hooks as a full validation pipeline. - Naming Convention Validation: Enforces PEP 8 naming via Ruff's pep8-naming (N) rules for modules, classes, functions, and constants. - Use Case: Before committing a change, run the pre-commit workflow to auto-fix formatting and lint issues, verify types, and confirm all quality gates pass. ## Quick Start Ask the assistant to run the quality checks on the src directory and fix any lint or formatting issues it finds.

Frequently Asked Questions about quality

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

FAQPage Schema
How do I run Ruff format and lint checks on Python code?▼

Run Ruff format checks with 'uv run ruff format --check .' and lint checks with 'uv run ruff check .'. To auto-fix issues, use 'uv run ruff format .' and 'uv run ruff check --fix .' on the target path.

How to enforce PEP 8 naming conventions with Ruff?▼

Ruff enforces PEP 8 naming through its pep8-naming rule set with prefix N. Run 'uv run ruff check --select N path/' to detect violations like non-PascalCase classes or non-snake_case functions, then rename manually since most N-rules cannot auto-fix.

Why does BasedPyright report type errors in files I never changed?▼

Errors spread across untouched files usually indicate an environment problem, not a code defect. Verify the uv venv interpreter matches the project's pinned Python version, then rebuild with 'uv venv --python <pinned> --clear' and 'uv sync --all-extras'.

Does Ruff auto-fix all lint violations it finds?▼

Ruff auto-fixes issues like unused imports, import sorting, line length, and trailing whitespace. Type errors require BasedPyright, security issues require Bandit, and most naming (N-rule) violations need manual renaming.

Why do qlty results differ from my pyproject.toml Ruff config?▼

qlty runs its own Ruff invocation with independent configuration, so exclusions in pyproject.toml do not carry over. Add matching exclude entries in .qlty/qlty.toml for generated or service directories.