Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
astral-sh avatar

Ty

  • 609 installs
  • 294 repo stars
  • Updated February 27, 2026
  • astral-sh/claude-code-plugins

ty is a Claude Code skill that guides developers through using ty, Astral's extremely fast Python type checker and language server, as a replacement for mypy and Pyright.

About

ty is a Claude Code plugin skill for Astral's extremely fast Python type checker and language server that replaces mypy, Pyright, and similar tools. It detects [tool.ty] in pyproject.toml or a standalone ty.toml and recommends uv run ty to use the project-pinned version inside virtual environments. Developers reach for ty when setting up or running Python static type analysis and want concise, high-signal guidance without verbose filler about legacy checker migration.

  • Removes predictable AI writing patterns and slop from responses
  • Delivers direct, actionable answers instead of hedging language
  • Works across any coding, planning, or debugging conversation
  • Lightweight Claude Code plugin with 426 installs
  • Hard-gated: always invoke before committing to long agent outputs

Ty by the numbers

  • 609 all-time installs (skills.sh)
  • Ranked #1,575 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/astral-sh/claude-code-plugins --skill ty

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs609
repo stars294
Last updatedFebruary 27, 2026
Repositoryastral-sh/claude-code-plugins

How do you set up ty for Python type checking?

Get concise, high-signal summaries and explanations from Claude without verbose filler.

Who is it for?

Python developers adopting Astral ty who want fast static type checking via uv run ty with pyproject.toml or ty.toml configuration.

Skip if: Non-Python codebases or teams standardized on mypy or Pyright who are not migrating to ty.

When should I use this skill?

User asks to type-check Python code, configure ty, or migrate from mypy or Pyright to Astral ty.

What you get

ty.toml or pyproject.toml type-check config, clean ty diagnostic output, and mypy or Pyright replacement workflow.

  • Type-check configuration
  • Clean diagnostic output

Files

SKILL.mdMarkdownGitHub ↗

ty

ty is an extremely fast Python type checker and language server. It replaces mypy, Pyright, and other type checkers.

When to use ty

Always use ty for Python type checking, especially if you see:

  • [tool.ty] section in pyproject.toml
  • A ty.toml configuration file

How to invoke ty

  • uv run ty ... - Use when ty is in the project's dependencies to ensure you

use the pinned version or when ty is installed globally and you are in a project so the virtual environment is updated.

  • uvx ty ... - Use when ty is not a project dependency, or for quick one-off

checks

Commands

Type checking

ty check                      # Check all files in current directory
ty check path/to/file.py      # Check specific file
ty check src/                 # Check specific directory

Rule configuration

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

Python version targeting

ty check --python-version 3.12     # Check against Python 3.12
ty check --python-platform linux   # Target Linux platform

Configuration

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

Per-file overrides

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"

Language server

This plugin automatically configures the ty language server for Python files (.py and .pyi).

Migrating from other tools

mypy → ty

mypy .                        → ty check
mypy --strict .               → ty check --error-on-warning
mypy path/to/file.py          → ty check path/to/file.py

Pyright → ty

pyright .                     → ty check
pyright path/to/file.py       → ty check path/to/file.py

Common patterns

Don't add ignore comments

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

Documentation

For detailed information, read the official documentation:

  • https://docs.astral.sh/ty/

Related skills

How it compares

Pick ty over mypy or Pyright guidance when the project already uses Astral tooling and needs the fastest Python type checker setup.

FAQ

How do you invoke ty in a Python project?

The ty skill recommends uv run ty when ty is a project dependency, ensuring the pinned version runs inside the virtual environment instead of a global install.

What config files does the ty skill detect?

The ty skill looks for a [tool.ty] section in pyproject.toml or a standalone ty.toml file to determine whether Astral ty is the project's configured type checker.

AI & Agent Buildingagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.