
cobol-migration-analyzer
Analyzes legacy COBOL programs and JCL jobs to assist with migration to modern Java applications. Extracts business logic, identifies dependencies, generates migration reports, and creates Java implementation strategies. Use when working with mainframe migration, COBOL analysis, legacy system modernization, JCL workflows, or when users mention COBOL to Java conversion, analyzing .cbl/.CBL/.cob files, working with copybooks, or planning Java service implementations from COBOL programs.
- Installs
- 75
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/dauquangthanh/hanoi-rainbow --skill cobol-migration-analyzer- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads cobol-migration-analyzer automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
COBOL Migration Analyzer
Analyze legacy COBOL programs and JCL scripts for migration to Java. Extract business logic, data structures, and dependencies to generate actionable migration strategies.
Core Capabilities
1. COBOL Program Analysis
Extract COBOL divisions (IDENTIFICATION, ENVIRONMENT, DATA, PROCEDURE), Working-Storage variables, file definitions (FD), business logic paragraphs, PERFORM statements, CALL hierarchies, embedded SQL, and error handling patterns.
2. JCL Job Analysis
Parse JCL job steps, program invocations, data dependencies (DD statements), conditional logic (COND, IF/THEN/ELSE), return codes, and resource requirements.
3. Copybook Processing
Extract record layouts with level numbers, REDEFINES clauses, group items, OCCURS clauses, and picture clauses. Generate Java POJOs from copybook structures.
4. Dependency Mapping
Build complete dependency graphs showing CALL hierarchies, copybook usage, file dependencies, database table access, and shared utility references across the codebase.
Workflow
Step 1: Discover COBOL Assets
Find COBOL programs, JCL jobs, and copybooks:
find . -name "*.cbl" -o -name "*.CBL" -o -name "*.cob"
find . -name "*.jcl" -o -name "*.JCL"
find . -name "*.cpy" -o -name "*.CPY"
Use scripts/analyze-dependencies.sh or scripts/analyze-dependencies.ps1 to generate dependency graph.
Step 2: Extract Structure
Use scripts/extract-structure.py to parse COBOL programs and extract divisions, variables, paragraphs, and dependencies in JSON format.
Step 3: Generate Java Code
Use scripts/generate-java-classes.py to convert copybooks to Java POJOs with appropriate data types and Bean Validation annotations.
Step 4: Estimate Complexity
Use scripts/estimate-complexity.py to calculate migration complexity based on LOC, external calls, file operations, SQL statements, and control flow.
Step 5: Create Migration Strategy
Document program overview, dependencies, data structures, business logic patterns, proposed Java design, migration estimate, and action items.
Quick Reference
COBOL to Java Type Mapping
| COBOL Picture | Java Type | Notes |
|---|---|---|
PIC 9(n) | int, long, BigInteger | Unsigned numeric |
PIC S9(n) | int, long, BigInteger | Signed numeric |
PIC 9(n)V9(m) | BigDecimal | Unsigned decimal |
PIC S9(n)V9(m) | BigDecimal | Signed decimal |
PIC S9(n)V9(m) COMP-3 | BigDecimal | Packed decimal - critical precision! |
PIC S9(n) COMP / BINARY | int, long | Binary storage |
PIC S9(n) COMP-1 | float | Single precision (avoid for financial) |
PIC S9(n) COMP-2 | double | Double precision (avoid for financial) |
PIC X(n) | String | Alphanumeric/character |
PIC A(n) | String | Alphabetic only |
PIC N(n) | String | National/Unicode |
OCCURS n | List<T> or T[] | Fixed arrays/tables |
OCCURS n DEPENDING ON | List<T> | Variable-length arrays |
88 level | enum or constants | Condition names |
INDEX | int | Table index (1-based in COBOL) |
Common Pattern Conversions
- File I/O:
READ...AT END→BufferedReaderwith try-with-resources or NIO streams - File updates:
REWRITE→ Update operations in DB or file systems - Table lookup:
SEARCH→ Linear search with streams - Binary search:
SEARCH ALL→Collections.binarySearch()orstream().filter().findFirst() - String operations:
STRING/UNSTRING→StringBuilderorString.split() - Inspection:
INSPECT→String.replace(),replaceAll(), or regex - CALL statements: → Method calls or service invocations
- EVALUATE: →
switchstatement (Java 14+ with enhanced switch) - Date arithmetic:
FUNCTION INTEGER-OF-DATE→LocalDateoperations - ACCEPT DATE/TIME: →
LocalDate.now(),LocalTime.now() - Condition names (Level 88): →
enumor typed constants - Computed GO TO: → Strategy pattern or switch statement
- REDEFINES: → Union types, ByteBuffer views, or separate accessor classes
- COPY statements: → Package imports or shared entity classes
Example: Copybook to Java POJO
COBOL Copybook:
01 EMPLOYEE-RECORD.
05 EMP-ID PIC 9(6).
05 EMP-NAME PIC X(30).
05 EMP-SALARY PIC S9(7)V99 COMP-3.
Generated Java:
public class EmployeeRecord {
private int empId;
private String empName;
private BigDecimal empSalary;
// getters/setters
}
Migration Considerations
Critical Patterns:
- ALWAYS use
BigDecimalfor COMP-3 and numeric with decimals (never float/double) - Preserve precision: Use
BigDecimalwith exact scale for financial calculations - 1-based indexing: Document that COBOL arrays start at 1, Java at 0
- Implicit conversions: Make COBOL's automatic numeric↔string conversions explicit
- REDEFINES: Model as union type, ByteBuffer overlay, or separate view classes
- Computed GO TO: Refactor to strategy pattern or switch statement
- ALTER statement: Refactor to structured control flow (if/while/switch)
- PERFORM THRU: Map to single method containing full paragraph range
- BY REFERENCE vs BY CONTENT: Document parameter passing semantics
- Test rigorously: Validate with production data samples, especially for COMP-3
Output Requirements:
- Program overview and type classification
- Complete dependency graph (CALL tree, copybooks, files, DB tables)
- Data structure mapping (copybooks → Java classes)
- Business logic summary (key paragraphs → methods)
- Proposed Java architecture (services, repositories, entities)
- Migration effort estimate (complexity score, LOC, risk factors)
- Prioritized action items
Advanced Topics
For detailed conversion rules and patterns, see:
- pseudocode-cobol-rules.md - Comprehensive COBOL to pseudocode conversion rules including data types, statements, file operations, string operations, table operations, program control, translation patterns, and common gotchas
- pseudocode-common-rules.md - Common pseudocode syntax and conventions applicable to all languages
- transaction-handling.md - Transaction management and rollback strategies for CICS/IMS to Java
- messaging-integration.md - Message queue and async patterns (MQ, CICS queues to JMS/Kafka)
- performance-patterns.md - Batch processing optimization and memory management
- testing-strategy.md - Comprehensive testing including unit, integration, parallel validation, and data-driven testing
Tools and Scripts
All scripts support cross-platform execution (Windows PowerShell, bash):
analyze-dependencies.sh/ps1- Generate dependency graphextract-structure.py- Parse COBOL structure to JSONgenerate-java-classes.py- Convert copybooks to Java POJOsestimate-complexity.py- Calculate migration complexity score
Scripts use standard libraries only and output JSON for easy integration with CI/CD pipelines.
FAQ
What does the cobol-migration-analyzer skill do?
Analyzes legacy COBOL programs and JCL jobs to assist with migration to modern Java applications. Extracts business logic, identifies dependencies, generates migration reports, and creates Java implementation strategies. Use when working with mainframe migration, COBOL analysis, legacy system modernization, JCL workflows, or when users mention COBOL to Java conversion, analyzing .cbl/.CBL/.cob files, working with copybooks, or planning Java service implementations from COBOL programs.
How do I install cobol-migration-analyzer?
Run npx skills add https://github.com/dauquangthanh/hanoi-rainbow --skill cobol-migration-analyzer in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/cobol-migration-analyzer/ (personal) or .claude/skills/cobol-migration-analyzer/ (project).
Which AI agents can use cobol-migration-analyzer?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is cobol-migration-analyzer safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains cobol-migration-analyzer?
It is published by dauquangthanh in dauquangthanh/hanoi-rainbow. It has 75 recorded installs.
More from dauquangthanh/hanoi-rainbow
frontend-ui-ux-design
dauquangthanh/hanoi-rainbow
Creates comprehensive frontend UI/UX designs including user interfaces, design systems, component libraries, responsive layouts, and accessibility implementations. Produces wireframes, mockups, design specifications, and implementation guidelines. Use when designing user interfaces, creating design systems, building component libraries, implementing responsive designs, ensuring accessibility compliance, or when users mention UI design, UX design, interface design, design systems, user experience, or frontend design patterns.
frontend-design-review
dauquangthanh/hanoi-rainbow
Open the skill to read its SKILL.md instructions.
keycloak-administration
dauquangthanh/hanoi-rainbow
Open the skill to read its SKILL.md instructions.
oracle-cloud
dauquangthanh/hanoi-rainbow
Provides comprehensive Oracle Cloud Infrastructure (OCI) guidance including compute instances, networking (VCN, load balancers, VPN), storage (block, object, file), database services (Autonomous Database, MySQL, NoSQL), container orchestration (OKE), identity and access management (IAM), resource management, cost optimization, and infrastructure as code (Terraform OCI provider, Resource Manager). Produces infrastructure code, deployment scripts, configuration guides, and architectural diagrams. Use when designing OCI architecture, provisioning cloud resources, migrating to Oracle Cloud, implementing OCI security, setting up OCI databases, deploying containerized applications on OKE, managing OCI resources, or when users mention "Oracle Cloud", "OCI", "Autonomous Database", "VCN", "OKE", "OCI Terraform", "Resource Manager", "Oracle Cloud Infrastructure", or "OCI migration".
requirement-review
dauquangthanh/hanoi-rainbow
Open the skill to read its SKILL.md instructions.
backend-design
dauquangthanh/hanoi-rainbow
Open the skill to read its SKILL.md instructions.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.