.claude/skills/evaluate-mmi/SKILL.md
MMI評価エージェント - Modularity Maturity Indexによるモジュール成熟度評価(Cohesion/Coupling/Independence/Reusability)。/evaluate-mmi [対象パス] で呼び出し。
npx skillsauth add wfukatsu/architecture-redesign-agent evaluate-mmiInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
既存システムのモジュール成熟度を4つの観点から評価し、改善計画を策定するエージェントです。
Modularity Maturity Index (MMI) は、ソフトウェアアーキテクチャのモジュール性を定量的に評価する指標です。
| 評価軸 | 重み | 評価観点 | |-------|-----|---------| | Cohesion(凝集度) | 30% | 単一責務性、機能の集中度 | | Coupling(結合度) | 30% | モジュール間依存、疎結合性 | | Independence(独立性) | 20% | デプロイ独立性、変更独立性 | | Reusability(再利用性) | 20% | 汎用性、他コンテキストでの活用可能性 |
MMI = (0.3 × Cohesion + 0.3 × Coupling + 0.2 × Independence + 0.2 × Reusability) / 5 × 100
| スコア | 成熟度レベル | 説明 | |-------|------------|------| | 80-100 | 高成熟 | マイクロサービス化の準備完了 | | 60-80 | 中成熟 | 一部改善でマイクロサービス化可能 | | 40-60 | 低中成熟 | 大幅なリファクタリングが必要 | | 0-40 | 未成熟 | モノリス分解の計画策定から |
以下のファイルが存在すること:
推奨(/analyze-system の出力):
reports/01_analysis/system-overview.md - システム概要reports/01_analysis/ubiquitous-language.md - ユビキタス言語必須:
評価結果は reports/02_evaluation/ に出力します。
重要: 各ステップ完了時に即座にファイルを出力してください。
reports/02_evaluation/
├── mmi-overview.md # Step 3完了時
├── mmi-by-module.md # Step 3完了時(各モジュール詳細評価)
└── mmi-improvement-plan.md # Step 4完了時
あなたはソフトウェアアーキテクチャの評価専門家です。以下の手順でMMI評価を実行してください。
重要: 実行前に必ず前提条件を確認してください。
推奨ファイルの確認:
├── reports/01_analysis/system-overview.md [推奨] ← /analyze-system
└── reports/01_analysis/ubiquitous-language.md [推奨] ← /analyze-system
必須:
└── 対象コードベースへのアクセス [必須]
エラーハンドリング:
対象システムからモジュールを特定します。モジュールの粒度は以下を基準に:
# Serenaツールでモジュール構造を把握
mcp__serena__list_dir で全体構造を確認
mcp__serena__get_symbols_overview で各モジュールの内容を把握
| スコア | 基準 | |-------|------| | 5 | 完全単一責務。1つの明確な目的のみ | | 4 | ほぼ単一責務。関連性の高い機能のみ | | 3 | 複数責務だが関連性あり | | 2 | 複数の無関係な責務が混在 | | 1 | 責務が不明瞭、雑多な機能の寄せ集め | | 0 | 責務の概念なし、スパゲッティコード |
評価ポイント:
# 評価コマンド例
mcp__serena__find_symbol でクラスサイズを確認
Grep で責務の分散を確認
| スコア | 基準 | |-------|------| | 5 | 完全独立。外部依存なし | | 4 | 最小限の依存。インターフェース経由のみ | | 3 | 適度な依存。一方向の依存関係 | | 2 | 多数の依存。双方向依存あり | | 1 | 強結合。循環依存あり | | 0 | 密結合。分離不可能 |
評価ポイント:
# 評価コマンド例
mcp__serena__find_referencing_symbols で依存関係を分析
Grep で import/require をカウント
| スコア | 基準 | |-------|------| | 5 | 完全独立デプロイ可能 | | 4 | ほぼ独立。設定変更のみで分離可能 | | 3 | 条件付き独立。一部共有リソースあり | | 2 | 部分依存。他モジュールとの協調必要 | | 1 | 強依存。同時デプロイ必須 | | 0 | 分離不可能。一体化 |
評価ポイント:
| スコア | 基準 | |-------|------| | 5 | 汎用ライブラリとして利用可能 | | 4 | 他プロジェクトで再利用可能 | | 3 | 同プロジェクト内で再利用可能 | | 2 | 限定的な再利用のみ可能 | | 1 | 再利用困難。ハードコード多数 | | 0 | 再利用不可能 |
評価ポイント:
各モジュールについてスコアを計算:
function calculateMMI(cohesion, coupling, independence, reusability) {
return ((0.3 * cohesion + 0.3 * coupling + 0.2 * independence + 0.2 * reusability) / 5) * 100;
}
このステップ完了時に出力:
reports/02_evaluation/mmi-by-module.md - 各モジュールの詳細評価reports/02_evaluation/mmi-overview.md - 評価概要サマリーMMIスコアに基づき、改善施策を優先度付けして提案:
このステップ完了時に出力: reports/02_evaluation/mmi-improvement-plan.md
MMI評価概要(エグゼクティブサマリー、スコア分布、軸別平均スコア、主要課題、推奨アクション)
モジュール別MMIスコア(スコア一覧、各モジュール詳細評価、改善提案)
MMI改善計画(改善目標、ロードマップ、施策詳細、依存関係図、モニタリング計画)
mcp__serena__find_referencing_symbols を使用
Grepでメソッド数、行数をカウント
依存グラフを構築し、サイクルを検出
/analyze-system の先行実行を案内| スキル | 用途 |
|-------|-----|
| /mmi-analyzer | MMI自動定量評価(代替/補完) |
| /ddd-evaluation | DDD評価(並行実施) |
| /integrate-evaluations | 評価統合(次ステップ) |
| /analyze-system | システム分析(入力) |
tools
インタラクティブワークフロー選択 - 実行したい処理を段階的に選択して実行。/workflow で呼び出し。
development
GraphDB可視化エージェント - RyuGraphデータベースの内容をMermaid/DOT/HTML形式で可視化。/visualize-graph [出力パス] で呼び出し。
tools
システム調査エージェント - コードベースの構造・技術スタック・問題点・DDD適合性を調査。/system-investigation [対象パス] で呼び出し。
databases
ScalarDBエディション選定エージェント - 対話形式で最適なScalarDBエディション(OSS/Enterprise Standard/Premium)を選定。/select-scalardb-edition で呼び出し。