mcpField
D
dependency-graph

dependency-graph

github.com/athola開発34396 回インストール1 日前に更新
リポジトリ

dependency-graph について

コードのモジュール、パッケージ、プラグイン間のインポートと依存関係を Mermaid のフローチャートにまとめるスキルです。依存関係の分析、循環依存の検出、リファクタリング計画に役立ちます。

主な機能

  1. 01Mermaid依存関係フローチャートの作成
  2. 02内部・外部インポートの区別
  3. 03重要・任意の依存関係の表示
  4. 04循環依存の検出と強調
  5. 05ファンインとファンアウトの集計

活用シーン

  1. 01コードベースの依存関係の確認
  2. 02モジュール間の循環依存の発見
  3. 03リファクタリングの影響評価

MCP 対応

生成したフローチャートの検証とレンダリングに Mermaid Chart MCP を呼び出します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/athola/claude-night-market --skill dependency-graph

インストール後、Claude Code で/dependency-graphを入力して読み込まれたか確認します。

詳細

依存関係グラフ

モジュール、パッケージ、プラグイン間のインポートおよび依存関係を示す Mermaid フローチャートを生成します。

使用する場面

  • 何が何に依存しているかを理解する
  • 循環依存を見つける
  • モジュール間の結合度を分析する
  • 依存関係への影響を確認してリファクタリングを計画する
  • 「これを変更したら何が壊れるか?」に答える

使用しない場面

  • 実行時の呼び出し経路(cartograph:call-chain を使用)
  • 型の階層(cartograph:class-diagram を使用)

ワークフロー

ステップ 1:コードベースを調査する

コードベースエクスプローラーエージェントに処理を依頼します。

Agent(cartograph:codebase-explorer)
Prompt: Explore [scope] and return a structural model.
Focus on import statements and cross-module dependencies
for a dependency graph. Track both internal and external
imports.
ステップ 2:Mermaid 構文を生成する

構造モデルを、依存関係を表す有向エッジを含む Mermaid フローチャートに変換します。

依存関係グラフのルール:

  • 依存関係の方向には flowchart LR(左から右)を使用します
  • 各ノードはモジュールまたはパッケージです
  • エッジは依存する側から依存先に向けます(A --> B は「A は B に依存する」という意味です)
  • 依存関係の種類ごとに色分けします:
    • 内部依存関係にはデフォルトの矢印を使用します
    • 外部/オプションの依存関係には点線の矢印(-.->)を使用します
    • クリティカルパスの依存関係には太い矢印(==>)を使用します
  • パッケージ/プラグインごとにサブグラフにまとめます
  • 深さのパラメーターが指定されている場合は、推移的依存関係をその深さに制限します
  • 循環依存は赤色のスタイルで強調表示します

出力例:

flowchart LR
    subgraph sanctum[Sanctum]
        commit[commit]
        pr_prep[pr_prep]
        workspace[workspace]
    end

    subgraph leyline[Leyline]
        git[git_platform]
        errors[error_patterns]
    end

    subgraph external[External]
        subprocess[subprocess]
        json[json]
    end

    commit --> git
    commit --> json
    pr_prep --> workspace
    pr_prep --> git
    workspace --> errors
    workspace -.-> subprocess
ステップ 3:MCP 経由でレンダリングする

Mermaid Chart MCP を呼び出してレンダリングします:

mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram
  prompt: "Dependency graph of [scope]"
  mermaidCode: [generated syntax]
  diagramType: "flowchart"
  clientName: "claude-code"

レンダリングに失敗した場合は、構文を修正して再試行します(最大 2 回)。

ステップ 4:結果を提示する

レンダリングされた図を分析メモとともに表示します:

  • モジュールの合計数と依存関係の数
  • 最も多く依存されているモジュール(ファンインが大きいモジュール)
  • 依存関係が最も多いモジュール(ファンアウトが大きいモジュール)
  • 検出された場合は循環依存

完了条件

  • 依存する側から依存先に向かう有向エッジを含む Mermaid の flowchart LR 構文が生成されている(A --> B は「A は B に依存する」という意味です)
  • mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram が呼び出され、エラーなく返されている
  • 分析メモにモジュールの合計数、ファンインが最大のモジュール、ファンアウトが最大のモジュールが含まれている
  • 循環依存が検出された場合、赤色のスタイルで強調表示され、分析メモに明記されている
  • 外部依存関係には点線の矢印(-.->)が使用され、内部依存関係の矢印と区別されている

コメント