jscpd Code Migration Tracker
kucherenko/jscpd
Measures a code port between languages or frameworks with jscpd's function-level comparison, porting tests before code and tracking what is left unmatched.
Picks the next CPython standard library module ready for a RustPython upgrade, skipping modules that already have an open upgrade pull request.
$ npx skills add RustPython/RustPython --skill upgrade-pylib-next -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install RustPython/RustPython upgrade-pylib-next --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/RustPython/RustPython.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/upgrade-pylib-next .claude/skills/upgrade-pylib-next && 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 "upgrade-pylib-next" agent skill from https://github.com/RustPython/RustPython/tree/main/.agents/skills/upgrade-pylib-next into .claude/skills/upgrade-pylib-next/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-pylib-next", 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/RustPython/RustPython/tree/main/.agents/skills/upgrade-pylib-nextType 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 RustPython/RustPython --skill upgrade-pylib-next -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install RustPython/RustPython upgrade-pylib-next --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RustPython/RustPython.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/upgrade-pylib-next .agents/skills/upgrade-pylib-next && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "upgrade-pylib-next" agent skill from https://github.com/RustPython/RustPython/tree/main/.agents/skills/upgrade-pylib-next into .agents/skills/upgrade-pylib-next/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-pylib-next", 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 RustPython/RustPython --skill upgrade-pylib-next -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install RustPython/RustPython upgrade-pylib-next --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RustPython/RustPython.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/upgrade-pylib-next .cursor/skills/upgrade-pylib-next && 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 "upgrade-pylib-next" agent skill from https://github.com/RustPython/RustPython/tree/main/.agents/skills/upgrade-pylib-next into .cursor/skills/upgrade-pylib-next/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-pylib-next", 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/RustPython/RustPython.git --path .agents/skills/upgrade-pylib-next--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 RustPython/RustPython --skill upgrade-pylib-next -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install RustPython/RustPython upgrade-pylib-next --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RustPython/RustPython.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/upgrade-pylib-next .gemini/skills/upgrade-pylib-next && 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 "upgrade-pylib-next" agent skill from https://github.com/RustPython/RustPython/tree/main/.agents/skills/upgrade-pylib-next into .gemini/skills/upgrade-pylib-next/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-pylib-next", 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 RustPython/RustPython upgrade-pylib-nextInstalls 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 RustPython/RustPython --skill upgrade-pylib-next -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/RustPython/RustPython.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/upgrade-pylib-next .github/skills/upgrade-pylib-next && 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 "upgrade-pylib-next" agent skill from https://github.com/RustPython/RustPython/tree/main/.agents/skills/upgrade-pylib-next into .github/skills/upgrade-pylib-next/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-pylib-next", 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 RustPython/RustPython --skill upgrade-pylib-next -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install RustPython/RustPython upgrade-pylib-next --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RustPython/RustPython.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/upgrade-pylib-next .opencode/skills/upgrade-pylib-next && 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 "upgrade-pylib-next" agent skill from https://github.com/RustPython/RustPython/tree/main/.agents/skills/upgrade-pylib-next into .opencode/skills/upgrade-pylib-next/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "upgrade-pylib-next", 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.
upgrade-pylib-nextPicks the next CPython standard library module ready for a RustPython upgrade, skipping modules that already have an open upgrade pull request.
Runs the project's own `update_lib todo` command to see the current upgrade backlog, then separately lists open GitHub pull requests whose title contains "Update" so modules already being worked on can be skipped. From the todo output, it prioritizes modules with no remaining dependencies first, then modules whose dependency count has reached zero out of some total, such as zero of three or zero of five, meaning everything they depend on has already been upgraded.
Once a module is chosen and confirmed to have no open upgrade pull request, it hands off to a separate `upgrade-pylib` skill to actually perform that module's upgrade rather than doing the upgrade work itself. If nothing in the backlog currently qualifies, it reports that the remaining modules are all blocked on unmet dependencies instead of picking an unready one.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1e72b22. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Skill(upgrade-pylib)Bash(gh pr list:*)Bash(cargo run:*)From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
cargoghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.
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.
Next Python Stdlib Upgrade Picker loads about 257 tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 86 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 RustPython/RustPython at commit 1e72b22, republished under its MIT licence (© RustPython). 86 words, ~257 tokens.
.claude/skills/upgrade-pylib-next/SKILL.md (or your agent's skills folder).Find the next Python library module ready for upgrade and then run the upgrade-pylib workflow for it.
cargo run --release -- scripts/update_lib todo 2>/dev/nullgh pr list --search "Update in:title" --json number,title --template '{{range .}}#{{.number}} {{.title}}{{"\\n"}}{{end}}'[ ] [no deps][ ] [0/n] where dependencies are all upgraded (for example [0/3], [0/5])Skip modules that already have an open upgrade PR.
Run upgrade for selected module using the upgrade-pylib workflow.
If no modules match, report that eligible modules are blocked by dependencies.
© RustPython, 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/upgrade-pylib-next of RustPython/RustPython.
Open the folder on GitHubat commit 1e72b22
Next Python Stdlib Upgrade Picker 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 |
|---|---|---|---|---|---|---|
| Next Python Stdlib Upgrade Picker this skillRustPython/RustPython | 22k | — | ~257 | Automated safety check: Pass | MIT | |
| jscpd Code Migration Trackerkucherenko/jscpd | 6.4k | — | ~5k | Automated safety check: Pass | MIT | |
| Uv Package ManagerYikai-Liao/symusic | 189 | 16 repos | ~4k | Automated safety check: Notes | MIT | |
| Dep Auditorlaolaoshiren/claude-code-skills-zh | 878 | — | ~895 | Automated safety check: Pass | MIT | |
| Flowfile Build and Environment SetupEdwardvaneechoud/Flowfile | 373 | — | ~7.3k | Automated safety check: Notes | MIT | |
| Update V8 Versionopeninterpreter/openinterpreter | 69k | 2 repos | ~845 | Automated safety check: Pass | Apache-2.0 |
kucherenko/jscpd
Measures a code port between languages or frameworks with jscpd's function-level comparison, porting tests before code and tracking what is left unmatched.
Yikai-Liao/symusic
Master the uv package manager for fast Python dependency management, virtual environments, and modern Python project workflows.
laolaoshiren/claude-code-skills-zh
审计 Node.js、Python、Go、Rust、JVM、Ruby 项目的依赖漏洞、版本健康度与许可证事实;当用户要求检查 package.json、lockfile、requirements、go.mod、Cargo.toml、pom.xml、Gemfile.lock,或生成不改依赖的中文审计报告时使用
Edwardvaneechoud/Flowfile
Recreates every Flowfile development and build environment from scratch, with exact version pins and an explanation of what each Makefile target really does.
openinterpreter/openinterpreter
Bumps the pinned v8 and rusty_v8 versions in Codex, validates the release-candidate path with the v8-canary check, and traces failures to upstream build changes.
Aedelon/claude-code-blueprint
Master uv package manager for Python: project setup, dependency management, virtual environments, lockfiles, CI/CD integration, Docker builds, and migration from pip/poetry.
RustPython/RustPython
Runs RustPython tests inside a Linux container built with Apple's container CLI, so macOS users can compare Linux results with their local ones.
RustPython/RustPython
Implements missing CPython C-API functions in RustPython's crates/capi, mapping each header to its module with the pyo3-ffi header split.
RustPython/RustPython
Upgrades a Python standard library module from CPython into RustPython with update_lib, then triages and marks the tests that still fail.
RustPython/RustPython
Investigates a failing RustPython test by comparing it with CPython, then either fixes it or gathers the details for an incompatibility report.
Categories
Picks the next CPython standard library module ready for a RustPython upgrade, skipping modules that already have an open upgrade pull request. Runs the project's own `update_lib todo` command to see the current upgrade backlog, then separately lists open GitHub pull requests whose title contains "Update" so modules already being worked on can be skipped. From the todo output, it prioritizes modules with no remaining dependencies first, then modules whose dependency count has reached zero out of some total, such as zero of three or zero of five, meaning everything they depend on has already been upgraded.
Next Python Stdlib Upgrade Picker fits situations like: finding which CPython stdlib module to upgrade in RustPython next; skipping modules that already have an open upgrade pull request; checking whether any stdlib modules are currently unblocked for upgrade.
Run `npx skills add RustPython/RustPython --skill upgrade-pylib-next -a claude-code`. Or copy the skill folder (.agents/skills/upgrade-pylib-next in RustPython/RustPython) into .claude/skills/upgrade-pylib-next in your project. Claude Code loads it when a task matches its description.
Run `npx skills add RustPython/RustPython --skill upgrade-pylib-next -a codex`. Or copy the skill folder (.agents/skills/upgrade-pylib-next in RustPython/RustPython) into .agents/skills/upgrade-pylib-next 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 RustPython/RustPython --skill upgrade-pylib-next -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/upgrade-pylib-next, .gemini/skills/upgrade-pylib-next, .github/skills/upgrade-pylib-next and .opencode/skills/upgrade-pylib-next in your project.
Going by SKILL.md and its folder, Next Python Stdlib Upgrade Picker needs the command-line tools its instructions call (cargo and gh). Our summary lists: cargo; The gh CLI. Its frontmatter pre-approves these tools: Skill(upgrade-pylib), Bash(gh pr list:*), Bash(cargo run:*).
SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. 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.
Next Python Stdlib Upgrade Picker is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 257 tokens (SKILL.md is roughly 1k 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 Next Python Stdlib Upgrade Picker: jscpd Code Migration Tracker (kucherenko/jscpd, 6.4k stars), Uv Package Manager (Yikai-Liao/symusic, 189 stars), Dep Auditor (laolaoshiren/claude-code-skills-zh, 878 stars) and Flowfile Build and Environment Setup (Edwardvaneechoud/Flowfile, 373 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
RustPython (a GitHub organization) maintains it in RustPython/RustPython, which has 22,383 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 8, 2026.
Source: RustPython/RustPython on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.