From quality-tools
Ruff linting rules, security patterns, mypy type checking, and Python code review best practices. PROACTIVELY activate for: (1) Setting up Ruff linting, (2) Fixing security vulnerabilities, (3) Resolving mypy type errors, (4) Code review for anti-patterns, (5) Python best practices enforcement. Triggers: "ruff", "lint", "refactor", "security", "anti-pattern", "python review", "mypy", "type error"
How this skill is triggered — by the user, by Claude, or both
Slash command
/quality-tools:python-code-review-and-lintingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Keywords**: ruff, lint, refactor, security, anti-pattern, python review, mypy
Keywords: ruff, lint, refactor, security, anti-pattern, python review, mypy
File Patterns: *.py
Modes: code_review
# pyproject.toml
[tool.ruff]
line-length = 100
[tool.ruff.lint]
select = ["E", "F", "B", "S", "I"]
ignore = ["E501"] # Line too long (handled by formatter)
[tool.ruff.format]
quote-style = "double"
S101: Assert used (disabled in production)
# Insecure
assert user.is_admin, "Not admin" # Can be disabled with -O flag
# Secure
if not user.is_admin:
raise PermissionError("Not admin")
S105/S106: Hardcoded secrets
# Violation
password = "admin123"
# Fix
import os
password = os.getenv("PASSWORD")
S301: Unsafe pickle
# Code execution risk
data = pickle.loads(user_input)
# Safe
import json
data = json.loads(user_input)
S307: Use of eval
# Arbitrary code execution
result = eval(user_input)
# Safe
import ast
result = ast.literal_eval(user_input) # Only literals
B006: Mutable default argument
# Shared state bug
def add_item(item, items=[]):
items.append(item)
return items
# Fix
def add_item(item, items=None):
if items is None:
items = []
items.append(item)
return items
B007: Unused loop variable
# Confusing
for i in range(10):
do_something() # 'i' not used
# Clear
for _ in range(10):
do_something()
# error: Argument 1 has incompatible type "str"; expected "int"
def process(x: int) -> int:
return x * 2
process("5") # Type error
# Fix
process(int("5"))
npx claudepluginhub agentient/vibekit --plugin quality-toolsReviews Python code for type safety, error handling, security vulnerabilities, and performance issues. Reports findings by severity/location with fix examples.
Reviews Python code for type safety, error handling, security vulnerabilities, performance issues, and modern patterns. Use for code reviews, PRs, or quality assessments.
Lints Python code with ruff: fast checks, rule selection, auto-fixing, output formats, configuration. Use for code quality, bug detection, standards enforcement.