Skip to content
Back to skills

Migration Mapping

ASecurity

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

  • 151 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added June 5, 2026
testingjavadocumentation

Security analysis

A100/100

Scanned June 5, 2026

npx -y skills add OpenHands/extensions --skill migration-mapping --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Migration Mapping?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Migration Mapping
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/openhands-migration-mapping/badge)](https://www.skillsdirectory.com/skills/openhands-migration-mapping)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
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:

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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.