language-version-migrator

language-version-migrator is a skill for Claude Code, Codex from SkillMedev/legacy-modernization. It costs 170 tokens per session (1,832 once invoked), scanned A, original, MIT.

A migration guide for moving a codebase between language or runtime versions that may not work the same way. It uses a period where both the old and new versions run before switching over.

In plain words
What is it for?
Use it for upgrades such as Python 2 to Python 3 or a major Node.js version change, including automated code updates, comparison checks, and rollback planning.
Why use it?
It helps avoid a long-lived split branch and exposes compatibility problems before the new version becomes the only one in use.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it for upgrades such as Python 2 to Python 3 or a major Node.js version change, including automated code updates, comparison checks, and rollback planning.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/skillmedev/legacy-modernization/language-version-migrator
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add SkillMedev/legacy-modernization --skill language-version-migrator
Clone the repo
git clone --depth 1 https://github.com/SkillMedev/legacy-modernization

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for language-version-migrator

README.md
[![agentmods](https://agentmods.dev/badge/skills/skillmedev/legacy-modernization/language-version-migrator/github.svg)](https://agentmods.dev/skills/skillmedev/legacy-modernization/language-version-migrator)
Your own site
<a href="https://agentmods.dev/skills/skillmedev/legacy-modernization/language-version-migrator"><img src="https://agentmods.dev/badge/skills/skillmedev/legacy-modernization/language-version-migrator/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for language-version-migrator

Your own site · 80×15
<a href="https://agentmods.dev/skills/skillmedev/legacy-modernization/language-version-migrator"><img src="https://agentmods.dev/badge/skills/skillmedev/legacy-modernization/language-version-migrator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 170 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,832 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00170 $0.01832
Opus 5.5 $0.00068 $0.00733
Sonnet 5.5 $0.00034 $0.00366
Haiku 4.5 $0.00017 $0.00183

Measured 24d ago against content hash 3e46ef84c704, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

language-version-migrator scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 24d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/language-version-migrator/SKILL.md · 114 lines

How it starts

The opening of the file, as written. The whole thing — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Language Version Migrator

Port code across a breaking language or runtime version by making it run on both versions first, then flipping the interpreter. The failure this skill prevents is the big-bang migration branch: a months-long fork that cannot merge, cannot ship, and cannot roll back, where the team discovers the semantic breaks (encoding, division, ordering) in production. Dual compatibility turns cutover into a config flip.

Operating procedure

Run the steps in order. Dependencies gate the interpreter, tests gate the transforms, and the transforms gate the cutover - skipping ahead is how migrations stall.

Step 1: Gather inputs

Collect these before planning. Label any estimate as a guess and refine as the inventory lands.

  1. Source and target versions, and whether intermediate stops are required (Java 8 to 21 usually staged through 11 and 17; Python 2 to 3 is direct).
  2. Codebase size: LOC and module count. This sets the batch count.
  3. Test coverage per module. Any module under roughly 60 percent line coverage on migration-affected paths needs characterization tests first (pair with characterization-test-writer).
  4. Dependency count and lockfile state. Every dependency needs a compatibility verdict.
  5. Deployment shape: one deployable or many services (many services migrate independently - sequence leaf services first).
  6. Deadline and any code-freeze windows.

Step 2: Inventory the breaking surface

Run the official analyzers - 2to3, python-modernize, pyupgrade for Python; jdeps and the JDK migration guide for Java; Node's deprecation list plus the linter's target-version rule for Node. Produce a categorized list: mechanical (renames, removed syntax), semantic (Python 3 str/bytes split and integer division; Java module system and removed javax APIs; Node ESM/CommonJS and removed globals), and dependency-blocked. The mechanical count sizes the codemod work; the semantic count sizes the hand-review work.

Step 3: Sequence dependencies before the interpreter

Read the full file on GitHub · 114 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 24d ago Changed · +2 lines · +1 tokens per session 3e46ef84c704
  2. 1mo ago First seen · 112 lines · 169 tokens per session scan A 27625a170f24

Subscribe to this mod's changes

language-version-migrator is a skill published in the GitHub repository SkillMedev/legacy-modernization (2 stars, last pushed 24d ago), licensed MIT. It adds 170 tokens to every session and 1,832 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.