| name | sketch-diagram |
| argument-hint | [diagram-type] [description] |
| description | 対話を通じてインタラクティブに Mermaid ダイアグラムを作成するスキル。
ユーザーが可視化したい内容を明確にし、ASCII アートでスケルトンを確認してから
合意が得られた時点で正確な Mermaid コードを生成する。
ダイアグラム、フローチャート、シーケンス図、ER 図、クラス図、状態図、
ガントチャート、マインドマップ、その他の可視化を求められた場合に使用する。
トリガー: 「図を描いて」「可視化して」「フローチャートを作って」「シーケンス図」
「ER 図」「クラス図」「状態機械」「ガントチャート」「Mermaid ダイアグラム」
「システムフローを図にして」「プロセスを図解して」「ダイアグラムにして」
|
ダイアグラムのスケッチ
ユーザーとインタラクティブに対話しながら Mermaid ダイアグラムを作成する。一方的に生成しない。
構造を話し合い、ASCII アートで確認してからコードを生成する。
クイックスタート
- 「図を描いて」または
/sketch-diagram [タイプ] [内容] で起動する
- スキルがダイアグラムの種類を識別し、必要なら 1〜2 問の確認質問をする
- ASCII アートでスケルトンを描いて確認を取る(構造を確認し、調整できる)
- スケルトンが合意されたら詳細(ラベル、条件、スタイル)を補完する
- フェンスコードブロック内に最終的な Mermaid コードを生成する(即座にレンダリング可能)
ステップ
ステップ 1: 意図の把握
$ARGUMENTS が提供されている場合は、ダイアグラムの種類と内容を取り出してステップ 2 へ進む。
提供されていない場合は AskUserQuestion でユーザーが求めるものを確認する:
AskUserQuestion({
questions: [{
question: "どのようなダイアグラムを作りますか?",
header: "ダイアグラムの種類",
options: [
{ label: "フローチャート", description: "プロセス・ステップ・分岐の判断" },
{ label: "シーケンス図", description: "時系列の相互作用・API 呼び出し" },
{ label: "状態図", description: "状態遷移・ライフサイクル" },
{ label: "その他", description: "ER 図・クラス図・ガントチャート・マインドマップなど" }
],
multiSelect: false
}]
})
「その他」が選択された場合は、テキストでダイアグラムの種類を尋ねる。それでも内容が不明な場合は、勢いを維持するために一度に 1〜2 問を尋ねる。
ステップ 2: ダイアグラムの種類を提案する
最適な Mermaid 構文を提案する。複数の選択肢がある場合は理由とともに提示する。
| ダイアグラム | 構文 | 最適な用途 |
|---|
| フローチャート | flowchart | プロセスや分岐の判断 |
| シーケンス図 | sequenceDiagram | 時系列の相互作用 |
| クラス図 | classDiagram | オブジェクト構造と継承 |
| ER 図 | erDiagram | データベース設計 |
| 状態図 | stateDiagram-v2 | 状態遷移 |
| ガントチャート | gantt | スケジュールやタスク計画 |
| マインドマップ | mindmap | アイデアの整理 |
| 円グラフ | pie | 割合や内訳 |
| Git グラフ | gitGraph | ブランチ戦略 |
| タイムライン | timeline | 歴史的な出来事やマイルストーン |
ステップ 3: ASCII アートで構造を確認する
スケッチスタイルの例は references/ascii-examples.md を参照し、
スケルトンを描いてユーザーの確認を取る。実際の(またはプレースホルダーの)ノード名と矢印の方向を使用する。
完全な情報がなくても早めに提示する。フィードバックのたびに更新して再確認する。
ステップ 4: 詳細の補完(必要な場合)
スケルトンが合意されたら、必要に応じて詳細を確認する: ラベル、条件、スタイル、サブグラフなど。
明らかな詳細は推定して進める。過剰に質問しない。
ステップ 5: Mermaid コードを生成する
```mermaid
(コード)
```
生成後、主要なノードや要素を簡単に説明し、調整の要望を受け付ける。
提示前に、そのダイアグラムタイプの構文キーワード、矢印表記、ノード構文をセルフレビューする。
対話スタイル
- 具体的な提案を先に示す: 「これはどうでしょう?」と具体案を出す
- ユーザーが急いでいる場合は必要な情報をまとめて確認して即座に生成する
- コード生成後も柔軟に対応する。修正依頼を自由に受け付ける
注意事項
- 言語: スキルを呼び出したときにユーザーが使用した言語で常に応答する