python-analyzer

jurabek's avatarfrom jurabek

Format and analyze Python code using ruff (formatting/linting) and ty (static type checking). Use when the user asks to format Python code, run linting, check types, fix code style issues, or analyze Python code quality.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 30, 2025

When & Why to Use This Skill

This Claude skill provides a comprehensive automated solution for Python code quality management. By integrating Ruff for high-performance linting and formatting with Ty for rigorous static type checking, it enables developers to maintain clean, standardized, and type-safe codebases with minimal effort.

Use Cases

  • Automated Code Formatting: Instantly reformat Python files or entire projects to comply with PEP 8 and custom style guides using the ultra-fast Ruff formatter.
  • Static Analysis and Linting: Detect and automatically fix common programming errors, unused imports, and code smells to improve overall code maintainability.
  • Type Safety Verification: Perform deep static type analysis using Ty to identify type mismatches and ensure function signatures are correctly annotated, preventing runtime TypeErrors.
  • Continuous Quality Assurance: Execute a full analysis pipeline (format + lint + type check) to prepare code for production or peer review, ensuring it meets high-quality standards.
namepython-analyzer
descriptionFormat and analyze Python code using ruff (formatting/linting) and ty (static type checking). Use when the user asks to format Python code, run linting, check types, fix code style issues, or analyze Python code quality.

Python Code Analyzer

Format and analyze Python code using ruff and ty.

Tools

  • ruff: Fast Python linter and formatter (replaces black, isort, flake8)
  • ty: Static type checker for Python

Workflow

1. Format Code

Format Python files with ruff:

# Format single file
ruff format path/to/file.py

# Format directory
ruff format .

# Check formatting without applying changes
ruff format --check .

2. Lint Code

Run linter to find issues:

# Lint and show issues
ruff check .

# Auto-fix fixable issues
ruff check --fix .

# Show all fixable issues
ruff check --fix --unsafe-fixes .

3. Type Check

Run static type analysis with ty:

# Check types in current directory
ty check .

# Check specific file
ty check path/to/file.py

Full Analysis Command

Run complete analysis (format + lint + type check):

ruff format . && ruff check --fix . && ty check .

Common Issues and Fixes

Ruff

  • Import sorting: Auto-fixed with ruff check --fix
  • Unused imports: Auto-fixed with ruff check --fix
  • Line length: Configure in pyproject.toml under [tool.ruff]

Ty

  • Missing type annotations: Add type hints to function signatures
  • Type mismatches: Review and correct variable/return types
  • Import errors: Ensure all dependencies are installed

Configuration

Both tools read from pyproject.toml:

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

[tool.ruff.lint]
select = ["E", "F", "I", "UP"]

[tool.ty]
python-version = "3.11"