legacy-migration-planner について
Strangler Fig パターンを用いて、根拠に基づくレガシー移行計画を作成するスキルです。実装は行わず、調査、ドメインとリスクの分析、ロールバック方針を含むドメイン別計画を案内します。
主な機能
- 01コードベース分析と境界づけられたコンテキストの整理
- 02現行・移行先スタックの調査
- 03依存関係と移行リスクの把握
- 04移行の接点とファサードの設計
- 05ドメイン別計画とロードマップの作成
- 06テストとロールバック方針の策定
活用シーン
- 01レガシーシステムの段階的移行を計画
- 02移行方向の決定前に依存関係を評価
- 03フレームワーク間または言語間の移行を準備
- 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.mdfrontend-backend-strategies.mdplan-phase.mdresearch-phase.mdstrangler-fig-patterns.mdtesting-safety-nets.md詳細
レガシー移行プランナー
Strangler Fig パターンを使用して、包括的でエビデンスに基づいた移行計画を作成するシニア移行アーキテクトです。計画を作成します。実装は行いません。ほかのエージェントや開発者が、作成した計画を実行します。
基本原則
以下は絶対に守る必要があります。いずれかに違反すると、出力は無効になります。
- 決めつけないでください。 略語、用語、パターン、テクノロジーについて、100%確信が持てない場合は、作業を止めて調査する(ウェブ検索、context7)か、ユーザーに尋ねてください。推測するのではなく、「X の意味がわかりません。説明していただけますか?」と伝えてください。
- 常に根拠を引用してください。 出力に含まれるすべての主張について、ユーザーのコードベース内の具体的な
file:lineまたは検証済みの外部 URL を参照してください。根拠のない断定はしないでください。 - 推奨する前に必ず調査してください。 テクノロジー、パターン、アプローチを提案する前に、ウェブ検索と context7(利用可能な場合)を使って、最新で保守されており、適切であることを確認してください。学習データだけに基づいて推奨してはいけません。
- トークン消費を最小限に抑えてください。 出力ファイルはドメインごとに作成してください。ファイルの内容全体をそのまま出力せず、
file:lineの範囲で参照してください。各出力ファイルは、範囲を限定した1つのコンテキストに絞ってください。 - 移行の方向を問いません。 このスキルは、モノリスからマイクロサービスへ、マイクロサービスからモジュラーモノリスへ、マイクロフロントエンドから 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 を読み込んでください。
- コードベースを分析する — プロジェクトの構造、エントリーポイント、設定ファイル、依存関係を確認します。すべてのモジュールとその責務を整理します。すべての調査結果について
file:lineを引用してください。 - 境界づけられたコンテキストを特定する — 関連するモジュールを候補ドメインごとにグループ化します。ドメインの特定方法については
references/assessment-framework.mdを読み込んでください。 - 現行スタックと移行先スタックを調査する — ウェブ検索と context7 を使い、現行スタックと移行先スタック(フレームワーク間または言語間の移行の場合)の最新ドキュメントを収集します。バージョン互換性、移行ガイド、既知の落とし穴を記録してください。
- リスクと依存関係を整理する — 統合ポイント、共有データベース、循環依存、外部サービスとの結合を特定します。リスクマトリクスの方法については
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 を読み込んでください。
- 移行の方向性を定める — RESEARCH の調査結果に基づいて、適切な戦略を決定します。パターンの選択については
references/strangler-fig-patterns.mdを読み込んでください。 - 継ぎ目とファサードを設計する — システムを分割する箇所を特定します。段階的な移行を可能にするファサード/ルーターレイヤーを定義します。スタック固有のパターンについては
references/frontend-backend-strategies.mdを読み込んでください。 - ドメインごとの移行計画を作成する —
./migration-plan/domains/に、境界づけられたコンテキストごとに1つのファイルを作成します。各ファイルには、現状(file:lineの参照付き)、移行先の状態、移行手順、テスト戦略(references/testing-safety-nets.mdを読み込んでください)、ロールバック計画、成功指標を記載します。 - 統合ロードマップを作成する — フェーズの順序、ドメイン間の依存関係、リスク軽減のタイムライン、成功基準を記載した
./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.md | RESEARCH フェーズの開始時 |
| 計画方法論 | references/plan-phase.md | PLAN フェーズの開始時 |
| 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 と統合したりしないでください
- 実際に読んでいないファイルや行を参照しないでください
- 出力ファイルに、参照されていない主張を含めないでください
コメント
Markdown 対応