Use to validate a Python project by running all checks: ruff lint, format, mypy type checking, and pytest. Ensures project is CI-ready.
From psnnpx claudepluginhub aladac/claude-pluginsThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Full validation workflow for Python projects.
# Full validation (lint + format + typecheck + test)
ruff check src/ && ruff format --check src/ && mypy src/ && pytest
# With coverage
ruff check src/ && ruff format --check src/ && mypy src/ && pytest --cov=src
ruff check src/ tests/
Fix issues:
ruff check --fix src/ tests/
ruff format --check src/ tests/
Fix issues:
ruff format src/ tests/
mypy src/
# Show error codes
mypy --show-error-codes src/
# Full test suite
pytest
# With coverage
pytest --cov=src --cov-report=term-missing
# Specific file/directory
pytest tests/unit/
.PHONY: lint format typecheck test validate fix
lint:
ruff check src/ tests/
format:
ruff format --check src/ tests/
typecheck:
mypy src/
test:
pytest
validate: lint format typecheck test
fix:
ruff check --fix src/ tests/
ruff format src/ tests/
# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install dependencies
run: pip install -e ".[dev]"
- name: Lint
run: ruff check src/
- name: Format check
run: ruff format --check src/
- name: Type check
run: mypy src/
- name: Test
run: pytest --cov=src --cov-report=xml
- uses: codecov/codecov-action@v4
# .pre-commit-config.yaml
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.3.0
hooks:
- id: ruff
args: [--fix]
- id: ruff-format
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.8.0
hooks:
- id: mypy
additional_dependencies: [types-requests]
# Install hooks
pre-commit install
# Run manually
pre-commit run --all-files
| Check | Command | Fix |
|---|---|---|
| Lint | ruff check src/ | ruff check --fix src/ |
| Format | ruff format --check src/ | ruff format src/ |
| Types | mypy src/ | Add type annotations |
| Tests | pytest | Fix failing tests |
| Coverage | pytest --cov=src | Add tests |
# See all issues with codes
ruff check src/
# Fix automatically
ruff check --fix src/
# Ignore specific rule
# noqa: E501
# Check what would change
ruff format --check --diff src/
# Fix all
ruff format src/
# Show context
mypy --show-error-context src/
# Ignore specific error
x: int = value # type: ignore[assignment]
# Run single test
pytest tests/test_foo.py::test_specific -v
# Show local variables
pytest --tb=long
# Stop on first failure
pytest -x
If using uv:
# Install dev dependencies
uv pip install -e ".[dev]"
# Or with uv sync
uv sync --dev
# Run commands via uv
uv run ruff check src/
uv run pytest