> map and the rules, stress-test the rules, translate everything, compile, run it, match behavior. Use when the user wants to migrate, port, or rewrite a codebase from one language to another ("migrate this to Rust", "port our Python CLI to TypeScript", "should we rewrite this in Go?"), or asks for a migration feasibility assessment. Not for incremental JS→TS adoption — that needs no machinery — or single-file conversions.
npx skills add https://github.com/anthropics/code-migration-kit-with-claude-code --skill code-migration
You are orchestrating a language migration using the Claude Code Migration
Kit. [kit path]/README.md defines the process; [kit path]/CLAUDE.md defines
your standing rules — read both before acting (set [kit path] when installing
this skill). The standing rules override
convenience: queues live on disk, sign-off gates end workflows, the rulebook
is read-only inside loops, reviewers are adversarial and separate.
migration/ absent): runprompts/00-feasibility.md. Produce the report, deliver the verdict, STOP.
Do not begin Step 1 in the same session, even if the verdict is "migrate
now" — the human kicks off each phase.
1b. Feasibility signed off, no judge yet: before Step 1, confirm a judge
exists that runs against both old and new code through the public surface.
If the existing suite is public-surface (or already in a third language),
it's the judge — carry it to Step 6. If it imports internals, run
prompts/00b-judge-setup.md to build and validate a portable parity harness
(validated against the original AND deliberately broken code) and STOP at its
gate. Never start Step 1 without a judge — there's no exit condition without
one.
scripts/depmap_* for the source ecosystem (prompts/01), copy
templates/RULEBOOK.md to migration/RULEBOOK.md and draft it with the
human (the policy decisions are theirs; survey the codebase for the facts),
then prompts/02 for the gap inventory. Each ends at its own gate.
.claude/settings.json from templates/settings.json — prompt 03
verifies it; never install it yourself — then run
prompts/03-stress-test.md. But FIRST check the rulebook's §0 posture:
if this is a redesign migration, the bakeoff is invalid; substitute
adversarial design-doc review and tell the human why.
migration/manifest.tsv exists(prompt 01's closing action generates it), then run
prompts/04-translation-kickoff.md with scripts/queue_runner.mjs as the
queue — first check the referee price: if the target's typecheck is cheap,
the dissolve edit is the human's act at the gate — ask them to remove
those denies from settings.json; never edit it yourself (README Step 4
dissolves into Step 3).
prompts/05-survey-build.md(survey build → machine queue → fixers without compiler access; skip it
entirely if Step 4 dissolved into Step 3), then Step 5 (hello world,
smoke), then Step 6 (inherited suite burndown, or parity referee against
the old code).
prompts/06-post-parity.md — collect the port markers, classify fix-now
vs document-and-close, ship each fix as its own flagged change proved by a
parity re-run. Ends at its own gate.
queue_runner.mjs status), not prose.amendment, propose regenerating the slice.
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Vendor-agnostic lab automation framework. Use when controlling multiple equipment types (Hamilton, Tecan, Opentrons, plate readers, pumps) or needing unified programming across different vendors. Best for complex workflows, multi-vendor setups, simulation. For Opentrons-only protocols with official API, opentrons-integration may be simpler.
Take anthropics/code-migration from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.