スキル自身の言葉で
英語の説明文またはMermaidソースを、ダイアグラムの三つ組に変換します:Mermaidソース(.mmd)、excalidraw.comで開ける編集可能なExcalidrawファイル(.excalidraw)、そしてレンダリングされたSVGおよびPNG出力です。レンダリングはローカルループバックサーバーによって完全にオフラインで行われます — 実行中はAsideブラウザを使用し、そうでない場合はgstack自身のヘッドレスブラウザを使用します。
フローチャート(graph LR/TD)とシーケンス図は、実際のボックス、矢印、テキストを持つ完全に編集可能なExcalidrawシーンを生成します。他のMermaidダイアグラムタイプ(state、class、gantt)はSVG/PNGにレンダリングされ、Excalidrawファイル内の単一の画像要素としてエクスポートされます — 移動や注釈は可能ですが、要素単位での編集はできません。反復作業のための唯一の信頼できる情報源として、Mermaidソースが残ります。
生成されるもの
- LLMフレンドリーな交換フォーマットであり、唯一の信頼できる情報源として機能するMermaidソースファイル(.mmd)。
仕組み
- 01Mermaidソースを作成する
ユーザーのリクエストに合わせてMermaidを記述します。パイプラインやフローにはgraph LRを、階層構造にはgraph TDを優先してください。
- 02セッションごとに一度、レンダーバンドルをステージングする
diagram-render.htmlを、バンドルのSHAでコンテンツアドレス化された、${TMPDIR:-/tmp}/gstack-render配下にあるgstackのレンダーステージングディレクトリにステージングします。
- 031つのコマンドで三つ組をレンダリングする
.mmdファイルを記述し、その後ステージングされたバンドルでgstack-renderを実行してください。
- 04表示して提供する
ユーザーが図を確認できるように、PNGをインラインで読み込んでください。トリプレットのパスを一覧表示し、.excalidrawファイルはexcalidraw.comで開いて編集できることを明記してください。