本文へ移動
cccskills
無料GitHub で公開

evaluate-mmi

MMI評価エージェント - Modularity Maturity Indexによるモジュール成熟度評価(Cohesion/Coupling/Independence/Reusability)。/evaluate-mmi [対象パス] で呼び出し。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md7.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Modularity Maturity Index (MMI) Evaluator Agent

既存システムのモジュール成熟度を4つの観点から評価し、改善計画を策定するエージェントです。

概要

Modularity Maturity Index (MMI) は、ソフトウェアアーキテクチャのモジュール性を定量的に評価する指標です。

評価軸

評価軸重み評価観点
Cohesion(凝集度)30%単一責務性、機能の集中度
Coupling(結合度)30%モジュール間依存、疎結合性
Independence(独立性)20%デプロイ独立性、変更独立性
Reusability(再利用性)20%汎用性、他コンテキストでの活用可能性

MMI計算式

MMI = (0.3 × Cohesion + 0.3 × Coupling + 0.2 × Independence + 0.2 × Reusability) / 5 × 100

成熟度レンジ

スコア成熟度レベル説明
80-100高成熟マイクロサービス化の準備完了
60-80中成熟一部改善でマイクロサービス化可能
40-60低中成熟大幅なリファクタリングが必要
0-40未成熟モノリス分解の計画策定から

出力先ディレクトリ

評価結果は reports/02_evaluation/ に出力します。 重要: 各ステップ完了時に即座にファイルを出力してください。

reports/02_evaluation/
├── mmi-overview.md        # Step 3完了時
├── mmi-by-module.md       # Step 2完了時(各モジュール評価後)
└── mmi-improvement-plan.md # Step 4完了時

実行プロンプト

あなたはソフトウェアアーキテクチャの評価専門家です。以下の手順でMMI評価を実行してください。

Step 1: モジュール抽出

対象システムからモジュールを特定します。モジュールの粒度は以下を基準に:

  • パッケージ/名前空間単位 - 中規模システム向け
  • クラス/ファイル単位 - 小規模システム向け
  • サービス/コンポーネント単位 - 大規模システム向け
# Serenaツールでモジュール構造を把握
mcp__serena__list_dir で全体構造を確認
mcp__serena__get_symbols_overview で各モジュールの内容を把握

Step 2: 各軸の評価

Cohesion(凝集度)評価

スコア基準
5完全単一責務。1つの明確な目的のみ
4ほぼ単一責務。関連性の高い機能のみ
3複数責務だが関連性あり
2複数の無関係な責務が混在
1責務が不明瞭、雑多な機能の寄せ集め
0責務の概念なし、スパゲッティコード

評価ポイント:

  • クラス/ファイルの行数(大きすぎないか)
  • メソッド数(多すぎないか)
  • 関連性のない機能の混在
  • 命名の一貫性
# 評価コマンド例
mcp__serena__find_symbol でクラスサイズを確認
Grep で責務の分散を確認

Coupling(結合度)評価

スコア基準
5完全独立。外部依存なし
4最小限の依存。インターフェース経由のみ
3適度な依存。一方向の依存関係
2多数の依存。双方向依存あり
1強結合。循環依存あり
0密結合。分離不可能

評価ポイント:

  • import/require文の数
  • 外部モジュールへの直接参照
  • 循環依存の有無
  • グローバル状態の使用
# 評価コマンド例
mcp__serena__find_referencing_symbols で依存関係を分析
Grep で import/require をカウント

Independence(独立性)評価

スコア基準
5完全独立デプロイ可能
4ほぼ独立。設定変更のみで分離可能
3条件付き独立。一部共有リソースあり
2部分依存。他モジュールとの協調必要
1強依存。同時デプロイ必須
0分離不可能。一体化

評価ポイント:

  • 共有データベースの使用
  • 共有ライブラリへの依存
  • 設定ファイルの共有
  • 同期的な呼び出し

Reusability(再利用性)評価

スコア基準
5汎用ライブラリとして利用可能
4他プロジェクトで再利用可能
3同プロジェクト内で再利用可能
2限定的な再利用のみ可能
1再利用困難。ハードコード多数
0再利用不可能

評価ポイント:

  • ハードコードされた値
  • 環境依存のコード
  • インターフェースの抽象度
  • ドキュメントの有無

Step 3: スコア集計

各モジュールについてスコアを計算:

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 - 評価概要サマリー

Step 4: 改善計画策定

MMIスコアに基づき、改善施策を優先度付けして提案:

  1. 即時改善(Quick Wins) - 低コストで効果大
  2. 短期改善(1-3ヶ月) - 計画的なリファクタリング
  3. 中期改善(3-6ヶ月) - アーキテクチャ変更
  4. 長期改善(6ヶ月以上) - 大規模再構築

このステップ完了時に出力: reports/02_evaluation/mmi-improvement-plan.md

出力フォーマット

1. mmi-overview.md

MMI評価概要(エグゼクティブサマリー、スコア分布、軸別平均スコア、主要課題、推奨アクション)

2. mmi-by-module.md

モジュール別MMIスコア(スコア一覧、各モジュール詳細評価、改善提案)

3. mmi-improvement-plan.md

MMI改善計画(改善目標、ロードマップ、施策詳細、依存関係図、モニタリング計画)

評価のベストプラクティス

Do's

  • 客観的な基準でスコアリング
  • 根拠を明記する
  • 改善可能性を考慮
  • ビジネス価値と照らし合わせる

Don'ts

  • 主観的な印象で評価しない
  • 極端なスコア(0や5)を安易につけない
  • 改善不可能な課題にフォーカスしすぎない
  • 技術的負債を過小評価しない

ツール活用

依存関係分析

mcp__serena__find_referencing_symbols を使用

コード複雑度確認

Grepでメソッド数、行数をカウント

循環依存検出

依存グラフを構築し、サイクルを検出

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

analyze-system

無料日本語概要

システム分析エージェント - ユビキタス言語、アクター、ロール、権限、ドメイン-コード対応表を抽出。/analyze-system [対象パス] で呼び出し。

wfukatsu/refactoring-agent-for-claude-code82026年2月24日 更新

build-graph

無料日本語概要

GraphDB構築エージェント - ユビキタス言語とコード解析結果からRyuGraphデータベースを構築。/build-graph [対象パス] で呼び出し。

wfukatsu/refactoring-agent-for-claude-code82026年2月24日 更新

compile-report

無料日本語概要

レポートコンパイルエージェント - 分析結果のMarkdownファイルを統合HTMLレポートに変換。/compile-report [出力パス] で呼び出し。

wfukatsu/refactoring-agent-for-claude-code82026年2月24日 更新

create-domain-story

無料日本語概要

ドメインストーリーテリングエージェント - ドメインストーリーの作成、ビジネスプロセスの可視化。/create-domain-story --domain=[ドメイン名] で呼び出し。

wfukatsu/refactoring-agent-for-claude-code82026年2月24日 更新

design-api

無料日本語概要

API設計エージェント - リファクタリング後のマイクロサービスAPI設計。REST/GraphQL/gRPC/AsyncAPIの仕様書、API Gateway設計、認証・認可設計を策定。/design-api [対象パス] で呼び出し。

wfukatsu/refactoring-agent-for-claude-code82026年2月24日 更新

design-microservices

無料日本語概要

マイクロサービス設計エージェント - ターゲットアーキテクチャ、変換計画、運用計画の策定。/design-microservices [対象パス] で呼び出し。

wfukatsu/refactoring-agent-for-claude-code82026年2月24日 更新

wfukatsu のスキルをすべて見る

このスキルの問題を報告する