mcpField
A
alterlab-mermaid

alterlab-mermaid

github.com/alterlab-ieuドキュメント7867 回インストール5 週間前に更新
リポジトリ

alterlab-mermaid について

科学文書をMarkdownで作成し、Mermaid図を編集可能なテキストとして埋め込むスキルです。図の種類や文書構成、アクセシビリティに関する規約も案内します。

主な機能

  1. 01科学文書をMarkdownで作成
  2. 02Mermaid図をテキストで埋め込み
  3. 0323種類の図から選択
  4. 04文書と図の規約を適用
  5. 05一般的な文書テンプレートを利用
  6. 06バージョン管理で図を編集可能に保持

活用シーン

  1. 01研究ワークフローやデータパイプラインを記録
  2. 02プロジェクト文書に構成図を追加
  3. 03バージョン管理する意思決定記録を作成
  4. 04Markdown内で関係性を表現

インストール

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

$npx skills add https://github.com/alterlab-ieu/alterlab-academic-skills --skill alterlab-mermaid

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/examples/
example-research-report.md
evals/
evals.json
references/
diagrams_architecture.md
diagrams_block.md
diagrams_c4.md
diagrams_class.md
diagrams_complex_examples.md
diagrams_er.md
diagrams_flowchart.md
diagrams_gantt.md
diagrams_git_graph.md
diagrams_kanban.md
diagrams_mindmap.md
diagrams_packet.md
diagrams_pie.md
diagrams_quadrant.md
diagrams_radar.md
diagrams_requirement.md
diagrams_sankey.md
diagrams_sequence.md
diagrams_state.md
diagrams_timeline.md
diagrams_treemap.md
diagrams_user_journey.md
diagrams_xy_chart.md
diagrams_zenuml.md
markdown_style_guide.md
mermaid_style_guide.md
templates/
decision_record.md
how_to_guide.md

詳細

Markdown と Mermaid による執筆

概要

このスキルは、埋め込み Mermaid 図を標準かつ正式な形式として使用し、Markdown で科学ドキュメントを作成する方法を教え、その標準を徹底します。

基本的な考え方は、.md ファイル内の Mermaid 図で表現した関係は、どんな画像よりも価値があるということです。テキストなので、git で差分を明確に確認できます。ビルド手順は不要です。GitHub、GitLab、Notion、VS Code、その他あらゆる Markdown ビューアーでネイティブに表示できます。同じ関係を文章で説明するよりもトークン数が少なくて済みます。また、いつでも洗練された画像に変換できますが、テキスト版が常に信頼できる唯一の情報源であり続けます。

「レポートやファイルを、Mermaid も含めて通常のテキストとして .md 形式にするほど、Mermaid はシンプルな『スクリプト言語』でもあるため、後続のレンダリング、特に AI 生成画像の作成に役立ちます(関係を長文で説明するより、Mermaid を使うほうがトークン数を節約できます)。さらに、Mermaid は Markdown とともにレンダリングできるため、人間にも AI にも、ほとんどどこでも簡単に利用できます。」

— Clayton Young (@borealBytes)、2026-02-19

このスキルを使用する場面

次の場合にこのスキルを使用します。

  • Markdown ドキュメント(README、使い方ガイド、意思決定記録、プロジェクトドキュメント、進捗レポート、分析レポート)を作成する場合
  • 構造図や関係図(ワークフロー、データパイプライン、アーキテクチャ、タイムライン、スキーマ)を作成する場合
  • バージョン管理する出力を作成する場合 — git に追加するものは Markdown にします
  • ドキュメント内に「図を追加」したり「関係を可視化」したりするよう依頼された場合 — まず Mermaid を使用します

構造図や関係図の作成に Python matplotlib、seaborn、AI による画像生成を最初から使用しないでください。これらはフェーズ 2 とフェーズ 3 で使用します。Mermaid では必要な内容を表現できない場合(実データを使った散布図、フォトリアリスティックな画像など)に限り使用してください。テキスト図なら差分を確認でき、編集も可能なためです。

該当しないケース
シナリオ代わりに使用するもの
原稿の文章(序論、方法、考察)を執筆または改訂するalterlab-scientific-writing / alterlab-paper-writer
模式図やアーキテクチャの、AI でレンダリングした洗練された出版用図版(PNG)alterlab-scientific-schematics
実際の数値データのプロット(散布図、分布図、ヒートマップ)alterlab-matplotlib / alterlab-seaborn
PDF、Office ファイル、Web ページを Markdown に変換するalterlab-markitdown

🎨 ソース形式に関する考え方

