Minimizing Ty Ecosystem Changes
astral-sh/ruff
A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…
Guide for using ty, the extremely fast Python type checker and language server.
$ npx skills add astral-sh/claude-code-plugins --skill ty -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install astral-sh/claude-code-plugins ty --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/astral-sh/claude-code-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/astral/skills/ty .claude/skills/ty && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ty" agent skill from https://github.com/astral-sh/claude-code-plugins/tree/main/plugins/astral/skills/ty into .claude/skills/ty/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ty", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/astral-sh/claude-code-plugins/tree/main/plugins/astral/skills/tyType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add astral-sh/claude-code-plugins --skill ty -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install astral-sh/claude-code-plugins ty --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/astral-sh/claude-code-plugins.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/astral/skills/ty .agents/skills/ty && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ty" agent skill from https://github.com/astral-sh/claude-code-plugins/tree/main/plugins/astral/skills/ty into .agents/skills/ty/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ty", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add astral-sh/claude-code-plugins --skill ty -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install astral-sh/claude-code-plugins ty --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/astral-sh/claude-code-plugins.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/astral/skills/ty .cursor/skills/ty && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ty" agent skill from https://github.com/astral-sh/claude-code-plugins/tree/main/plugins/astral/skills/ty into .cursor/skills/ty/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ty", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/astral-sh/claude-code-plugins.git --path plugins/astral/skills/ty--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add astral-sh/claude-code-plugins --skill ty -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install astral-sh/claude-code-plugins ty --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/astral-sh/claude-code-plugins.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/astral/skills/ty .gemini/skills/ty && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ty" agent skill from https://github.com/astral-sh/claude-code-plugins/tree/main/plugins/astral/skills/ty into .gemini/skills/ty/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ty", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install astral-sh/claude-code-plugins tyInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add astral-sh/claude-code-plugins --skill ty -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/astral-sh/claude-code-plugins.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/astral/skills/ty .github/skills/ty && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ty" agent skill from https://github.com/astral-sh/claude-code-plugins/tree/main/plugins/astral/skills/ty into .github/skills/ty/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ty", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add astral-sh/claude-code-plugins --skill ty -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install astral-sh/claude-code-plugins ty --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/astral-sh/claude-code-plugins.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/astral/skills/ty .opencode/skills/ty && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ty" agent skill from https://github.com/astral-sh/claude-code-plugins/tree/main/plugins/astral/skills/ty into .opencode/skills/ty/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ty", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
tyGuide for using ty, the extremely fast Python type checker and language server.
Ty is an agent skill from astral-sh/claude-code-plugins, published by the product's own GitHub organization. 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.
Its SKILL.md is about 790 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Type safety. It works with Python. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit f3ce88a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
mypyuvuvxFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
docs.astral.shFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ty loads about 792 tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 207 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from astral-sh/claude-code-plugins at commit f3ce88a, republished under its Apache-2.0 licence (© astral-sh). 207 words, ~792 tokens.
.claude/skills/ty/SKILL.md (or your agent's skills folder).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:
[tool.ty] section in pyproject.tomlty.toml configuration fileuv 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
checksty check # Check all files in current directory
ty check path/to/file.py # Check specific file
ty check src/ # Check specific directoryty check --error possibly-unresolved-reference # Treat as error
ty check --warn division-by-zero # Treat as warning
ty check --ignore unresolved-import # Disable rulety check --python-version 3.12 # Check against Python 3.12
ty check --python-platform linux # Target Linux platformty 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 = falseUse 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.pypyright . → ty check
pyright path/to/file.py → ty check path/to/file.pyFix 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: ignoreFor detailed information, read the official documentation:
© astral-sh, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/astral/skills/ty of astral-sh/claude-code-plugins.
Open the folder on GitHubat commit f3ce88a
Ty next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ty this skillastral-sh/claude-code-plugins | 313 | — | ~792 | Automated safety check: Pass | Apache-2.0 | |
| Minimizing Ty Ecosystem Changesastral-sh/ruff | 50k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Kedro Babysitkedro-org/kedro | 11k | — | ~4k | Automated safety check: Pass | Custom licence | |
| Dignified Python Standardsdocling-project/docling | 69k | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Rust Ffiariebovenberg/whenever | 2.4k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Diataxis Docs Writercalf-ai/calfkit-sdk | 149 | 1 repos | ~3k | Automated safety check: Pass | Apache-2.0 |
astral-sh/ruff
A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…
kedro-org/kedro
Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…
docling-project/docling
Applies opinionated production Python conventions chosen by the project's Python version: modern type syntax, pathlib, explicit checks and interface guidance.
ariebovenberg/whenever
Instructions for using whenever's internal Rust FFI abstractions
calf-ai/calfkit-sdk
Write or improve software documentation using the Diátaxis framework — four documentation types (tutorials, how-to guides, reference, explanation), each serving a different user need.
alorence/django-modern-rpc
Routine update of all project dependencies — uv itself, uv.lock (all groups), tool versions pinned in GitHub workflows and .pre-commit-config.yaml (uv, ruff, mypy...), and SHA-pinned GitHub Actions.
Works with
Categories
Guide for using ty, the extremely fast Python type checker and language server. Ty is an agent skill from astral-sh/claude-code-plugins, published by the product's own GitHub organization. Guide for using ty, the extremely fast Python type checker and language server.
Ty fits situations like: tasks that involve Type safety.
Run `npx skills add astral-sh/claude-code-plugins --skill ty -a claude-code`. Or copy the skill folder (plugins/astral/skills/ty in astral-sh/claude-code-plugins) into .claude/skills/ty in your project. Claude Code loads it when a task matches its description.
Run `npx skills add astral-sh/claude-code-plugins --skill ty -a codex`. Or copy the skill folder (plugins/astral/skills/ty in astral-sh/claude-code-plugins) into .agents/skills/ty in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add astral-sh/claude-code-plugins --skill ty -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ty, .gemini/skills/ty, .github/skills/ty and .opencode/skills/ty in your project.
Going by SKILL.md and its folder, Ty needs the command-line tools its instructions call (mypy, uv and uvx). Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: docs.astral.sh. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Ty is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 792 tokens (SKILL.md is roughly 3.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ty: Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars), Kedro Babysit (kedro-org/kedro, 11k stars), Dignified Python Standards (docling-project/docling, 69k stars) and Rust Ffi (ariebovenberg/whenever, 2.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
astral-sh (a GitHub organization, an official publisher) maintains it in astral-sh/claude-code-plugins, which has 313 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on February 27, 2026.
Source: astral-sh/claude-code-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.