Agent 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.

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-mapping

SKILL.md

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:

json
{
  "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:

json
{
  "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

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