End-to-end COBOL to Java migration workflow. Handles build setup, mainframe dependency removal, and code migration with test validation.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add OpenHands/extensions --skill cobol-modernization --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cobol Modernization?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/openhands-cobol-modernization)More formats (shields.io, HTML) on the badges page.
---
name: cobol-modernization
description: End-to-end COBOL to Java migration workflow. Handles build setup, mainframe dependency removal, and code migration with test validation.
license: MIT
compatibility: Requires GnuCOBOL, Java 11+, Maven/Gradle, Python 3.13 with uv
triggers:
- cobol modernization
- cobol to java
- cobol migration
- mainframe migration
---
End-to-end workflow for migrating COBOL codebases to Java.
## Overview
This plugin orchestrates a multi-phase COBOL modernization project:
1. **Build Setup** — Configure compilation for both COBOL and Java, create test fixtures
2. **Mainframe Planning** — Document transformations needed to remove mainframe dependencies
3. **Mainframe Removal** — Convert CICS/VSAM code to standard COBOL
4. **Java Migration** — Translate standardized COBOL to idiomatic Java
## Prerequisites
- GnuCOBOL compiler (`cobc`)
- Java 11+ with Maven or Gradle
- Python 3.13 with `uv`
- LLM API key (Anthropic or OpenAI)
## 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.cobol_modernization --src-path /path/to/cobol/project
```
PowerShell equivalent for the environment setup:
```powershell
$env:LLM_API_KEY = "your-api-key"
$env:LLM_MODEL = "anthropic/claude-3-5-sonnet-20241022"
uv run python -m lc_sdk_examples.cobol_modernization --src-path C:\path\to\cobol\project
```
## Workflow Phases
### Phase 1: Build Setup
See [../build-setup/SKILL.md](../build-setup/SKILL.md)
Creates the foundation for the migration:
- COBOL compilation environment (GnuCOBOL)
- Java project structure (Maven/Gradle + JUnit 5)
- Test fixtures with golden outputs from COBOL execution
**Outputs:**
- `build_notes.md` — Build instructions
- `test-fixtures/` — Input/output test data
- `test_manifest.json` — Test case mapping
### Phase 2: Mainframe Planning
See [../mainframe-planning/SKILL.md](../mainframe-planning/SKILL.md)
Creates a transformation guide without modifying code:
- Maps CICS/VSAM constructs to standard COBOL equivalents
- Documents error handling replacements
- Identifies UI operations to stub
**Output:**
- `mainframe_dependency_removal_plan.md`
### Phase 3: Mainframe Removal
See [../mainframe-removal/SKILL.md](../mainframe-removal/SKILL.md)
Applies the transformation guide:
- Replaces EXEC CICS commands with file I/O
- Adds FILE STATUS checking
- Stubs BMS/screen operations
**Verification:**
- Code compiles with GnuCOBOL
- Runs with test fixtures
### Phase 4: Java Migration
See [../to-java-migration/SKILL.md](../to-java-migration/SKILL.md)
Translates to idiomatic Java:
- Proper Java conventions (not literal translations)
- JUnit tests using golden outputs
- COBOL references in comments
**Done when:**
- All code compiles
- All JUnit tests pass
- No TODOs or stubs remain
## Output Structure
```
your-project/
├── .lc-sdk/
│ ├── initial_batch_graph.json
│ ├── fixed_batch_graph.json
│ └── mainframe_dependency_removal_plan.md
├── test-fixtures/
│ ├── inputs/
│ └── expected_outputs/
├── test_manifest.json
├── src/main/java/
└── src/test/java/
```
## Troubleshooting
See [../../references/troubleshooting.md](../../references/troubleshooting.md) for common issues and solutions.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!