mermaid-diagrams について
mermaid-diagramsは、Mermaidのテキスト定義から図を作成するスキルです。Markdownやドキュメントサイトで、アーキテクチャ、データモデル、フロー、タイムラインを記録する開発者向けです。
主な機能
- 01フローチャートとシーケンス図
- 02ER図とクラス図
- 03状態図とマインドマップ
- 04ガントチャートとタイムライン
- 05アーキテクチャ図、C4図など
活用シーン
- 01システムアーキテクチャの文書化
- 02データモデルと関係の可視化
- 03リクエストフローの図示
- 04ドキュメントへのプロジェクトタイムライン追加
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ oakoss/ agent-skills --skill mermaid-diagramsインストール後、Claude Code で/mermaid-diagramsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/class-diagrams.mdentity-relationship.mdextended-diagrams.mdflowcharts.mdother-diagrams.mdsequence-diagrams.md詳細
Mermaid 図
概要
Mermaid は、Markdown に着想を得たテキスト定義を SVG 図にレンダリングする、JavaScript ベースの作図ツールです。フローチャート、シーケンス図、ER 図、クラス図、状態図、ガントチャート、円グラフ、マインドマップ、Git グラフを Markdown ファイル内で直接作成できます。
使用する場面: システムアーキテクチャのドキュメント化、データモデルの可視化、リクエストフローの図解、プロジェクトのタイムライン作成、GitHub/GitLab の README やドキュメントサイトへの図の埋め込み。
使用しない場面: ピクセル単位で正確なデザインモックアップ、インタラクティブなダッシュボード、カスタムアートワークや、階層・関係構造を超える複雑な空間レイアウトが必要な図。
クイックリファレンス
| 図の種類 | 宣言 | 主なポイント |
|---|---|---|
| フローチャート | flowchart TD | 方向:TB、TD、BT、RL、LR。サブグラフをサポート |
| シーケンス図 | sequenceDiagram | 参加者、メッセージ、ループ、alt/opt/par ブロック |
| ER 図 | erDiagram | カラスの足記法、PK/FK/UK 属性 |
| クラス図 | classDiagram | UML の関係、可視性修飾子、注釈 |
| 状態図 | stateDiagram-v2 | 遷移、複合状態、フォーク/ジョイン、選択 |
| ガントチャート | gantt | セクション、日付/期間付きタスク、マイルストーン |
| 円グラフ | pie | 数値を含むラベル、任意のタイトル |
| マインドマップ | mindmap | インデントに基づく階層、複数のノード形状 |
| Git グラフ | gitGraph | コミット、ブランチ、マージ、チェリーピック、タグ |
| アーキテクチャ図 | architecture-beta | グループ内のサービス、方向付きエッジ(T/B/L/R) |
| ブロック図 | block-beta | 列レイアウト、ブロック矢印、ネストされたブロック |
| タイムライン | timeline | イベントを含む期間、グループ化用のセクション |
| サンキーダイアグラム | sankey-beta | ノード間のフロー量、CSV 形式のデータ |
| XY チャート | xychart-beta | x/y 軸を使った棒グラフと折れ線グラフ |
| 象限図 | quadrantChart | ラベル付きの軸とデータポイントを備えた四象限プロット |
| カンバン | kanban | タスクカード、担当者、優先度を含む列 |
| パケット図 | packet-beta | ビット範囲フィールドを含むネットワークパケット構造 |
| 要件図 | requirementDiagram | 要件、要素、検証リンク |
| C4 図 | C4Context | C4 モデル:コンテキスト、コンテナー、コンポーネント、デプロイメント |
よくある間違い
| 間違い | 正しいパターン |
|---|---|
flowchart の代わりに graph を使う | サブグラフのエッジや新しい機能には flowchart を使います |
| シーケンスで矢印の後にスペースがない | Alice->>Bob: msg ではなく Alice->>Bob:msg とします |
| ER 図でカーディナリティの順序が間違っている | 左のカーディナリティ、線、右のカーディナリティの順にします |
サブグラフ/ループ/alt の後に end を忘れる | すべてのブロックキーワードに対応する end が必要です |
| 予約語をノード ID として使う | 予約語を引用符で囲むか、エイリアスを使います |
| 言語タグのないコードブロックを使う | 言語指定子として常に ```mermaid を使います |
| v1 と v2 の状態図構文を混在させる | 現行機能では一貫して stateDiagram-v2 を使います |
| 特殊文字を含むラベルを引用符で囲まない | 特殊文字を含むラベルは二重引用符で囲みます |
ガントチャートで dateFormat がない | タスク定義の前に必ず dateFormat を宣言します |
| マインドマップでスペースの代わりにタブを使う | マインドマップのインデントにはタブではなくスペースが必要です |
委任
- 図の検出と調査:コードベース内の既存の図を見つけるには
Exploreエージェントを使います - 図のレビュー:図の正確性をコードと照合して確認するには
Taskエージェントを使います - アーキテクチャのドキュメント作成:ドキュメントの品質を確認するには
code-reviewerエージェントを使います
参考資料
コメント
Markdown 対応