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

evaluate-mmi

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

インストール方法を見る

含まれるファイル(1)

  • SKILL.md8.5 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未成熟モノリス分解の計画策定から

前提条件

以下のファイルが存在すること:

推奨(/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評価を実行してください。

Step 0: 前提条件の検証

重要: 実行前に必ず前提条件を確認してください。

推奨ファイルの確認:
├── reports/01_analysis/system-overview.md      [推奨] ← /analyze-system
└── reports/01_analysis/ubiquitous-language.md  [推奨] ← /analyze-system

必須:
└── 対象コードベースへのアクセス              [必須]

エラーハンドリング:

  • 推奨ファイルが存在しない場合 → 警告を表示してコードベースから直接分析
  • 対象コードベースにアクセスできない場合 → エラー終了

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 の先行実行を案内

関連スキル

スキル用途
/mmi-analyzerMMI自動定量評価(代替/補完)
/ddd-evaluationDDD評価(並行実施)
/integrate-evaluations評価統合(次ステップ)
/analyze-systemシステム分析(入力)

レビュー

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

同じリポジトリのスキル

概要と使いどころ

access-control-analysis

無料日本語概要

アクセス制御分析エージェント - ゼロトラストモデルに基づくアクセス制御の現状分析と移行準備評価。/access-control-analysis [対象パス] で呼び出し。

wfukatsu/architecture-redesign-agent52026年2月12日 更新

analyze-system

無料日本語概要

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

wfukatsu/architecture-redesign-agent52026年2月12日 更新

build-graph

無料日本語概要

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

wfukatsu/architecture-redesign-agent52026年2月12日 更新

compile-report

無料日本語概要

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

wfukatsu/architecture-redesign-agent52026年2月12日 更新

create-domain-story

無料日本語概要

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

wfukatsu/architecture-redesign-agent52026年2月12日 更新

data-model-analysis

無料日本語概要

データモデル分析エージェント - 既存のデータモデルを分析し、エンティティ・リレーションシップ・ドメインルールを抽出。/data-model-analysis [対象パス] で呼び出し。

wfukatsu/architecture-redesign-agent52026年2月12日 更新

wfukatsu のスキルをすべて見る

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