テキストベースの図が優れている理由
重要な点Markdown 内の MermaidPython / AI 画像
git の差分を読み取れる✅❌ バイナリデータ
再生成せずに編集できる✅❌
文章と比べてトークン効率がよい✅ 少ない❌ 多い
ビルド手順なしで表示できる✅❌ ホスティングが必要
ビジョン機能なしで AI が解析できる✅❌
GitHub / GitLab / Notion で動作する✅⚠️ ホスティングされている場合
アクセシビリティ(スクリーンリーダー)✅ accTitle/accDescr⚠️ 代替テキストが必要
後から画像に変換できる✅ いつでも— すでに画像
3 フェーズのワークフロー
flowchart LR
    accTitle: Three-Phase Documentation Workflow
    accDescr: Phase 1 Mermaid in markdown is always required and is the source of truth. Phases 2 and 3 are optional downstream conversions for polished output.

    p1["📄 Phase 1<br/>Mermaid in Markdown<br/>(ALWAYS — source of truth)"]
    p2["🐍 Phase 2<br/>Python Generated<br/>(optional — data charts)"]
    p3["🎨 Phase 3<br/>AI Generated Visuals<br/>(optional — polish)"]
    out["📊 Final Deliverable"]

    p1 --> out
    p1 -.->|"when needed"| p2
    p1 -.->|"when needed"| p3
    p2 --> out
    p3 --> out

    classDef required fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e3a5f
    classDef optional fill:#fef9c3,stroke:#ca8a04,stroke-width:2px,color:#713f12
    classDef output fill:#dcfce7,stroke:#16a34a,stroke-width:2px,color:#14532d

    class p1 required
    class p2,p3 optional
    class out output

フェーズ 1 は必須です。 フェーズ 2 または 3 に進む場合も、Mermaid のソースは必ずコミットしてください。

Mermaidで表現できること

このスキルには、23種類のMermaid図と、複数の図を組み合わせるためのガイドがあります。科学的な関係のほとんどは、次のいずれかで表現できます。

用途図の種類ファイル
実験ワークフロー/意思決定ロジックフローチャートreferences/diagrams_flowchart.md
サービス間のやり取り/API呼び出し/メッセージングシーケンス図references/diagrams_sequence.md
データモデル/スキーマER図references/diagrams_er.md
状態マシン/ライフサイクル状態図references/diagrams_state.md
プロジェクトのタイムライン/ロードマップガントチャートreferences/diagrams_gantt.md
比率/構成円グラフreferences/diagrams_pie.md
システムアーキテクチャ(ズームレベル)C4references/diagrams_c4.md
概念の階層/ブレインストーミングマインドマップreferences/diagrams_mindmap.md
時系列イベント/歴史タイムラインreferences/diagrams_timeline.md
クラス階層/型の関係クラス図references/diagrams_class.md
ユーザージャーニー/満足度マップユーザージャーニーreferences/diagrams_user_journey.md
2軸比較/優先順位付けクアドラント図references/diagrams_quadrant.md
要件のトレーサビリティ要件図references/diagrams_requirement.md
フローの規模/リソースの分布サンキー図references/diagrams_sankey.md
数値の傾向/棒グラフ+折れ線グラフXYチャートreferences/diagrams_xy_chart.md
コンポーネントのレイアウト/空間配置ブロック図references/diagrams_block.md
作業項目のステータス/タスク列カンバンreferences/diagrams_kanban.md
クラウドインフラ/サービスのトポロジーアーキテクチャ図references/diagrams_architecture.md
多次元比較/スキルレーダーチャートレーダーチャートreferences/diagrams_radar.md
階層的な比率/予算ツリーマップreferences/diagrams_treemap.md
バイナリプロトコル/データ形式パケット図references/diagrams_packet.md
Gitのブランチ/マージ戦略Gitグラフreferences/diagrams_git_graph.md
コード風シーケンス(プログラミング構文)ZenUMLreferences/diagrams_zenuml.md
複数の図を組み合わせるパターン複雑な例references/diagrams_complex_examples.md

💡 簡単な種類ではなく、適切な種類を選びましょう。 何でもフローチャートにするのは避けてください。 時系列イベントにはフローチャートよりタイムラインが適しています。サービス間のやり取りにはフローチャートより シーケンス図が適しています。表を確認して、用途に合ったものを選びましょう。

