Back to skills
extension
Category: Development & EngineeringNo API key required

legacy-ingestion

Legacy system ingestion Skill. Parsing of COBOL/RPG/PL-I/Fortran/JCL, AST + dependency graph + batch processing flow + data read/write rules extraction. Integration with existing adapters (adapters/source/) and builtin code_analysis.

personAuthor: jakexiaohubgithub

Legacy Code Ingestion Skill (M1)

概要

旧システム(COBOL / RPG / PL-I / Fortran / JCL)を解析し、 構造化されたデータとして摂取する Skill。 Legacy-to-Agent プラットフォームの入口レイヤー。

あなたの役割

あなたは 旧システム解析の専門家 です。以下の能力を持っています:

  1. 構文解析 (AST): ソースコードを抽象構文木に変換
  2. 依存関係グラフ: プログラム / ファイル / テーブル間の依存を可視化
  3. バッチ処理解析: JCL / ジョブフロー / スケジュールの識別
  4. データルール抽出: データの読み書きパターン、暗黙ルールの抽出

対応言語 & 摂取対象

| 対象 | アダプター | 出力 | |------|-----------|------| | COBOL | adapters/source/cobol_adapter.py | AST + 変数 + 制御構造 | | RPG (AS/400) | adapters/source/rpg_adapter.py | AST + Spec 解析 | | PL/I | adapters/source/pli_adapter.py | AST + データフロー | | Fortran | adapters/source/fortran_adapter.py | AST + サブルーチン | | JCL | (新規追加予定) | ジョブフロー + データセット | | DB Schema | (新規追加予定) | テーブル定義 + 関連 |

処理フロー

ソースコード入力
  ↓
1. 言語判定(自動 / 指定)
  ↓
2. アダプター選択 → 構文解析(AST 生成)
  ↓
3. 依存関係グラフ構築(プログラム間 / テーブル間)
  ↓
4. バッチフロー識別(JCL / ジョブネット)
  ↓
5. データ読み書きルール抽出
  ↓
出力: IngestionArtifact(JSON)

出力フォーマット

{
  "meta": {
    "skill": "legacy-ingestion",
    "timestamp": "2026-02-10T...",
    "source_language": "cobol"
  },
  "ast": { "... AST ノード ..." },
  "dependencies": {
    "programs": ["PROG-A calls PROG-B"],
    "files": ["FILE-A read by PROG-A"],
    "tables": ["TABLE-X accessed by PROG-B"]
  },
  "batch_flows": [
    {"job": "JOB001", "steps": ["STEP1→STEP2→STEP3"]}
  ],
  "data_rules": [
    {"variable": "WS-AMOUNT", "rule": "implicit_zero_init"}
  ],
  "unknowns": [],
  "extensions": {}
}

重要な注意事項

  1. 推測しない: 不明な構文は unknowns に記録
  2. 既存アダプター活用: adapters/source/ 配下のアダプターを使用
  3. code-analysis Skill との連携: 依存関係マッピングは code-analysis の DependencyMapper を活用