python-code-quality

laurigates/claude-plugins · updated Apr 8, 2026

$npx skills add https://github.com/laurigates/claude-plugins --skill python-code-quality
0 commentsdiscussion
summary

Quick reference for Python code quality tools: ruff (linting & formatting), ty (type checking).

skill.md

Python Code Quality

Quick reference for Python code quality tools: ruff (linting & formatting), ty (type checking).

When This Skill Applies

  • Linting Python code
  • Code formatting
  • Type checking
  • Pre-commit hooks
  • CI/CD quality gates
  • Code style enforcement

Quick Reference

Ruff (Linter & Formatter)

# Lint code
uv run ruff check .

# Auto-fix issues
uv run ruff check --fix .

# Format code
uv run ruff format .

# Check and format
uv run ruff check --fix . && uv run ruff format .

# Show specific rule
uv run ruff check --select E501  # Line too long

# Ignore specific rule
uv run ruff check --ignore E501

ty (Type Checking)

# Type check project
uv run ty check

# Type check specific file
uv run ty check src/module.py

# Check with explicit Python version
uv run ty check --python 3.11

# Verbose output
uv run ty check --verbose

pyproject.toml Configuration

[tool.ruff]
line-length = 88
target-version = "py311"

[tool.ruff.lint]
select = [
    "E",   # pycodestyle errors
    "W",   # pycodestyle warnings
    "F",   # pyflakes
    "I",   # isort
    "N",   # pep8-naming
    "UP",  # pyupgrade
    "B",   # flake8-bugbear
]
ignore = [
    "E501",  # line too long (handled by formatter)
]

[tool.ruff.lint.isort]
known-first-party = ["myproject"]

[tool.ty]
python-version = "3.11"
exclude = [
    "**/__pycache__",
    "**/.venv",
    "tests",
]

[tool.ty.rules]
possibly-unbound = "warn"

Type Hints

# Modern type hints (Python 3.10+)
def process_data(
    items: list[str],                    # Not List[str]
    config: dict[str, int],              # Not Dict[str, int]
    optional: str | None = None,         # Not Optional[str]
) -> tuple[bool, str]:                   # Not Tuple[bool, str]
    return True, "success"

# Type aliases
from typing import TypeAlias

UserId: TypeAlias = int
UserDict: TypeAlias = dict[str, str | int]

def get_user(user_id: UserId) -> UserDict:
    return {"id": user_id, "name": "Alice"}

Pre-commit Configuration

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/astral-sh/ruff-pre-commit
    rev: v0.1.9
    hooks:
      - id: ruff
        args: [--fix]
      - id: ruff-format

  - repo: https://github.com/astral-sh/ty
    rev: v0.0.10
    hooks:
      - id: ty

Common Ruff Rules

  • E501: Line too long
  • F401: Unused import
  • F841: Unused variable
  • I001: Import not sorted
  • N806: Variable should be lowercase
  • B008: Function call in argument defaults

See Also

  • python-testing - Testing code quality
  • uv-project-management - Adding quality tools to projects
  • python-development - Core Python patterns

References

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.767 reviews
  • Advait Thompson· Dec 28, 2024

    Useful defaults in python-code-quality — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Ganesh Mohane· Dec 24, 2024

    python-code-quality fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Zaid Singh· Dec 24, 2024

    python-code-quality has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Mia Gonzalez· Dec 20, 2024

    We added python-code-quality from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Aditi Singh· Dec 20, 2024

    Keeps context tight: python-code-quality is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Isabella Liu· Dec 12, 2024

    We added python-code-quality from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Yusuf Ghosh· Dec 8, 2024

    python-code-quality reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Hiroshi Jackson· Nov 27, 2024

    python-code-quality is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Nia Ghosh· Nov 19, 2024

    python-code-quality fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Layla Dixit· Nov 15, 2024

    Useful defaults in python-code-quality — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

showing 1-10 of 67

1 / 7