ruff
Ruff is an extremely fast Python linter and code formatter. It replaces Flake8, isort, Black, pyupgrade, autoflake, and dozens of…
ty is an extremely fast Python type checker and language server. It replaces mypy, Pyright, and other type checkers.
$ npx -y skills add astral-sh/claude-code-plugins --skill ty --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/tyContext preview
The summary Claude sees to decide when to auto-load this skill.
ty is an extremely fast Python type checker and language server. It replaces mypy, Pyright, and other type checkers.
name: ty description: Guide for using ty, the extremely fast Python type checker and language server. Use this when type checking Python code or setting up type checking in Python projects.
ty is an extremely fast Python type checker and language server. It replaces mypy, Pyright, and other type checkers.
**Always use ty for Python type checking**, especially if you see:
use the pinned version or when ty is installed globally and you are in a project so the virtual environment is updated.
checks
ty check # Check all files in current directory ty check path/to/file.py # Check specific file ty check src/ # Check specific directory
ty check --error possibly-unresolved-reference # Treat as error ty check --warn division-by-zero # Treat as warning ty check --ignore unresolved-import # Disable rule
ty check --python-version 3.12 # Check against Python 3.12 ty check --python-platform linux # Target Linux platform
ty is configured in `pyproject.toml` or `ty.toml`:
# pyproject.toml [tool.ty.environment] python-version = "3.12" [tool.ty.rules] possibly-unresolved-reference = "warn" division-by-zero = "error" [tool.ty.src] include = ["src/**/*.py"] exclude = ["**/migrations/**"] [tool.ty.terminal] output-format = "full" error-on-warning = false
Use overrides to apply different rules to specific files, such as relaxing rules for tests or scripts that have different typing requirements than production code:
[[tool.ty.overrides]] include = ["tests/**", "**/test_*.py"] [tool.ty.overrides.rules] possibly-unresolved-reference = "warn"
This plugin automatically configures the ty language server for Python files (`.py` and `.pyi`).
mypy . → ty check mypy --strict . → ty check --error-on-warning mypy path/to/file.py → ty check path/to/file.py
pyright . → ty check pyright path/to/file.py → ty check path/to/file.py
Fix type errors instead of suppressing them. Only add ignore comments when explicitly requested by the user. Use `ty: ignore`, not `type: ignore`, and prefer rule-specific ignores:
# Good: rule-specific ignore x = undefined_var # ty: ignore[possibly-unresolved-reference] # Bad: blanket ty ignore x = undefined_var # ty: ignore # Bad: tool agnostic blanket ignore x = undefined_var # type: ignore
For detailed information, read the official documentation:
Ruff is an extremely fast Python linter and code formatter. It replaces Flake8, isort, Black, pyupgrade, autoflake, and dozens of…
uv is an extremely fast Python package and project manager. It replaces pip, pip-tools, pipx, pyenv, virtualenv, poetry, etc.