Skip to content
Agent Orchestration
Skill

/cobol-modernization

End-to-end COBOL to Java migration workflow. Handles build setup, mainframe dependency removal, and code migration with test validation.

BOOST
From plugin
extensions
17185 skills4 commands
Install
$ npx -y skills add openhands/extensions --skill cobol-modernization --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/cobol-modernization

Context preview

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

End-to-end COBOL to Java migration workflow. Handles build setup, mainframe dependency removal, and code migration with test validation.

SKILL.md

cobol-modernization.SKILL.md
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

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:

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

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.