mcpField
C
class-diagram

class-diagram

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

class-diagram について

class-diagramは、コードベースを調査し、型や関係、公開インターフェースを示すMermaidクラス図を作成するスキルです。APIの文書化や継承・コンポジションの分析に使え、Mermaid Chart MCPで図を描画します。

主な機能

  1. 01コードベース内の型の調査
  2. 02Mermaidクラス図の生成
  3. 03公開メソッドと属性の表示
  4. 04継承とコンポジションの整理
  5. 05図の描画と分析メモ

活用シーン

  1. 01クラス階層の把握
  2. 02モジュールの公開APIの文書化
  3. 03コンポジションと継承の分析

MCP 対応

Mermaid Chart MCPを使い、生成したクラス図を検証して描画します。

インストール

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

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

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

詳細

クラス図

コードベース内の型、その関係、およびパブリックインターフェースを示す Mermaid クラス図を生成します。

使用する場面

  • クラス階層と継承を理解する
  • モジュールのパブリック API を文書化する
  • コンポジションと継承のパターンを分析する
  • 「どのような型があり、それらはどのように関係しているか?」という問いに答える

使用しない場面

  • モジュールレベルのインポート(cartograph:dependency-graph を使用)
  • 実行時のデータ移動(cartograph:data-flow を使用)

ワークフロー

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

コードベースエクスプローラーエージェントを呼び出します。

Agent(cartograph:codebase-explorer)
Prompt: Explore [scope] and return a structural model.
Focus on classes, dataclasses, protocols, type aliases,
inheritance, and composition for a class diagram.
Extract: class names, methods (public only), attributes,
parent classes, and composed types.
ステップ 2:Mermaid 構文を生成する

構造モデルを Mermaid クラス図に変換します。

クラス図のルール:

  • 図の種類には classDiagram を使用する
  • パブリックメソッドと主要な属性のみを表示する
  • Mermaid の関係記法を使用する:
    • 継承には <|-- を使用する
    • コンポジションには *-- を使用する
    • 集約には o-- を使用する
    • 依存関係/使用には ..> を使用する
  • 特殊な型にはステレオタイプを追加する:
    • Python のプロトコル/インターフェースには <<protocol>> を使用する
    • データクラスには <<dataclass>> を使用する
    • 列挙型には <<enum>> を使用する
    • 抽象クラスには <<abstract>> を使用する
  • クラスは最大 12~15 個に制限する
  • 関連するクラスを namespace でグループ化する
  • プライベートメソッドと dunder メソッドは省略する
  • メソッドの戻り値の型を表示する

出力例:

classDiagram
    class ResumeSession {
        +Path config_path
        +dict data
        +load() ResumeSession
        +to_pdf(Path) Path
        +to_html(Path) Path
    }

    class ResumeError {
        <<abstract>>
        +str message
        +str context
    }

    class ValidationError {
        +list~str~ fields
    }

    class RenderError {
        +str template
    }

    ResumeError <|-- ValidationError
    ResumeError <|-- RenderError
    ResumeSession ..> ResumeError
ステップ 3:MCP でレンダリングする

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

mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram
  prompt: "Class diagram of [scope]"
  mermaidCode: [generated syntax]
  diagramType: "classDiagram"
  clientName: "claude-code"

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

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

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

  • クラスの総数と関係の数
  • 特定した主要な継承階層
  • 確認されたコンポジションのパターン

完了条件

  • Mermaid の classDiagram 構文が生成され、パブリックメソッドまたは属性を含むクラス定義が少なくとも 1 つある
  • mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram が diagramType: "classDiagram" で呼び出され、エラーなしで終了する
  • 分析メモに、クラスの総数、特定した継承階層、コンポジションのパターンが含まれる
  • プライベートメソッドと dunder メソッド(__init__、__repr__ など)が生成された図に含まれていない
  • 図に含まれるクラスは最大 15 個であり、対象範囲内にそれ以上のクラスがある場合は集約が適用され、その旨が記載されている

コメント