Writing Python
archibate/dotfiles-opencode
Use this before writing Python code, creating Python scripts, modifying Python files, or when user asks to "write python", "create a python script", "implement in python".
A skill your agent uses when a user asks to wobble ty constraint ordering, check constraint-set or TDD ordering determinism, test reversed constraint/typevar IDs, or investigate nondeterministic ty…
$ npx skills add astral-sh/ruff --skill wobbling-ty-constraint-order -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install astral-sh/ruff wobbling-ty-constraint-order --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/ruff.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/wobbling-ty-constraint-order .claude/skills/wobbling-ty-constraint-order && 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 "wobbling-ty-constraint-order" agent skill from https://github.com/astral-sh/ruff/tree/main/.agents/skills/wobbling-ty-constraint-order into .claude/skills/wobbling-ty-constraint-order/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wobbling-ty-constraint-order", 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/ruff/tree/main/.agents/skills/wobbling-ty-constraint-orderType 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/ruff --skill wobbling-ty-constraint-order -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install astral-sh/ruff wobbling-ty-constraint-order --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/astral-sh/ruff.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/wobbling-ty-constraint-order .agents/skills/wobbling-ty-constraint-order && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wobbling-ty-constraint-order" agent skill from https://github.com/astral-sh/ruff/tree/main/.agents/skills/wobbling-ty-constraint-order into .agents/skills/wobbling-ty-constraint-order/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wobbling-ty-constraint-order", 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/ruff --skill wobbling-ty-constraint-order -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install astral-sh/ruff wobbling-ty-constraint-order --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/astral-sh/ruff.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/wobbling-ty-constraint-order .cursor/skills/wobbling-ty-constraint-order && 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 "wobbling-ty-constraint-order" agent skill from https://github.com/astral-sh/ruff/tree/main/.agents/skills/wobbling-ty-constraint-order into .cursor/skills/wobbling-ty-constraint-order/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wobbling-ty-constraint-order", 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/ruff.git --path .agents/skills/wobbling-ty-constraint-order--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/ruff --skill wobbling-ty-constraint-order -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install astral-sh/ruff wobbling-ty-constraint-order --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/astral-sh/ruff.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/wobbling-ty-constraint-order .gemini/skills/wobbling-ty-constraint-order && 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 "wobbling-ty-constraint-order" agent skill from https://github.com/astral-sh/ruff/tree/main/.agents/skills/wobbling-ty-constraint-order into .gemini/skills/wobbling-ty-constraint-order/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wobbling-ty-constraint-order", 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/ruff wobbling-ty-constraint-orderInstalls 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/ruff --skill wobbling-ty-constraint-order -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/astral-sh/ruff.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/wobbling-ty-constraint-order .github/skills/wobbling-ty-constraint-order && 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 "wobbling-ty-constraint-order" agent skill from https://github.com/astral-sh/ruff/tree/main/.agents/skills/wobbling-ty-constraint-order into .github/skills/wobbling-ty-constraint-order/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wobbling-ty-constraint-order", 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/ruff --skill wobbling-ty-constraint-order -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/ruff wobbling-ty-constraint-order --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/astral-sh/ruff.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/wobbling-ty-constraint-order .opencode/skills/wobbling-ty-constraint-order && 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 "wobbling-ty-constraint-order" agent skill from https://github.com/astral-sh/ruff/tree/main/.agents/skills/wobbling-ty-constraint-order into .opencode/skills/wobbling-ty-constraint-order/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wobbling-ty-constraint-order", 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.
wobbling-ty-constraint-orderA skill your agent uses when a user asks to wobble ty constraint ordering, check constraint-set or TDD ordering determinism, test reversed constraint/typevar IDs, or investigate nondeterministic ty…
Wobbling Ty Constraint Order is an agent skill from astral-sh/ruff, published by the product's own GitHub organization. Use when a user asks to wobble ty constraint ordering, check constraint-set or TDD ordering determinism, test reversed constraint/typevar IDs, or investigate nondeterministic ty inference and mdtest results.
Its SKILL.md is about 840 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires Cargo, mktemp, and a POSIX-compatible shell; uses cargo-nextest when available and otherwise falls back to cargo test.
It sits in Testing & QA, covering Linting and formatting and Test-driven development. It works with Ruff and Python. The repository describes itself as: An extremely fast Python linter and code formatter, written in Rust. The licence is MIT.
Read from SKILL.md and the folder at commit a5aee68. 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:
cargoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Requires Cargo, mktemp, and a POSIX-compatible shell; uses cargo-nextest when available and otherwise falls back to cargo test.
From compatibility in the SKILL.md frontmatter.
Wobbling Ty Constraint Order loads about 838 tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 223 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/ruff at commit a5aee68, republished under its MIT licence (© astral-sh). 223 words, ~838 tokens.
.claude/skills/wobbling-ty-constraint-order/SKILL.md (or your agent's skills folder).TY_CONSTRAINT_SET_ORDER perturbs both the builder-local TDD-variable order and the local typevar order used to orient typevar-to-typevar constraints. The setting is fixed for the lifetime of each test process.
0: normal ordering;reverse: reverse both orderings;1 swaps adjacent IDs, 3 reverses blocks of four, and powers of two exchange neighboring blocks.This deliberately changes internal TDD shape. Run mdtests only: graph-structure unit snapshots are expected to differ. Never enable snapshot updates for a wobble run, since updating would hide the failures being sought.
From the Ruff root, first establish the normal baseline, then run the reversed and XOR-masked orders sequentially. Set TY_CONSTRAINT_ORDER_LOG_DIR to retain logs in a particular writable directory; otherwise mktemp chooses an appropriate temporary directory (respecting the environment's temporary-directory configuration).
set -u
if test -n "${TY_CONSTRAINT_ORDER_LOG_DIR:-}"; then
log_dir="$TY_CONSTRAINT_ORDER_LOG_DIR"
mkdir -p "$log_dir"
else
log_dir="$(mktemp -d -t ty-constraint-order.XXXXXXXX)"
fi
printf '%s\n' "logs: $log_dir"
if cargo nextest --version >/dev/null 2>&1; then
runner=nextest
else
runner=test
fi
printf '%s\n' "runner: cargo $runner"
export CARGO_PROFILE_DEV_OPT_LEVEL=1
export CARGO_PROFILE_DEV_DEBUG=line-tables-only
export INSTA_UPDATE=no
export MDTEST_UPDATE_SNAPSHOTS=0
unset INSTA_FORCE_PASS || true
for order in normal reverse 1 2 3 4 7 8 15; do
if test "$order" = normal; then
unset TY_CONSTRAINT_SET_ORDER || true
else
export TY_CONSTRAINT_SET_ORDER="$order"
fi
log="$log_dir/ty-constraint-order-${order}.log"
if test "$runner" = nextest; then
cargo nextest run -p ty_python_semantic --test mdtest \
--no-fail-fast --status-level fail --failure-output immediate-final \
>"$log" 2>&1
else
cargo test -p ty_python_semantic --test mdtest >"$log" 2>&1
fi
status=$?
printf '%-7s exit=%s\n' "$order" "$status"
grep -E 'Summary \[|test result:' "$log" | tail -1 || true
printf '%s\n' " log: $log"
doneRead each failing log and report the mdtest file, section, line, expected result, and actual diagnostic/revealed type. A wobble failure is evidence that inference semantics or displayed solution types still depend on ordering; do not update the mdtest expectations merely to make the wobble run green.
The knob does not perturb hashing of Salsa-backed values. The Solution binding order follows constraint source order section of regression/constraint_set_ordering.md separately varies typevar declaration order to catch binding-order changes caused by draining an FxHashMap<BoundTypeVarInstance, ...>.
© astral-sh, MIT. 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 .agents/skills/wobbling-ty-constraint-order of astral-sh/ruff.
Open the folder on GitHubat commit a5aee68
Wobbling Ty Constraint Order 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 |
|---|---|---|---|---|---|---|
| Wobbling Ty Constraint Order this skillastral-sh/ruff | 50k | — | ~838 | Automated safety check: Pass | MIT | |
| Writing Pythonarchibate/dotfiles-opencode | 108 | — | ~2.3k | Automated safety check: Notes | None | |
| Pythonalinaqi/maggy | 707 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Simple Modern Uvjlevy/simple-modern-uv | 301 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Checkav1155/houndarr | 292 | — | ~366 | Automated safety check: Pass | AGPL-3.0 | |
| Python Helpershepherdjerred/monorepo | 112 | — | ~2.3k | Automated safety check: Pass | GPL-3.0 |
archibate/dotfiles-opencode
Use this before writing Python code, creating Python scripts, modifying Python files, or when user asks to "write python", "create a python script", "implement in python".
alinaqi/maggy
Python development with ruff, mypy, pytest - TDD and type safety
jlevy/simple-modern-uv
Start, selectively modernize, fully migrate, or update Python projects using simple-modern-uv practices: uv, ruff, BasedPyright, pytest, GitHub Actions CI, and tag-driven PyPI publishing.
av1155/houndarr
Run Houndarr's full quality gate (ruff lint, ruff format check, mypy, bandit, pytest) and report results in a single table.
shepherdjerred/monorepo
Current Python development guidance for versions, uv and pip, packaging, typing, asyncio, pytest, Ruff, security, and runtime boundaries.
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…
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"…
astral-sh/ruff
A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…
astral-sh/ruff
A skill your agent uses when a user says "add a ty rule", "add a ty diagnostic", "write this new ty diagnostic", "change a ty error message", "review ty diagnostics", or asks to add, update, or…
Categories
A skill your agent uses when a user asks to wobble ty constraint ordering, check constraint-set or TDD ordering determinism, test reversed constraint/typevar IDs, or investigate nondeterministic ty…. Wobbling Ty Constraint Order is an agent skill from astral-sh/ruff, published by the product's own GitHub organization. Use when a user asks to wobble ty constraint ordering, check constraint-set or TDD ordering determinism, test reversed constraint/typevar IDs, or investigate nondeterministic ty inference and mdtest results.
Wobbling Ty Constraint Order fits situations like: A user asks to wobble ty constraint ordering; check constraint-set; TDD ordering determinism; test reversed constraint/typevar IDs.
Run `npx skills add astral-sh/ruff --skill wobbling-ty-constraint-order -a claude-code`. Or copy the skill folder (.agents/skills/wobbling-ty-constraint-order in astral-sh/ruff) into .claude/skills/wobbling-ty-constraint-order in your project. Claude Code loads it when a task matches its description.
Run `npx skills add astral-sh/ruff --skill wobbling-ty-constraint-order -a codex`. Or copy the skill folder (.agents/skills/wobbling-ty-constraint-order in astral-sh/ruff) into .agents/skills/wobbling-ty-constraint-order 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/ruff --skill wobbling-ty-constraint-order -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wobbling-ty-constraint-order, .gemini/skills/wobbling-ty-constraint-order, .github/skills/wobbling-ty-constraint-order and .opencode/skills/wobbling-ty-constraint-order in your project.
Going by SKILL.md and its folder, Wobbling Ty Constraint Order needs the command-line tools its instructions call (cargo). Compatibility (from SKILL.md): Requires Cargo, mktemp, and a POSIX-compatible shell; uses cargo-nextest when available and otherwise falls back to cargo test. .
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Wobbling Ty Constraint Order is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 838 tokens (SKILL.md is roughly 3.4k 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 Wobbling Ty Constraint Order: Writing Python (archibate/dotfiles-opencode, 108 stars), Python (alinaqi/maggy, 707 stars), Simple Modern Uv (jlevy/simple-modern-uv, 301 stars) and Check (av1155/houndarr, 292 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/ruff, which has 49,990 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 11, 2026.
Source: astral-sh/ruff on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.