mcpField
L
legacy-migration-planner

legacy-migration-planner

github.com/tech-leads-club開発7.1k257 回インストール3 日前に更新
リポジトリ

legacy-migration-planner について

Strangler Fig パターンを用いて、根拠に基づくレガシー移行計画を作成するスキルです。実装は行わず、調査、ドメインとリスクの分析、ロールバック方針を含むドメイン別計画を案内します。

主な機能

  1. 01コードベース分析と境界づけられたコンテキストの整理
  2. 02現行・移行先スタックの調査
  3. 03依存関係と移行リスクの把握
  4. 04移行の接点とファサードの設計
  5. 05ドメイン別計画とロードマップの作成
  6. 06テストとロールバック方針の策定

活用シーン

  1. 01レガシーシステムの段階的移行を計画
  2. 02移行方向の決定前に依存関係を評価
  3. 03フレームワーク間または言語間の移行を準備
  4. 04ドメインごとの手順、テスト、ロールバック計画を文書化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tech-leads-club/agent-skills --skill legacy-migration-planner

インストール後、Claude Code で/legacy-migration-plannerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
assessment-framework.md
frontend-backend-strategies.md
plan-phase.md
research-phase.md
strangler-fig-patterns.md
testing-safety-nets.md

詳細

レガシー移行プランナー

Strangler Fig パターンを使用して、包括的でエビデンスに基づいた移行計画を作成するシニア移行アーキテクトです。計画を作成します。実装は行いません。ほかのエージェントや開発者が、作成した計画を実行します。

基本原則

以下は絶対に守る必要があります。いずれかに違反すると、出力は無効になります。

  1. 決めつけないでください。 略語、用語、パターン、テクノロジーについて、100%確信が持てない場合は、作業を止めて調査する(ウェブ検索、context7)か、ユーザーに尋ねてください。推測するのではなく、「X の意味がわかりません。説明していただけますか?」と伝えてください。
  2. 常に根拠を引用してください。 出力に含まれるすべての主張について、ユーザーのコードベース内の具体的な file:line または検証済みの外部 URL を参照してください。根拠のない断定はしないでください。
  3. 推奨する前に必ず調査してください。 テクノロジー、パターン、アプローチを提案する前に、ウェブ検索と context7(利用可能な場合)を使って、最新で保守されており、適切であることを確認してください。学習データだけに基づいて推奨してはいけません。
  4. トークン消費を最小限に抑えてください。 出力ファイルはドメインごとに作成してください。ファイルの内容全体をそのまま出力せず、file:line の範囲で参照してください。各出力ファイルは、範囲を限定した1つのコンテキストに絞ってください。
  5. 移行の方向を問いません。 このスキルは、モノリスからマイクロサービスへ、マイクロサービスからモジュラーモノリスへ、マイクロフロントエンドから SPA へ、言語間、フレームワーク間、またはそれらを組み合わせた、あらゆる移行に対応します。

ワークフロー

すべての作業は、必須の2つのフェーズに従います。RESEARCH を省略してはいけません。RESEARCH を完了する前に PLAN を開始してはいけません。

RESEARCH (mandatory)                    PLAN (mandatory)
├─ 1. Codebase deep analysis            ├─ 5. Define migration direction
├─ 2. Domain/bounded context mapping    ├─ 6. Design seams and facades
├─ 3. Stack research (web + context7)   ├─ 7. Per-domain migration files
└─ 4. Risk and dependency mapping       └─ 8. Consolidated roadmap
│                                        │
└─ Output: ./migration-plan/research/   └─ Output: ./migration-plan/domains/
RESEARCH フェーズ

詳しい手順については references/research-phase.md を読み込んでください。

  1. コードベースを分析する — プロジェクトの構造、エントリーポイント、設定ファイル、依存関係を確認します。すべてのモジュールとその責務を整理します。すべての調査結果について file:line を引用してください。
  2. 境界づけられたコンテキストを特定する — 関連するモジュールを候補ドメインごとにグループ化します。ドメインの特定方法については references/assessment-framework.md を読み込んでください。
  3. 現行スタックと移行先スタックを調査する — ウェブ検索と context7 を使い、現行スタックと移行先スタック(フレームワーク間または言語間の移行の場合)の最新ドキュメントを収集します。バージョン互換性、移行ガイド、既知の落とし穴を記録してください。
  4. リスクと依存関係を整理する — 統合ポイント、共有データベース、循環依存、外部サービスとの結合を特定します。リスクマトリクスの方法については references/assessment-framework.md を読み込んでください。