レンダラーのバージョンは重要です。 GitHub、GitLab、Notion、VS Codeには、それぞれ独自のMermaidリリースがバンドルされています。Mermaid 12.0(2026年9月)では、フローチャート、クラス図、ER図、状態図、要件図がデフォルトでELKレイアウトに切り替わり、これらの図とシーケンス図のデフォルトテーマおよび外観がredux-color/neoになりました。そのため、同じソースでも、12.xのレンダラーでは11.xのものとはレイアウトや見た目が異なる場合があります。特定のレンダラー向けに間隔を細かく調整するのは避けてください。xychart、block、sankey、packetは、Mermaid 11.9~11.10で-betaの接尾辞がなくなりました。現在のMermaidではどちらの表記も解析できます。また、このスキルで使われている-beta形式も、古いレンダラーで動作します。新しい種類(例:venn-beta、ishikawa-beta、wardley-beta、swimlane、ユースケース、agentflow-beta)については、ここにガイドがありません。使用する前に、対象のレンダラーが対応していることを確認してください。


🔧 基本的なワークフロー

ステップ 1:ドキュメントの種類を特定する

一から書き始める前に、テンプレートがあるか確認します。

ドキュメントの種類テンプレート
プルリクエストの記録templates/pull_request.md
Issue/バグ/機能リクエストtemplates/issue.md
スプリント/プロジェクトボードtemplates/kanban.md
アーキテクチャ決定記録(ADR)templates/decision_record.md
プレゼンテーション/ブリーフィングtemplates/presentation.md
研究論文/分析templates/research_paper.md
プロジェクトドキュメントtemplates/project_documentation.md
ハウツー/チュートリアルtemplates/how_to_guide.md
ステータスレポートtemplates/status_report.md
ステップ 2:スタイルガイドを読む

.md ファイルを書く前に、references/markdown_style_guide.md を読みます。

覚えておくべき主なルール:

  • ドキュメントごとに H1 は 1 つ — タイトルです。それ以上は使用しません。
  • 絵文字を使うのは H2 見出しのみ — H2 ごとに絵文字を 1 つ使い、H3/H4 では使用しません。
  • すべてに出典を付ける — 外部情報を含む主張には、完全な URL を記載した脚注 [^N] を付けます。
  • 太字は控えめに — 段落ごとに太字の語句は最大 2〜3 個とし、文全体を太字にしません。
  • </details> の後には必ず水平線を入れる — 必須です。
  • 比較、設定、構造化データには、文章より表を使う
  • 長い文章より図を使う — フロー、構造、関係を説明する場合は、Mermaid を追加します。
ステップ 3:図の種類を選び、そのガイドを読む

Mermaid 図を作成する前に、references/mermaid_style_guide.md を読みます。

次に、該当する種類のファイル(例:references/diagrams_flowchart.md)を開き、サンプル、ヒント、コピーして使えるテンプレートを確認します。

すべての図で守る必須ルール:

accTitle: Short Name 3-8 Words
accDescr: One or two sentences explaining what this diagram shows.
  • %%{init} ディレクティブは使わない — GitHub のダークモードで問題が発生します。
  • インラインの style は使わない — classDef のみを使用します。
  • ノードごとの絵文字は最大 1 つ — ラベルの先頭に置きます。
  • ノード ID は snake_case にする — ラベルと一致させます。
ステップ 4:ドキュメントを書く

テンプレートから始めます。Markdown スタイルガイドに従います。図は、関連する文章の近くに配置し、独立した「図」セクションにはまとめません。

ステップ 5:テキストとしてコミットする

Mermaid を埋め込んだ .md ファイルをコミットします。PNG や AI 画像も生成した場合、それらは補助資料であり、Markdown がソースです。


⚠️ よくある落とし穴

レーダーチャートの構文(radar-beta)

誤り:

radar
title Example
x-axis ["A", "B", "C"]
"Series" : [1, 2, 3]

正しい例:

radar-beta
title Example
axis a["A"], b["B"], c["C"]
curve series["Series"]{1, 2, 3}
max 3
  • radar ではなく radar-beta を使用する(単独のキーワードは存在しません)。
  • x-axis ではなく、axis を使って次元を定義する。
  • コロン付きの引用ラベルではなく、curve を使ってデータ系列を定義する。
  • accTitle/accDescr は使用できます — radar-beta の次の行に記述します(Mermaid 11.12、11.17、12.0 で確認済み)。
XY チャートとレーダーチャートの混同
図キーワード軸の構文データの構文
XY チャート(棒/折れ線)xychart-betax-axis ["Label1", "Label2"]bar [10, 20] または line [10, 20]
レーダーチャート(スパイダー/ウェブ)radar-betaaxis id["Label"]curve id["Label"]{10, 20}
対応している種類で accTitle/accDescr を忘れる

ほとんどの図の種類では、accTitle/accDescr は SVG のアクセシブルなタイトルと説明としてレンダリングされます。Mindmap、Sankey、Block の各図はこれらを記述すると解析に失敗します。Treemap は古いレンダラーでは失敗します(Mermaid 11.12 では確認済み。11.17 と 12.0 では受け入れられます)。Timeline と Kanban は受け入れますが、出力から削除されます(Mermaid 11.12、11.17、12.0 で確認済み)。この 6 種類では、代わりにコードブロックの直前に説明的な斜体の段落を配置します。

