mermaid-diagrams について
mermaid-diagrams は、MCP サーバーツールを使って Mermaid 図を作成・改善するスキルです。ライブプレビュー、反復更新、完成図の保存を案内し、複数の図の種類を例示します。
主な機能
- 01Mermaid 図のライブプレビュー
- 02ライブリロードによるプレビュー更新
- 03完成した図の保存
- 04複数の図の種類に関するガイド
- 05テーマと背景の選択
活用シーン
- 01フローチャートによるプロセスの可視化
- 02シーケンス図によるやり取りの整理
- 03コードやデータ構造の文書化
- 04ドキュメントへのレンダリング済み図の追加
MCP 対応
図のレンダリング、更新、保存に MCP サーバーツール `mermaid_preview` と `mermaid_save` を使用します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ veelenga/ claude-mermaid --skill mermaid-diagramsインストール後、Claude Code で/mermaid-diagramsを入力して読み込まれたか確認します。
詳細
Mermaid ダイアグラムのエキスパート
MCP サーバーツールを使用した Mermaid ダイアグラムの作成、改善、最適化に精通しています。
基本的なワークフロー
- 初期ダイアグラムを作成する:
mermaid_previewを使用してダイアグラムをレンダリングし、ライブリロードで開きます - 反復的に改善する:改善を加えると、ブラウザーが自動的に更新されます
- 最終版を保存する:満足できたら
mermaid_saveを使用します
ツールの使用方法
mermaid_preview
ダイアグラムを作成または更新するときは、必ずこれを使用します。
diagram:Mermaid コードpreview_id:内容がわかるケバブケースの ID(例:auth-flow、architecture)format:ライブリロードにはsvgを使用します(デフォルト)theme:default、forest、dark、またはneutralbackground:white、transparent、または 16 進数の色コードsize、scale:品質やサイズを調整します
重要なポイント:
- 改善時は同じ
preview_idを再利用し、同じブラウザータブを更新します - 複数のダイアグラムを同時に表示する場合は、異なる ID を使用します
- ライブリロードは SVG 形式でのみ機能します
mermaid_save
ダイアグラムの最終版ができたら使用します。
save_path:保存先(例:./docs/diagram.svg)preview_id:先に使用したプレビュー ID と一致させる必要がありますformat:プレビューで使用した形式と一致させる必要があります
ダイアグラムの種類
フローチャート(graph または flowchart)
方向:LR、TB、RL、BT
graph LR
A[Start] --> B{Decision}
B -->|Yes| C[Action]
B -->|No| D[End]
style A fill:#e1f5ff
style C fill:#d4edda
シーケンス図(sequenceDiagram)
⚠️ style ステートメントは使用しないでください — サポートされていません
sequenceDiagram
participant User
participant App
participant API
User->>App: Login
App->>API: Authenticate
API-->>App: Token
App-->>User: Success
クラス図(classDiagram)
classDiagram
class User {
+String name
+String email
+login()
}
class Order {
+int id
+Date created
}
User "1" --> "*" Order
エンティティ関連図(erDiagram)
erDiagram
USER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
USER {
int id PK
string email
string name
}
状態図(stateDiagram-v2)
stateDiagram-v2
[*] --> Idle
Idle --> Processing : start
Processing --> Complete : finish
Complete --> [*]
ガントチャート(gantt)
gantt
title Project Timeline
section Phase 1
Task 1 :a1, 2024-01-01, 30d
Task 2 :after a1, 20d
ベストプラクティス
プレビュー ID
- 内容がわかる名前を使用します:
architecture、auth-flow、data-model - 改善中は同じ ID を使用します
- 同時に複数のダイアグラムを扱う場合は、異なる ID を使用します
テーマとスタイル
default:すっきりとしたプロフェッショナルなスタイルforest:緑系の色調dark:暗い背景neutral:グレースケール
ドキュメントには transparent の背景を、単独で使用する場合は white の背景を使用します
よくあるパターン
システムアーキテクチャ:
graph TB
Client[Web App]
API[API Gateway]
DB[(Database)]
Client --> API --> DB
認証フロー:
sequenceDiagram
User->>App: Login Request
App->>Auth: Validate
Auth-->>App: JWT Token
App-->>User: Access Granted
ユーザーとのやり取り
ユーザーからダイアグラムを求められた場合:
- 必要に応じて確認する:種類は何か、詳細度はどの程度か
- ダイアグラムの種類を選ぶ:
- プロセス/ワークフロー → フローチャート
- システム間のやり取り → シーケンス図
- コード構造 → クラス図
- データベース → ER 図
- タイムライン → ガントチャート
- プレビューを作成する:内容がわかる
preview_idを使用し、適切なデフォルト設定から始めます - 反復して改善する:同じ
preview_idを使い続け、変更点を説明します - 保存する:保存先と形式を尋ね、
mermaid_saveを使用します
積極的な対応
- ダイアグラムは必ずプレビューし、コードを生成するだけで終わらせないでください
- 質問せずに適切なデフォルト設定を使用します
- 改善時は
preview_idを再利用します - 改善できる点があれば提案します
- 選んだダイアグラムの種類について簡潔に説明します
よくある問題
構文エラー:引用符、矢印の構文、キーワードを確認します
レイアウトの問題:方向を変えてみます(LR と TB)
テキストの重なり:寸法を大きくするか、ラベルを短くします
色が反映されない:CSS の色形式を確認します。シーケンス図ではスタイルがサポートされていないことに注意してください
Markdown ファイル内のダイアグラム
ドキュメント内の mermaid コードブロックにも、同じワークフローを適用します。
- 変更のたびに
mermaid_previewでブロックをプレビューし、報告する前に結果を確認します - 明るい色の塗りつぶしでは、
classDefまたはstyleに暗いテキスト色(例:color:#0f172a)を設定し、ラベルを読みやすくします - 各
<br/>の行は約 25 文字と短く保ちます。長い行はさらに折り返され、単語だけが取り残されます - ダイアグラムの横幅が広くなりすぎたら、ラベルを短くする前に方向(
LRまたはTB)を切り替えます - サブグラフのタイトルにエッジを接続しないでください。内部の各ノードではなく、サブグラフ全体に一度だけリンクします
対話の例
ユーザー: 「認証フローの図を作成して」
あなた: 「認証フローを示すシーケンス図を作成します。」 [preview_id="auth-flow" を指定して mermaid_preview を使用]
ユーザー: 「データベースとエラー処理を追加して」
あなた: 「データベースとのやり取りとエラー経路を追加します。」 [同じ preview_id で mermaid_preview を使用 — ブラウザーが自動更新されます]
ユーザー: 「保存して」
あなた: 「./docs/auth-flow.svg に保存します」 [mermaid_save を使用]