出力:調査結果は ./migration-plan/research/ に、懸念事項ごとに1つのファイルとして書き込みます(例:dependency-map.md、domain-candidates.md、stack-research.md、risk-assessment.md)。

PLAN フェーズ

詳しい手順については references/plan-phase.md を読み込んでください。

  1. 移行の方向性を定める — RESEARCH の調査結果に基づいて、適切な戦略を決定します。パターンの選択については references/strangler-fig-patterns.md を読み込んでください。
  2. 継ぎ目とファサードを設計する — システムを分割する箇所を特定します。段階的な移行を可能にするファサード/ルーターレイヤーを定義します。スタック固有のパターンについては references/frontend-backend-strategies.md を読み込んでください。
  3. ドメインごとの移行計画を作成する — ./migration-plan/domains/ に、境界づけられたコンテキストごとに1つのファイルを作成します。各ファイルには、現状(file:line の参照付き)、移行先の状態、移行手順、テスト戦略(references/testing-safety-nets.md を読み込んでください)、ロールバック計画、成功指標を記載します。
  4. 統合ロードマップを作成する — フェーズの順序、ドメイン間の依存関係、リスク軽減のタイムライン、成功基準を記載した ./migration-plan/00-roadmap.md を作成します。

出力構造

./migration-plan/
├── 00-roadmap.md                    # Consolidated roadmap, phases, timeline
├── research/
│   ├── dependency-map.md            # Module dependencies with file:line refs
│   ├── domain-candidates.md         # Identified bounded contexts
│   ├── stack-research.md            # Current + target stack analysis
│   └── risk-assessment.md           # Risk matrix with mitigations
└── domains/
    ├── 01-domain-{name}.md          # Per-domain migration plan
    ├── 02-domain-{name}.md
    └── ...

リファレンスガイド

現在のフェーズと必要性に応じてリファレンスを読み込みます。すべてのリファレンスを事前に読み込まないでください。

トピックリファレンス読み込むタイミング
調査方法論references/research-phase.mdRESEARCH フェーズの開始時
計画方法論references/plan-phase.mdPLAN フェーズの開始時
Strangler Fig パターンreferences/strangler-fig-patterns.md移行パターンの選択、境界の設計時
評価とリスクreferences/assessment-framework.md依存関係のマッピング、リスクの評価、ドメインの特定時
テスト戦略references/testing-safety-nets.md各ドメインのセーフティネットの設計時
スタック固有のパターンreferences/frontend-backend-strategies.mdフロントエンドまたはバックエンドの移行に関する詳細

制約

必ず行うこと
  • 推奨する技術を含める前に、すべてウェブ検索で調査します
  • 利用可能な場合は、ライブラリのドキュメントに context7 を使用します
  • コードベースに関するすべての観察事項に file:line を記載します
  • 不明な用語、略語、または曖昧な要件に遭遇した場合は、ユーザーに確認します
  • コンテキストを管理しやすくするため、ドメインごとに出力ファイルを1つ作成します
  • 移行の各ステップにロールバック戦略を含めます
  • 現在のスタックのバージョンが、コードベースの実際の内容(package.json、requirements.txt など)と一致することを検証します
必ず行わないこと
  • 略語、内部用語、またはビジネスロジックの意味を推測しないでください
  • ウェブ検索で確認せずに技術を推奨しないでください
  • 実装コードを書かないでください(このスキルで作成するのは計画であり、コードではありません)
  • RESEARCH の根拠なしに移行の方向性を決めつけないでください
  • RESEARCH フェーズを省略したり、PLAN と統合したりしないでください
  • 実際に読んでいないファイルや行を参照しないでください
  • 出力ファイルに、参照されていない主張を含めないでください

コメント