手法の系統ごとに分類した、文献の全体像を示すマインドマップです。マインドマップは accTitle/accDescr をサポートしていません。

mindmap
...

🔗 他のスキルとの連携

alterlab-scientific-schematics との連携

alterlab-scientific-schematics は、AI を活用して出版物向けの高品質な画像(PNG)を生成します。Mermaid 図を概略図のブリーフとして使用します。

Workflow:
1. Create the concept as Mermaid in .md (this skill — Phase 1)
2. Describe the same concept to alterlab-scientific-schematics for a polished PNG (Phase 3)
3. Commit both — the .md as source, the PNG as a supplementary figure
alterlab-scientific-writing との併用

alterlab-scientific-writing が原稿を作成する場合、すべての図と構成図には、このスキルの基準を適用してください。文章と引用はライティングスキルが担当し、視覚的な構成はこのスキルが担当します。

Workflow:
1. Use alterlab-scientific-writing to draft the manuscript
2. For every figure that shows a workflow, architecture, or relationship:
   - Replace placeholder with a Mermaid diagram following this skill's guide
3. Use alterlab-scientific-schematics only for figures that truly need photorealistic/complex rendering
alterlab-literature-review との併用

文献レビューでは、関連性に関するデータを多く含む要約を作成します。このスキルを使って、次の作業を行ってください。

  • 文献の全体像を示す概念マップ(マインドマップ)を作成する
  • 出版時期を示すタイムライン(タイムラインまたはガントチャート)を作成する
  • 方法論を比較する(四象限図またはレーダーチャート)
  • 論文で説明されているデータフローを図示する(シーケンス図またはフローチャート)
出力ドキュメントを作成するすべてのスキルとの併用

いずれかのスキルで作成したドキュメントを最終化する前に、このスキルのチェックリストを適用してください。

  • ドキュメントでテンプレートを使用していますか?使用している場合、適切なテンプレートを使い始めましたか?
  • すべての図が accTitle + accDescr を含む Mermaid で作成されていますか(これらを使用できない6種類については、斜体の説明が付いていますか)?
  • %%{init} やインラインの style はなく、classDef のみを使用していますか?
  • 外部の主張にはすべて [^N] で引用を付けていますか?
  • H1 は1つだけで、絵文字は H2 のみに使われていますか?
  • </details> の後に必ず水平線がありますか?

📚 リファレンスインデックス

スタイルガイド
ガイドパス行数内容
Markdown スタイルガイドreferences/markdown_style_guide.md約733見出し、書式設定、引用、表、Mermaid の統合、テンプレート、品質チェックリスト
Mermaid スタイルガイドreferences/mermaid_style_guide.md約458アクセシビリティ、絵文字セット、色クラス、テーマの中立性、種類の選択、複雑さの段階
図の種類別ガイド(24種類)

各ファイルには、本番品質の例、その種類に特化したヒント、コピーして使えるテンプレートが含まれています。

references/diagrams_ — アーキテクチャ、ブロック、c4、クラス、複雑な例、er、フローチャート、ガント、git グラフ、カンバン、マインドマップ、パケット、円グラフ、四象限図、レーダーチャート、要件、サンキー、シーケンス、状態、タイムライン、ツリーマップ、ユーザージャーニー、xy チャート、zenuml

ドキュメントテンプレート(9種類)

templates/ — decision_record、how_to_guide、issue、kanban、presentation、project_documentation、pull_request、research_paper、status_report

例

assets/examples/example-research-report.md — 適切な見出し階層、複数の図の種類(フローチャート、シーケンス図、ガントチャート)、表、脚注による引用、折りたたみ可能なセクションを示し、すべてのスタイルガイドの規則を適用した、完全な科学研究レポートです。


📝 帰属表示

このスキルに含まれるすべてのスタイルガイド、図の種類別ガイド、ドキュメントテンプレートは、Apache-2.0 ライセンスに基づき SuperiorByteWorks-LLC/agent-project リポジトリから移植されています。

このスキルのライセンスは Apache-2.0(フロントマターの license)です。これは、その大部分のコンテンツが上記の Apache-2.0 ライセンスのソースから移植されているためです。一方、AlterLab Academic Skills リポジトリ全体のライセンスは MIT です(THIRD_PARTY_NOTICES.md を参照)。移植したファイルの帰属表示ヘッダーは残し、このスキルを単体で再配布する場合は Apache-2.0 ライセンスの本文を含めてください。ここで行った変更は、リポジトリの CHANGELOG に記録されています。


コメント