Create a mapping from source language files to target language files for code migrations. Use when evaluating or documenting a migration project.
Scanned 6/5/2026
Install via CLI
openskills install OpenHands/extensions---
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
No comments yet. Be the first to comment!