Agent skill

migration-scoring

Evaluate code migration quality with coverage, correctness, and style scoring. Generates executive reports with actionable recommendations.

Stars 78
Forks 21

Install this agent skill to your Project

npx add-skill https://github.com/OpenHands/extensions/tree/main/plugins/migration-scoring/skills/migration-scoring-overview

SKILL.md

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

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

Expand your agent's capabilities with these related and highly-rated skills.

OpenHands/extensions

releasenotes

Generate formatted changelogs from git history since the last release tag. Use when preparing release notes that categorize changes into breaking changes, features, fixes, and other sections.

78 21
Explore
OpenHands/extensions

bitbucket

Interact with Bitbucket repositories and pull requests using the BITBUCKET_TOKEN environment variable. Use when working with code hosted on Bitbucket or managing Bitbucket resources via API.

78 21
Explore
OpenHands/extensions

add-skill

Add an external skill from a GitHub repository to the current workspace. Use when users want to import, install, or add a skill from a GitHub URL (e.g., `/add-skill https://github.com/OpenHands/extensions/tree/main/skills/codereview` or "add the codereview skill from https://github.com/OpenHands/extensions/"). Handles fetching the skill files and placing them in .agents/skills/.

78 21
Explore
OpenHands/extensions

add-javadoc

Add comprehensive JavaDoc documentation to Java classes and methods. Use when documenting Java code, adding API documentation, or improving code documentation.

78 21
Explore
OpenHands/extensions

flarglebargle

A test skill that responds to the magic word "flarglebargle" with a compliment. Use for testing skill activation and trigger functionality.

78 21
Explore
OpenHands/extensions

codereview-roasted

Brutally honest code review in the style of Linus Torvalds, focusing on data structures, simplicity, and pragmatism. Use when you want critical, no-nonsense feedback that prioritizes engineering fundamentals over style preferences.

78 21
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results