Agent skill

Migration Scoring

by OpenHands in OpenHands/extensions

Evaluate code migration quality with coverage, correctness, and style scoring.

MITAuto-check passedDevelopment

Install Migration Scoring

skills CLI
$ npx skills add OpenHands/extensions --skill migration-scoring -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install OpenHands/extensions migration-scoring --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/OpenHands/extensions.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/migration-scoring/skills/migration-scoring .claude/skills/migration-scoring && rm -rf skills-src

Use ~/.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/

Facts

Skill name
migration-scoring
GitHub stars
157
Token cost
~841 tokens
SKILL.md length
205 words
Files
1
Skills in repo
78
Repo updated
First seen
Licence
MIT

At a glance

Evaluate code migration quality with coverage, correctness, and style scoring.

  • Works in 4 steps: Migration Mapping → Quality Scoring → Style Scoring → …
  • Tasks that involve Report writing
  • SKILL.md covers Overview, Prerequisites, Quick Start and Workflow Phases, plus 2 more sections
  • Calls uv; needs LLM_API_KEY

What it does

Migration Scoring is an agent skill from OpenHands/extensions. Evaluate code migration quality with coverage, correctness, and style scoring. Generates executive reports with actionable recommendations.

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 completed migration with source and target code, Python 3.13 with uv

It sits in Development, covering Report writing and Code migrations. The repository describes itself as: Public registry for OpenHands extensions. The licence is MIT.

When your agent uses it

  • Tasks that involve Report writing
  • Tasks that involve Code migrations

Example prompts

  • “/migration-scoring”

Requirements

  • Python 3
  • A credential in LLM_API_KEY
  • Compatibility (from SKILL.md): Requires completed migration with source and target code, Python 3.13 with uv

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Migration Mapping
  2. Quality Scoring
  3. Style Scoring
  4. Executive Report

What it can do on your machine

Read from SKILL.md and the folder at commit d008b81. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • uv

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • LLM_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires completed migration with source and target code, Python 3.13 with uv

    From compatibility in the SKILL.md frontmatter.

Context cost

Migration Scoring loads about 841 tokens when it runs. Until then it costs about 39 tokens; SKILL.md has 205 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~39
When it runs · the whole SKILL.md, loaded when a task matches
~841

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from OpenHands/extensions at commit d008b81, republished under its MIT licence (© OpenHands). 205 words, ~841 tokens.

