Python Code Quality Skill
Ensure Python code follows best practices with automated linting, formatting, and type checking using ruff and mypy.
When to Use This Skill
Use this skill when:
- •User requests code linting or formatting
- •User mentions code quality, PEP 8, or style issues
- •User wants to fix linting errors
- •User asks about type checking
- •Code review processes require quality checks
Core Capabilities
- •
Linting with Ruff
- •Check code for style violations
- •Identify potential bugs and code smells
- •Enforce PEP 8 compliance
- •Auto-fix issues where possible
- •
Code Formatting
- •Format code consistently with ruff
- •Organize imports automatically
- •Ensure consistent indentation and line length
- •
Type Checking with Mypy
- •Verify type annotations are correct
- •Catch type-related bugs before runtime
- •Ensure type safety across the codebase
- •
Code Quality Metrics
- •Complexity analysis
- •Dead code detection
- •Unused import identification
Context Files
This skill references the following context files in this directory:
- •
ruff-configuration.md- Ruff linting and formatting rules - •
mypy-configuration.md- Type checking configuration - •
common-issues.md- Common Python code quality issues and fixes - •
best-practices.md- Python coding best practices
Key Tools and Commands
bash
# Linting ruff check . # Check for issues ruff check --fix . # Auto-fix issues ruff check --watch . # Watch mode # Formatting ruff format . # Format all files ruff format --check . # Check if formatting needed # Type checking mypy src # Check types mypy --strict src # Strict mode
Common Workflows
Pre-commit Quality Check
bash
ruff check --fix . && ruff format . && mypy src
CI/CD Pipeline
bash
ruff check . # Fail if unfixed issues ruff format --check . # Fail if unformatted mypy src # Fail on type errors
Expected Outcomes
After using this skill:
- •All code follows PEP 8 style guidelines
- •Imports are properly organized
- •Type hints are correct and comprehensive
- •Code is consistently formatted
- •Common bugs and issues are identified
Integration with Other Skills
- •Works with
python-project-setupfor initial configuration - •Complements
python-testingfor comprehensive quality assurance - •Used by
python-project-setupagent for automated checks