Skip to content
Agent Orchestration
Skill

/to-java-migration

Migrate COBOL code to idiomatic Java, preserving business logic while following Java best practices. Use for COBOL modernization projects.

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

Context preview

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

Migrate COBOL code to idiomatic Java, preserving business logic while following Java best practices. Use for COBOL modernization projects.

SKILL.md

to-java-migration.SKILL.md
name: to-java-migration
description: Migrate COBOL code to idiomatic Java, preserving business logic while following Java best practices. Use for COBOL modernization projects.
license: MIT
compatibility: Requires Java 11+, Maven or Gradle
triggers:
  - cobol to java
  - cobol migration
  - cobol modernization
  - migrate cobol

Migrate COBOL code to idiomatic Java, preserving all business logic.

Code Style Requirements

Write idiomatic Java, NOT literal COBOL translations:

  • Use Java conventions: camelCase names, standard collections (List, Map)
  • Use Java standard library instead of rolling your own
  • No god classes — split into cohesive, single-responsibility classes
  • No TODO comments or stub implementations — fully implement everything

Robustness Requirements

  • Validate inputs at method entry (null checks, range validation)
  • Use try-catch for all I/O and external operations
  • Use try-with-resources for files, streams, connections
  • Handle errors gracefully with meaningful messages

Configuration Requirements

  • No hardcoded file paths or credentials — use environment variables
  • No magic numbers — use named constants
  • Make limits and timeouts configurable

Documentation Requirements

  • Add COBOL references: `// COBOL equivalent: BNK1CRA.cbl 145-167`
  • Document assumptions made during conversion
  • Add Javadoc to public methods

Testing Requirements

If test fixtures exist (see `cobol-build-setup` skill):

  • Create a JUnit test class for each migrated program
  • Load inputs from fixtures, assert output matches expected (golden) output
  • All tests must pass before migration is complete

References

  • See [references/cobol-to-java-example.md](references/cobol-to-java-example.md) for a complete transformation example
  • See [references/datatype-mappings.md](references/datatype-mappings.md) for COBOL→Java type mappings

Done When

✓ Code compiles without errors ✓ All JUnit tests pass (Java output matches COBOL golden output) ✓ No TODO or stub implementations remain ✓ COBOL references documented in comments

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.