| name | refactor-system |
| description | 統合リファクタリングエージェント - 既存システムをマイクロサービスアーキテクチャにリファクタリングするための統合分析・設計を実行。/refactor-system [対象パス] で呼び出し。 |
| model | opus |
| user_invocable | true |
System Refactoring Orchestrator
既存システムをマイクロサービスアーキテクチャにリファクタリングするための統合エージェントです。
概要
このスキルは、既存の設計書やコードを分析し、以下のプロセスを通じてマイクロサービスアーキテクチャへの変換計画を策定します:
- システム分析 - 既存コードと設計書の解析
- MMI評価 - Modularity Maturity Indexによる成熟度評価
- ドメインマッピング - ビジネスドメインとコードの紐付け
- マイクロサービス設計 - ターゲットアーキテクチャの策定
- ScalarDB設計 - 分散トランザクション・データアーキテクチャの策定
- ドメインストーリー - 各ドメインのユースケース整理
使用方法
/refactor-system [対象パス] [オプション]
オプション
--analyze-only - 分析のみ実行(設計書生成なし)
--skip-mmi - MMI評価をスキップ
--domain=[ドメイン名] - 特定ドメインのみ対象
--output=[出力パス] - 出力先ディレクトリ指定(デフォルト: reports/)
--model=[opus|sonnet|haiku] - 全タスクのモデルを一括指定(各スキルの個別設定を上書き)
モデル割り当て
各Phaseのタスクには、複雑度に応じて最適なモデルがデフォルトで割り当てられています。--model オプションで一括上書きが可能です。
| Phase | エージェント | デフォルトモデル | 理由 |
|---|
| 2 | system-analyzer | opus | 深いコード・設計書解析 |
| 3 | mmi-evaluator | sonnet | 定型的な評価ルーブリック |
| 4 | domain-mapper | opus | DDD分析・境界コンテキスト設計 |
| 5 | microservice-architect | opus | アーキテクチャ設計判断 |
| 6 | scalardb-architect | opus | 分散トランザクション設計 |
| 7 | domain-storyteller | sonnet | 構造化データからの記述生成 |
| 8 | cost-estimator | sonnet | テンプレートベースの見積もり |
出力ファイル構造
reports/
├── 00_summary/
│ └── executive-summary.md # エグゼクティブサマリー
├── 01_analysis/
│ ├── ubiquitous-language.md # ユビキタス言語集
│ ├── actors-roles-permissions.md # アクター・ロール・権限
│ ├── domain-code-mapping.md # ドメイン-コード対応表
│ └── system-overview.md # 現行システム概要
├── 02_evaluation/
│ ├── mmi-overview.md # MMI全体サマリー
│ ├── mmi-by-module.md # モジュール別MMI
│ └── mmi-improvement-plan.md # MMI改善計画
├── 03_design/
│ ├── domain-analysis.md # ドメイン分析
│ ├── system-mapping.md # システムマッピング
│ ├── target-architecture.md # ターゲットアーキテクチャ
│ ├── transformation-plan.md # 変換計画
│ ├── operations-feedback.md # 運用・フィードバック計画
│ ├── scalardb-architecture.md # ScalarDBアーキテクチャ設計
│ ├── scalardb-schema.md # ScalarDBスキーマ設計
│ ├── scalardb-transaction.md # ScalarDBトランザクション設計
│ └── scalardb-migration.md # ScalarDBマイグレーション計画
├── 04_stories/
│ └── [domain]-story.md # ドメイン別ストーリー
└── 05_estimate/
├── cost-summary.md # コストサマリー
├── infrastructure-detail.md # インフラ詳細見積もり
├── license-requirements.md # ライセンス要件・問い合わせ情報
└── cost-assumptions.md # 見積もり前提条件
実行フロー
graph TD
A[開始] --> B[入力確認]
B --> C{設計書あり?}
C -->|Yes| D[設計書解析]
C -->|No| E[コード解析のみ]
D --> F[システム分析エージェント]
E --> F
F --> G[MMI評価エージェント]
G --> H[ドメインマッピングエージェント]
H --> I[マイクロサービス設計エージェント]
I --> J[ScalarDB設計エージェント]
J --> K[ドメインストーリーエージェント]
K --> CE[コスト見積もりエージェント]
CE --> MV[Mermaid図検証・修正]
MV --> L[最終レポート生成]
L --> M[終了]
処理詳細
重要: 各Phaseは完了時に即座に対応するファイルを reports/ ディレクトリに出力します。
最後にまとめて出力するのではなく、解析中にリアルタイムでファイルを生成してください。
Phase 1: 入力収集と初期分析
- 出力ディレクトリの作成:
mkdir -p reports/{00_summary,01_analysis,02_evaluation,03_design,04_stories,graph/data,99_appendix}
- 対象ディレクトリのスキャン
- 設計書ファイルの特定(
.md, .docx, .xlsx, .pdf など)
- ソースコードの構造解析
- 使用技術スタックの特定
Phase 1完了時に出力: reports/00_summary/project-metadata.json
Phase 2: システム分析
Taskツールで system-analyzer エージェントを起動し(model: "opus")、以下を実行:
- ユビキタス言語の抽出
- アクター・ロール・権限の整理
- ドメイン境界の初期推定
Phase 2完了時に出力:
reports/01_analysis/system-overview.md
reports/01_analysis/ubiquitous-language.md
reports/01_analysis/actors-roles-permissions.md
reports/01_analysis/domain-code-mapping.md
Phase 3: MMI評価
Taskツールで mmi-evaluator エージェントを起動し(model: "sonnet")、以下を評価:
- Cohesion(凝集度) - 30%
- Coupling(結合度) - 30%
- Independence(独立性) - 20%
- Reusability(再利用性) - 20%
Phase 3完了時に出力:
reports/02_evaluation/mmi-overview.md
reports/02_evaluation/mmi-by-module.md
reports/02_evaluation/mmi-improvement-plan.md
Phase 4: ドメインマッピング
Taskツールで domain-mapper エージェントを起動し(model: "opus")、以下を実行:
- 設計書の概念とコードの対応付け
- ドメインタイプの分類(Pipeline/Blackboard/Dialogue)
- マイクロサービス境界の分類(Process/Master/Integration/Supporting)
Phase 4完了時に出力:
reports/03_design/domain-analysis.md
reports/03_design/context-map.md
reports/03_design/system-mapping.md
Phase 5: マイクロサービス設計
Taskツールで microservice-architect エージェントを起動し(model: "opus")、以下を策定:
- コンテキストマップ
- マクロアーキテクチャ
- データストレージ設計
- 移行計画
Phase 5完了時に出力:
reports/03_design/target-architecture.md
reports/03_design/transformation-plan.md
reports/03_design/operations-feedback.md
Phase 6: ScalarDB設計
Taskツールで scalardb-architect エージェントを起動し(model: "opus")、以下を策定:
- デプロイモード選定 - ScalarDB Core(ライブラリ)vs Cluster(サーバー)
- ストレージバックエンド設計 - 各サービスに適したDB選定(PostgreSQL, DynamoDB, Cassandra等)
- スキーマ設計 - Namespace、テーブル定義、パーティションキー、クラスタリングキー
- トランザクション設計 - Consensus Commit、Two-Phase Commit、Sagaパターン
- マイグレーション計画 - 既存DBからの移行戦略
Phase 6完了時に出力:
reports/03_design/scalardb-architecture.md
reports/03_design/scalardb-schema.md
reports/03_design/scalardb-transaction.md
reports/03_design/scalardb-migration.md
Phase 7: ドメインストーリー
Taskツールで domain-storyteller エージェントを起動し(model: "sonnet")、各ドメインについて:
- アクター特定
- ワークアイテム整理
- アクティビティフロー記述
- 例外シナリオ検討
Phase 7完了時に出力: reports/04_stories/[domain]-story.md
Phase 8: コスト見積もり
Taskツールで cost-estimator エージェントを起動し(model: "sonnet")、以下を策定:
- クラウドインフラ費用 - Kubernetes、データベース、ネットワーク、ストレージ
- ライセンス費用 - ScalarDB、その他商用ソフトウェア
- 運用費用 - 監視、バックアップ、サポート
- 初期構築費用 - 移行、開発、トレーニング
Phase 8完了時に出力:
reports/05_estimate/cost-summary.md
reports/05_estimate/infrastructure-detail.md
reports/05_estimate/license-requirements.md
reports/05_estimate/cost-assumptions.md
Phase 9: Mermaid図の検証・修正
全レポートのMermaid図を検証し、シンタックスエラーがあれば修正:
- Mermaid図を含むMarkdownファイルを検索
- 各図の構文を検証
- エラーを発見した場合は自動修正
- 修正結果をログ出力
/fix-mermaid ./reports
検証項目:
- サブグラフ名の引用符
- 日本語ラベルの引用符
<br/>を含むノードの引用符
- エッジラベルの特殊文字
- sequenceDiagramの予約語(BOX等)
Phase 9完了時に出力: 修正ログ(コンソール出力)
Phase 10: エグゼクティブサマリー
全Phaseの結果を統合し、エグゼクティブサマリーを作成。
Phase 10完了時に出力: reports/00_summary/executive-summary.md
依存スキル
このスキルは以下のサブスキルを使用します:
/analyze-system - システム分析
/evaluate-mmi - MMI評価
/map-domains - ドメインマッピング
/design-microservices - マイクロサービス設計
/design-scalardb - ScalarDB設計(分散トランザクション・データアーキテクチャ)
/create-domain-story - ドメインストーリー作成
/estimate-cost - コスト見積もり(クラウドインフラ・ライセンス)
/fix-mermaid - Mermaid図の検証・修正
使用例
基本的な使用
/refactor-system ./src
特定ドメインのみ分析
/refactor-system ./src --domain=Order
分析のみ実行
/refactor-system ./src --analyze-only
注意事項
- 大規模なコードベースの場合、処理に時間がかかる場合があります
- 中間ファイルは
reports/ に保存されます
- 既存の出力ファイルは上書きされます(バックアップ推奨)
- 設計書がない場合でもコードから推論可能ですが、精度が低下する可能性があります