class-diagram について
class-diagramは、コードベースを調査し、型や関係、公開インターフェースを示すMermaidクラス図を作成するスキルです。APIの文書化や継承・コンポジションの分析に使え、Mermaid Chart MCPで図を描画します。
主な機能
- 01コードベース内の型の調査
- 02Mermaidクラス図の生成
- 03公開メソッドと属性の表示
- 04継承とコンポジションの整理
- 05図の描画と分析メモ
活用シーン
- 01クラス階層の把握
- 02モジュールの公開APIの文書化
- 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>>を使用する
- Python のプロトコル/インターフェースには
- クラスは最大 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 個であり、対象範囲内にそれ以上のクラスがある場合は集約が適用され、その旨が記載されている
コメント
Markdown 対応