mmi-analyzer
MMI自動定量評価エージェント - Lilienthal 3軸(モジュール性・階層性・パターン一貫性)でPythonプロジェクトの技術的負債を定量評価。/mmi-analyzer [対象パス] で呼び出し。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
MMI自動定量評価エージェント - Lilienthal 3軸(モジュール性・階層性・パターン一貫性)でPythonプロジェクトの技術的負債を定量評価。/mmi-analyzer [対象パス] で呼び出し。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
ScalarDB Analytics設計エージェント - ScalarDB Analyticsを使用した分析基盤の設計。Apache Sparkベースの分析クエリ、マルチDB横断分析を策定。/design-scalardb-analytics [対象パス] で呼び出し。
ScalarDBサイジング見積もりエージェント - Enterprise/OSSエディション別のインフラ構成・Pod数・コストを対話形式で見積もり。/scalardb-sizing-estimator で呼び出し。
DDD評価エージェント - 戦略的設計・戦術的設計の両面からDDD原則への適合度を評価し改善点を特定。/ddd-evaluation [対象パス] で呼び出し。
システム分析エージェント - ユビキタス言語、アクター、ロール、権限、ドメイン-コード対応表を抽出。/analyze-system [対象パス] で呼び出し。
GraphDB構築エージェント - ユビキタス言語とコード解析結果からRyuGraphデータベースを構築。/build-graph [対象パス] で呼び出し。
ドメインストーリーテリングエージェント - ドメインストーリーの作成、ビジネスプロセスの可視化。/create-domain-story --domain=[ドメイン名] で呼び出し。
| name | mmi-analyzer |
| description | MMI自動定量評価エージェント - Lilienthal 3軸(モジュール性・階層性・パターン一貫性)でPythonプロジェクトの技術的負債を定量評価。/mmi-analyzer [対象パス] で呼び出し。 |
| user_invocable | true |
Dr. Carola Lilienthal の MMI (Modularity Maturity Index) に基づき、Pythonプロジェクトのアーキテクチャ品質を0〜10で定量評価する。
MMIは3つのカテゴリの加重合計で算出される:
| カテゴリ | 重み | 主な評価対象 |
|---|---|---|
| Modularity(モジュール性) | 45% | モジュール分割、インターフェース、プロポーション |
| Hierarchy(階層性) | 30% | レイヤー違反、循環依存 |
| Pattern Consistency(パターン一貫性) | 25% | パターン適用率、DDD分離 |
環境:
pip install radon networkx)必須:
推奨:
結果は reports/02_evaluation/ に出力します。
中間データ: metrics_result.json, architecture_result.json, mmi_result.json
重要: 各ステップ完了時に即座にファイルを出力してください。
本スキルは3つのPythonスクリプトで構成される。各ツールは独立して実行可能だが、Tool 3(MMI Calculator)が全体を統合する。
scripts/metrics_analyzer.py)コードメトリクスを自動計測する。MMI基準の 1.3(プロポーション)と 2.2(循環依存)をカバー。
pip install radon networkx --break-system-packages
python scripts/metrics_analyzer.py /path/to/project
計測項目:
(LoC max / LoC min) / 数出力: metrics_result.json
scripts/architecture_analyzer.py)アーキテクチャ構造を解析する。MMI基準の 1.1(モジュール化)、1.2(インターフェース)、2.1(レイヤー違反)、3.1-3.2(パターン)をカバー。
python scripts/architecture_analyzer.py /path/to/project [--config architecture.json]
解析項目:
設定ファイル(任意): architecture.json でターゲットアーキテクチャを定義できる。
詳細は references/architecture_config.md を参照。
出力: architecture_result.json
scripts/mmi_calculator.py)Tool 1, 2 の結果とレビュアー入力を統合してMMIスコアを算出する。
python scripts/mmi_calculator.py \
--metrics metrics_result.json \
--architecture architecture_result.json \
[--reviewer reviewer_input.json]
処理:
references/mmi_scoring_table.md のスコアリング閾値に基づき各基準を0〜10に変換reviewer_input.json で上書き可能出力: mmi_report.md, mmi_scores.json
pip install radon networkx --break-system-packages
python scripts/metrics_analyzer.py /path/to/project
python scripts/architecture_analyzer.py /path/to/project
必要に応じて architecture.json を作成し、ターゲットアーキテクチャ(レイヤー順序、ドメインモジュール名など)を定義する。
python scripts/mmi_calculator.py \
--metrics metrics_result.json \
--architecture architecture_result.json
生成された mmi_report.md を確認し、ユーザーに提示する。
Serena MCP が利用可能な場合、以下の機能で解析精度が大幅に向上する:
Serena連携の詳細は references/serena_integration.md を参照。
自動計測できない基準(1.1.5, 1.1.6, 1.2.2, 3.3, 3.4)はレビュアー判断が必要。
reviewer_input.json で以下の形式で入力する:
{
"1.1.5_clear_responsibilities": 5,
"1.1.6_mapping_quality": 5,
"1.2.2_interface_mapping": 5,
"3.3_explicit_pattern_mapping": 5,
"3.4_domain_technical_separation": 5
}
値は 0(No), 5(partial), 10(Yes)のいずれか。 ユーザーにインタラクティブに確認して入力するのが望ましい。
.claude/skills/mmi-analyzer/scripts/ のパスを確認/evaluate-mmi(手動定性評価)の使用を推奨pip install radon networkx を案内| スキル | 用途 |
|---|---|
/evaluate-mmi | MMI手動定性評価(代替/補完) |
/ddd-evaluation | DDD評価(並行実施) |
/integrate-evaluations | 評価統合(次ステップ) |
/analyze-system | システム分析(入力) |
各基準の閾値テーブルは references/mmi_scoring_table.md に記載。