Download SKILL.mdSave it as .claude/skills/migration-scoring/SKILL.md (or your agent's skills folder).
name
migration-scoring
description
Evaluate code migration quality with coverage, correctness, and style scoring. Generates executive reports with actionable recommendations.
compatibility
Requires completed migration with source and target code, Python 3.13 with uv
license
MIT
triggers
migration scoring, migration quality, migration evaluation, score migration

Comprehensive quality evaluation for code migration projects.

Overview

This plugin evaluates completed migrations through multiple lenses:

  1. Mapping — Document source-to-target file relationships
  2. Quality Scoring — Measure coverage and correctness
  3. Style Scoring — Evaluate code quality and conventions
  4. Reporting — Generate executive summary with recommendations

Prerequisites

  • Completed migration with both source and target code present
  • Python 3.13 with uv
  • LLM API key (Anthropic or OpenAI)
  • Optional: Custom style rubric file

Quick Start

bash
export LLM_API_KEY="your-api-key"
export LLM_MODEL="anthropic/claude-3-5-sonnet-20241022"

uv run python -m lc_sdk_examples.migration_scoring \
  --src-path /path/to/migration/project \
  --rubric-path /path/to/style_rubric.txt

PowerShell equivalent for the environment setup:

powershell
$env:LLM_API_KEY = "your-api-key"
$env:LLM_MODEL = "anthropic/claude-3-5-sonnet-20241022"

uv run python -m lc_sdk_examples.migration_scoring `
  --src-path C:\path\to\migration\project `
  --rubric-path C:\path\to\style_rubric.txt

Workflow Phases

Phase 1: Migration Mapping

See ../migration-mapping/SKILL.md

Creates a source→target file mapping:

  • Identifies which target files implement each source file
  • Supports many-to-many relationships
  • Flags unmigrated source files

Output: migration_mapping.json

json
{
  "CALC001.cbl": ["InvoiceCalculator.java", "TaxCalculator.java"],
  "CUST002.cbl": ["CustomerService.java"]
}
Phase 2: Quality Scoring

See ../score-quality/SKILL.md

Scores each source file on:

  • Coverage (1-5): How much functionality was migrated
  • Correctness (1-5): How accurately behavior was preserved

Output: migration_score.json

json
{
  "CALC001.cbl": {
    "coverage": 4,
    "correctness": 5,
    "justification": "All calculation logic migrated..."
  }
}
Phase 3: Style Scoring

See ../score-style/SKILL.md

Evaluates target code against style guidelines:

  • Naming conventions
  • Code organization
  • Error handling
  • Documentation
  • Idiomaticity

Output: style_score.json

Phase 4: Executive Report

See ../migration-report/SKILL.md

Generates a comprehensive report:

  • Overall health assessment
  • Score statistics and distribution
  • Risk categorization (Green/Yellow/Red)
  • Prioritized recommendations

Output: final_report.md

Output Structure

your-project/
├── .lc-sdk/
│   ├── migration_mapping.json
│   ├── migration_score.json
│   ├── style_score.json
│   └── final_report.md

Scoring Criteria

See ../score-quality/references/scoring-criteria.md for the 1-5 scoring scales.

Risk Categories
  • Green: All scores ≥ 4
  • Yellow: Any score 3-4
  • Red: Any score < 3

© OpenHands, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/migration-scoring/skills/migration-scoring of OpenHands/extensions.

Open the folder on GitHubat commit d008b81

Compare with similar skills

Migration Scoring 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.

Migration Scoring compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Migration Scoring this skillOpenHands/extensions157—~841Automated safety check: PassMIT
Migrate Core Code to Submodulestinyhumansai/openhuman41k—~2.6kAutomated safety check: PassGPL-3.0
Migrate Internal Package into GhostTryGhost/Ghost55k—~3.8kAutomated safety check: PassMIT
ast-grep Structural Searchcode-yeongyu/oh-my-openagent70k—~3.3kAutomated safety check: PassMIT
Deprecate R Functions and Argumentstidyverse/dplyr5.1k1 repos~1.2kAutomated safety check: PassCustom licence
Windows App SDK Issue Triage Reportmicrosoft/WindowsAppSDK4.7k—~3.4kAutomated safety check: PassApache-2.0

Similar skills

  • Migrate Core Code to Submodules

    tinyhumansai/openhuman

    Plans and carries out moving non-host-specific code and its tests from the OpenHuman core into vendored tiny submodule libraries, then releases the submodule and re-pins the host.

    41k GitHub stars~2.6k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.

    55k GitHub stars~3.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • ast-grep Structural Search

    code-yeongyu/oh-my-openagent

    Searches and rewrites code by syntax-tree shape across 25 languages with ast-grep, for codemods, structural queries and YAML lint rules, using a Python wrapper script.

    70k GitHub stars~3.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Walks through deprecating an R function or argument in a package: lifecycle warning, silenced tests, a new snapshot test, documentation badge and NEWS entry.

    5.1k GitHub starsUsed in 1 repo~1.2k tokens
    DevelopmentAuto-check passed
  • Official

    Generates GitHub Feature Area Status reports for the Windows App SDK repository, scoring issues so teams can see what needs attention in each area.

    4.7k GitHub stars~3.4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Rust Path Types

    openinterpreter/openinterpreter

    Rules for choosing Rust types for filesystem paths in new Codex code, covering protocol types, internal use and model tool arguments.

    69k GitHub starsUsed in 2 repos~605 tokens
    DevelopmentAuto-check passed

More from OpenHands/extensions

All 78 skills in this repo
  • Agent Readiness Report

    OpenHands/extensions

    Evaluate how well a codebase supports autonomous AI-assisted development.

    157 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Discord

    OpenHands/extensions

    Build and automate Discord integrations (bots, webhooks, slash commands, and REST API workflows).

    157 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • GitHub

    OpenHands/extensions

    Interact with GitHub repositories, pull requests, issues, and workflows using the GITHUBTOKEN environment variable and GitHub CLI.

    157 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • GitHub Issue To PR

    OpenHands/extensions

    Create an automation that implements GitHub issues when a configurable trigger label is applied.

    157 GitHub stars~4.4k tokensUpdated yesterday
    Auto-check passed
  • GitHub Repo Monitor

    OpenHands/extensions

    This skill should be used when the user asks to "monitor a GitHub repository", "watch GitHub for issues or PRs", "respond to @OpenHands mentions on GitHub", "set up an OpenHands GitHub integration"…

    157 GitHub stars~3.1k tokensUpdated yesterday
    Auto-check passed
  • GitLab Issue To Mr

    OpenHands/extensions

    Create an automation that implements GitLab issues when a configurable trigger label is applied.

    157 GitHub stars~4.9k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Migration Scoring

What does Migration Scoring do?

Evaluate code migration quality with coverage, correctness, and style scoring. Migration Scoring is an agent skill from OpenHands/extensions. Evaluate code migration quality with coverage, correctness, and style scoring.

When should I use Migration Scoring?

Migration Scoring fits situations like: tasks that involve Report writing; tasks that involve Code migrations.

How do I install Migration Scoring in Claude Code?

Run `npx skills add OpenHands/extensions --skill migration-scoring -a claude-code`. Or copy the skill folder (plugins/migration-scoring/skills/migration-scoring in OpenHands/extensions) into .claude/skills/migration-scoring in your project. Claude Code loads it when a task matches its description.

How do I install Migration Scoring in Codex?

Run `npx skills add OpenHands/extensions --skill migration-scoring -a codex`. Or copy the skill folder (plugins/migration-scoring/skills/migration-scoring in OpenHands/extensions) into .agents/skills/migration-scoring in your project. Codex loads it when a task matches its description.

Can I use Migration Scoring in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OpenHands/extensions --skill migration-scoring -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/migration-scoring, .gemini/skills/migration-scoring, .github/skills/migration-scoring and .opencode/skills/migration-scoring in your project.

What does Migration Scoring need to run?

Going by SKILL.md and its folder, Migration Scoring needs the command-line tools its instructions call (uv) and credentials named LLM_API_KEY. Our summary lists: Python 3; A credential in LLM_API_KEY. Compatibility (from SKILL.md): Requires completed migration with source and target code, Python 3.13 with uv.

Does Migration Scoring access the network?

SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Migration Scoring safe to install?

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.

What licence does Migration Scoring use?

Migration Scoring is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Migration Scoring use?

About 841 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.

What are the alternatives to Migration Scoring?

Skills that share tags, products or a category with Migration Scoring: Migrate Core Code to Submodules (tinyhumansai/openhuman, 41k stars), Migrate Internal Package into Ghost (TryGhost/Ghost, 55k stars), ast-grep Structural Search (code-yeongyu/oh-my-openagent, 70k stars) and Deprecate R Functions and Arguments (tidyverse/dplyr, 5.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Migration Scoring?

OpenHands (a GitHub organization) maintains it in OpenHands/extensions, which has 157 GitHub stars. The repository holds 78 skills in this directory. The repository was last updated on October 6, 2026.

Source: OpenHands/extensions on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.