Skip to content
Agent Orchestration
Skill

/migration-mapping

Create a mapping from source language files to target language files for code migrations. Use when evaluating or documenting a migration project.

BOOST
From plugin
extensions
17185 skills4 commands
Install
$ npx -y skills add openhands/extensions --skill migration-mapping --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/migration-mapping

Context preview

The summary Claude sees to decide when to auto-load this skill.

Create a mapping from source language files to target language files for code migrations. Use when evaluating or documenting a migration project.

SKILL.md

migration-mapping.SKILL.md
name: migration-mapping
description: Create a mapping from source language files to target language files for code migrations. Use when evaluating or documenting a migration project.
license: MIT
compatibility: Requires completed migration with source and target code
triggers:
  - migration mapping
  - source target mapping
  - file mapping

Create a mapping from source language files (e.g., COBOL) to target language files (e.g., Java) to document which target files implement the functionality of each source file.

Task

Examine all source language files and identify the corresponding target language files that implement the same functionality. This mapping is essential for:

  • Migration quality evaluation
  • Traceability documentation
  • Gap analysis

Output Format

Save the mapping as a JSON file with this structure:

{
  "source_file_1.cbl": ["target_file_a.java", "target_file_b.java"],
  "source_file_2.cbl": ["target_file_c.java"],
  "source_file_3.cbl": []
}

Rules

1. **Many-to-many mapping**: A source file may map to multiple target files, and a target file may implement logic from multiple source files 2. **Complete coverage**: EVERY source file must appear as a key in the mapping 3. **Complete target coverage**: EVERY target file should appear as a value at least once 4. **Empty arrays**: If a source file has no corresponding target implementation, use an empty array `[]` 5. **Incremental**: If a mapping file already exists, update it rather than replacing it

How to Identify Mappings

Look for:

  • Matching class/program names
  • Similar function/paragraph names
  • Matching business logic patterns
  • Comments referencing source files
  • Import/include statements
  • Data structure similarities

Example

For a COBOL-to-Java migration:

{
  "CALC001.cbl": ["InvoiceCalculator.java", "TaxCalculator.java"],
  "CUST002.cbl": ["CustomerService.java", "CustomerRepository.java"],
  "UTIL003.cbl": ["StringUtils.java"],
  "SCREEN001.cbl": []
}

Note: `SCREEN001.cbl` maps to nothing because UI code was not migrated.

Verification

After creating the mapping:

  • [ ] Every source file is a key
  • [ ] No duplicate keys
  • [ ] Target files are relative paths from project root
  • [ ] JSON is valid and well-formatted
Read more
Ships withextensions

This repository is the public extensions registry for OpenHands. It contains reusable, shareable skills, plugins, and Agent Canvas Apps that customize agent behavior and interfaces. Skills overview docs: SDK skill guide:

Get the whole plugin

Other skills on extensions.