mcpField
M
mermaid-diagramming

mermaid-diagramming

github.com/nickcrewドキュメント62102 回インストール17 週間前に更新
リポジトリ

mermaid-diagramming について

Mermaid Diagrammingは、技術文書向けのMermaid図を作成するスキルです。図の種類の選択から記述、スタイル設定、レンダリング、エクスポートまでを案内します。

主な機能

  1. 01主要なMermaid図の種類を案内
  2. 02範囲設定から作成・スタイル設定までの手順
  3. 03ノード配置とラベルの規則
  4. 04図のアクセシビリティに関する指針
  5. 05プレビューとエクスポートの推奨事項

活用シーン

  1. 01プロセスや判断分岐の図示
  2. 02API連携やシステム構成の文書化
  3. 03データベーススキーマや状態遷移の表示
  4. 04READMEや設計文書への図の追加

インストール

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

$npx skills add https://github.com/nickcrew/claude-cortex --skill mermaid-diagramming

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

同梱ファイルreferences/diagram-types.md

詳細

Mermaid による図解

技術ドキュメント向けに、明確でプロフェッショナルな Mermaid 図を作成します。基本バリエーションとスタイル付きバリエーションの両方で主要な図の種類を網羅し、レンダリング方法とエクスポートの推奨事項も説明します。

このスキルを使う場面

  • プロセスのドキュメントや意思決定ツリー用のフローチャートを作成する
  • API のやり取りやシステム間の通信を示すシーケンス図を描く
  • データベーススキーマのドキュメント用に ERD を作成する
  • ワークフローの状態を示すステートマシン図を設計する
  • プロジェクトのタイムライン用にガントチャートを作成する
  • C4 図やネットワーク図でシステムアーキテクチャをドキュメント化する
  • README ファイル、ADR、設計ドキュメントに視覚資料を追加する

クイックリファレンス

リソース目的読み込むタイミング
references/diagram-types.mdすべての Mermaid 図の種類に関する構文、パターン、コード例図を選択または作成するとき

ワークフローの概要

Phase 1: Scope     → Identify what to visualize, audience, and diagram type
Phase 2: Draft     → Write base Mermaid code with correct syntax
Phase 3: Style     → Add theming, colors, and accessibility annotations
Phase 4: Deliver   → Provide rendering instructions and suggest iterations

フェーズ 1:範囲の決定

コードを書く前に、以下を明確にします。

  1. 何を伝えるのか? 図はストーリーを伝えるか、質問に答えるものである必要があります。
  2. 対象読者は誰か? 開発者には詳細が必要ですが、ステークホルダーには概要が必要です。
  3. どのようなエンティティと関係があるか? 描画する前にノードとエッジを列挙します。
  4. どの図の種類が適しているか? 以下の選択ガイドを使います。
図の種類の選択
表示する内容使用する図
プロセスの流れ、意思決定、分岐flowchart
システムやアクター間の時間経過に伴うやり取りsequenceDiagram
データモデルと関係erDiagram
オブジェクトの構造と継承classDiagram
状態と遷移stateDiagram-v2
プロジェクトのスケジュールと依存関係gantt
比率や分布pie
階層的なアイデアのマッピングmindmap
時間経過に伴うイベントtimeline
システムアーキテクチャのレイヤーC4 コンテキスト図/コンテナー図
コードのバージョン履歴gitGraph
ユーザー体験のフローjourney

フェーズ 2:下書き

構成のルール
  1. 図ごとに概念を 1 つにする — 複雑なシステムは複数のビューに分割します
  2. ノード数を抑える — 図あたり 15 ノード未満にし、それ以上になる場合は分割します
  3. 意味のあるラベルを付ける — 1 文字ではなく、説明的なテキストを使います
  4. 方向を統一する — 上から下(TB)または左から右(LR)を優先します
  5. 関連するノードをまとめる — subgraph を使って関連要素をグループ化します
コード規約
%% Always start with a comment describing the diagram's purpose
%% Use consistent quoting for labels with special characters
flowchart LR
    A["User Request"] --> B{"Auth Check"}
    B -->|Valid| C["Process Request"]
    B -->|Invalid| D["Return 401"]
  • 特殊文字を含むラベルには二重引用符を使います
  • 自明でない関係を説明するコメント(%%)を追加します
  • 実線には -->、破線には -.->、太線には ==> を優先して使います
  • 説明的なエッジラベルを使います:-->|"理由"| TargetNode

フェーズ 3:スタイルの適用

テーマ設定

%%{init: ...}%% ディレクティブを使って、統一感のあるスタイルを適用します。

%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#4A90D9'}}}%%
flowchart TB
    A["Start"] --> B["End"]
ノードのスタイル設定
flowchart LR
    A["Normal"]
    B["Highlighted"]:::highlight
    classDef highlight fill:#f9f,stroke:#333,stroke-width:2px
アクセシビリティ
  • コントラストの高い配色を使います
  • 意味を伝える際に色だけに頼らず、ラベルや形状を追加します
  • 埋め込む際は代替テキストを含めます:![図の説明](path)
  • 複雑な図にはテキストによる要約を添えます

フェーズ 4:成果物の提示

必ず提示するもの
  1. 基本バージョン — どこでもレンダリングできる、シンプルでスタイルなしの図
  2. スタイル付きバージョン — 色と強調を加えたテーマ適用版
  3. レンダリングに関する注記 — プレビューできる場所(GitHub、Mermaid Live、VS Code 拡張機能)
  4. 提案 — 補完的な図や次の改善案
レンダリングの選択肢
プラットフォームサポート
GitHub markdown.md ファイルでネイティブにレンダリング
GitLab markdownネイティブレンダリング
Mermaid Live Editorインタラクティブな編集には https://mermaid.live
VS Codeプレビューには Mermaid 拡張機能
Docusaurus / MkDocsプラグインによるレンダリング
エクスポート形式
  • SVG:Web やドキュメントに最適(拡大縮小可能で、テキストを検索できます)
  • PNG:Mermaid 非対応のプラットフォーム向けの代替形式
  • PDF:印刷や正式なドキュメント向け

ベストプラクティス

  • シンプルに始める — スタイルを追加する前に、構造を整えます
  • レンダリングをテストする — コミットする前に、対象のプラットフォームで表示を確認します
  • 図をバージョン管理する — 基盤となるシステムが変更されたら、図も更新します
  • ドキュメントと同じ場所に配置する — 図は関連するドキュメントと同じディレクトリに置きます
  • サブグラフを使う — 関連するノードをグループ化して、視覚的な複雑さを軽減します

アンチパターン

  • 1つの図にノードを詰め込みすぎる(15個以上になったら分割します)
  • ラベルを付けずに1文字のノード ID を使う
  • 意味を伝えるために色だけに頼る
  • レンダラーによって表示が崩れる、ピクセル単位の幅をハードコーディングする
  • システムの変更後に図を古いままにしておく

コメント