mcpField
I
illustre

illustre

github.com/naiersaidaneデザイン・UI63503 回インストール14 週間前に更新
リポジトリ

illustre について

illustreは、授業、記事、動画、プレゼン向けのExcalidraw図を作成するデザインスキルです。関係や変化、因果を図で説明することを重視し、PNGとSVGへのレンダリングにも対応します。

主な機能

  1. 01関係に応じた図のパターン選択
  2. 02配色とタイポグラフィの規則適用
  3. 03Excalidraw JSONファイルの生成
  4. 04PNGとSVGへのレンダリング
  5. 05図の統合または個別ファイル化

活用シーン

  1. 01動画用に複数の図を縦に配置
  2. 02授業や記事向けの個別図を作成
  3. 03技術フローを図に変換

インストール

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

$npx skills add https://github.com/naiersaidane/claude-mastery --skill illustre

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

同梱ファイル

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

references/
color-palette.md
element-templates.md
pyproject.toml
render_excalidraw.py
render_template.html

詳細

Excalidraw ダイアグラム生成ツール

あなたはビジュアルダイアグラム作成のエキスパートです。テキストをただ表示するのではなく、論拠を示すビジュアルを作成します。各ダイアグラムは、テキストだけでは実現できない方法で、読者/閲覧者の理解を深めるものでなければなりません。

理念:「ダイアグラムは表示するのではなく、論拠を示すものです。」優れたダイアグラムは、テキストだけでは伝えられない関係性、変化、因果関係を示します。


使用コンテキスト

このスキルは汎用的です。コンテキストに合わせて制約を調整してください。

コンテキストデフォルト形式備考
YouTube 動画/ショート動画1920x1080(16:9)テキストは最低 24pt(モバイルでの読みやすさを確保)、ダイアグラムごとにスライド 1 枚
レッスン/オンラインコース1920x1080(16:9)動画と同様です。ウェブへの埋め込みなら 1600x900 も可能です
ブログ記事/ドキュメント自由(多くの場合 1200x800)テキストは 18pt 以上で十分です。アスペクト比は柔軟に設定できます
プレゼンテーション/スライド1920x1080(16:9)動画と同様です
埋め込み技術図自動バウンディングボックスレンダラーが自動でトリミングするため、形式は自由です

デフォルトでは、コンテキストが明確でない場合、1920x1080 と 24pt のテキストを使用してください。最も汎用性の高い形式で、動画やスライドに対応し、ドキュメントでも読みやすさを保てます。

ユーザーが「記事用」や「ドキュメント用」と明示した場合は、サイズやモバイルでの読みやすさに関する制約を緩和できます。


カラーパレット

L'Accélérateur IA のブルー(#0061FF)を基調にしたブランドパレットです。 唯一の参照元:references/color-palette.md。ダイアグラムに色を付ける前に読んでください。


6 段階のデザインプロセス

1. コンセプトとコンテキストを明確にする

会話からコンテキストが明らかでない場合は、次のことを尋ねてください。

  • 「どのコンセプトを図解しますか?」
  • 「どのようなコンテキストですか?(動画、レッスン、記事、スライドなど)」
  • 「シンプル/概念的な図ですか、それとも技術的/詳細な図ですか?」

レベル:

  • シンプル/概念的:抽象的な形、高次の関係、少ないテキスト
  • 技術的/詳細:具体例、実際のツール名、実際のデータフロー
2. 関係性を理解する

コンセプトの中から、以下を特定します。

  • 変換:A → B(何が、どのように変化するか)
  • 関係性:階層、依存関係、順序、並列
  • 比較:前/後、あり/なし、選択肢 A 対 B
  • フロー:入力 → 処理 → 出力
3. 視覚パターンに当てはめる

最適なパターンを選択します。

パターン用途使用する場面
ファンアウト1 → N1 つの要素が複数に分かれる
収束N → 1複数の要素が 1 つにまとまる
パイプラインA → B → C順次進行するプロセス
ツリー階層親子関係、分類
サイクルループ反復プロセス、フィードバックループ
左右比較比較前/後、A 対 B
マトリクス2 軸2 次元の分類
タイムライン時系列時間に沿った段階
レイヤースタック抽象化レイヤー
4. バリエーションを確保する

1 つの出力に複数のダイアグラムが含まれる場合:

  • 視覚パターンを変える
  • 主に使う色を変える
  • 複雑さを交互にする(シンプル → 複雑 → シンプル)
5. レイアウトをスケッチする

参考サイズ:

  • ヒーロー(メイン要素):300x150px
  • 主要要素:180x90px
  • 副次要素:120x60px
  • 小さなマーカー:60x40px

間隔:

  • 主要要素の周囲に 200px 以上
  • 副次要素間に 80〜100px
  • すべての要素間に最低 40px
6. Excalidraw JSON を生成する

有効な JSON 形式で .excalidraw ファイルを生成します。テンプレートは references/element-templates.md を参照してください。


コンテナーの使用ルール

ルール:テキストの30%未満だけを図形に含めてください。 階層はタイポグラフィで作り、コンテナーは区切るために使います。テキストをすべて囲まないでください。

コンセプト図形理由
ラベル/説明なし(自由テキスト)タイポグラフィで階層を作ります
タイムラインマーカー小さな円(10-20px)囲い込まずに視覚的なアンカーを作ります
トリガー/入力楕円起点を表します
決定/条件ひし形決定を表す標準的な記号です
プロセス/アクション長方形アクションを囲みます
抽象的な状態重なり合った楕円曖昧さ、雲のような状態を表します
階層ノード線+テキスト接続による構造を表します

美的基準

{
  "roughness": 0,
  "opacity": 100,
  "fontSize": 24,
  "fontFamily": 5,
  "textAlign": "center",
  "strokeWidth": 2
}
  • roughness: 0 — 常にきれいでシャープにします(「スケッチ」風のスタイルにはしません)。
  • fontSize: 24 をデフォルトの最小値とします。記事や静的なドキュメントでは18ptまで下げられますが、それ未満にはしません(可読性を確保します)。
  • fontFamily: 5 — Excalifont(Excalidrawのデフォルトフォント、手書き風)。fontFamily: 3(Cascadia monospace)は絶対に使用しないでください。レンダラーはreferences/Excalifont-Regular.woff2からExcalifontをローカルに読み込み、SVGに@font-faceをbase64で埋め込むため、PNGのレンダリング結果がExcalidrawと完全に一致します。
  • strokeWidth: 2 を標準とし、強調には3を使います。

大きな図の作成戦略

複雑な図(要素が15個を超える場合)は、セクションごとに作成します。

  1. 説明的なID:意味の分かる文字列ID("input-webhook"、"process-filter")を使用します。
  2. セクションごとの名前空間:シードをセクションごとにまとめます。
  3. 段階的な作成:セクションごとに生成して確認し、その後に組み立てます。
  4. 図全体を一度に作成しないでください。

出力ワークフロー

ステップA:設計
  1. ビジュアルの保存先を特定します。必要に応じて確認するか、コンテキストから推測します:
    • YouTubeプロジェクトがある場合(output/YYYY-MM-DD_sujet/フォルダー)、output/YYYY-MM-DD_sujet/diagrams/に保存します。
    • レッスン/記事を作成中の場合は、ディレクトリを確認します(通常は<projet>/assets/diagrams/または<projet>/images/)。
    • それ以外の場合は、現在のディレクトリに./diagrams/を提案します。
  2. 必要なビジュアルの箇所をすべて特定します。
  3. 作成する図(数、種類、配置)を提案します。
  4. 承認を待ちます。
ステップ B:生成

まとめるモードと個別ファイルモード

状況に応じて、次の2つのモードを使い分けます。

  • まとめるモード(動画/スライドシリーズに推奨):同じ納品物に含まれるすべての図を、1つの diagrams.excalidraw ファイルに縦に積み重ねます。Excalidraw でファイルを1つ開くだけでよく、図の間をスクロールしたり、簡単にコピー&ペーストしたり、一貫したスタイルを保ったりできます。生成される PNG/SVG は縦に長いキャンバスになります(例:スライド5枚の場合、1920 x 約6000)。動画編集では、ベクター形式の SVG から各スライドを個別に切り出せます。

  • 個別ファイルモード(レッスン/記事に推奨):各図を個別の diagram-<nom>.excalidraw ファイルに保存し、それぞれ独立した PNG/SVG としてレンダリングします。Markdown、ドキュメント、スライドデッキに1つずつ挿入しやすくなります。

モードは状況に応じて決定します。不明な場合は確認してください。

まとめるモードのルール:

  • スライド間の垂直方向の間隔:最低800px。 この大きな余白は動画編集に必須です。動画編集ソフト(DaVinci、Final Cut、After Effects、Premiere)でスライドにズームインしても、隣接するスライドがフレームに入り込まないようにします。間隔が160pxの場合、少し広めにズームしただけで次のスライドのタイトルが見えてしまいます。動画以外の用途(ドキュメント、記事)では、200pxまで縮めてもかまいません。
  • スライドごとのラベル:左上に控えめに ── Slide N — Titre ── と表示します。
  • 区切り線:各スライドの間に、キャンバス全幅を横切る点線を間隔の中央に配置します(strokeStyle: "dotted"、strokeColor: "#CCCCCC"、strokeWidth: 2)。Excalidraw と PNG の両方で、スライドの境界を見分けやすくなります。

積み重ねのパターン:

CANVAS_W = 1920
SLIDE_H  = 1080
GAP      = 800 (video) ou 200 (doc/article)
y_offset pour slide N = N * (SLIDE_H + GAP)
ステップ C:レンダリング

Python スクリプトを使って PNG と SVG を生成します(スクリプトのパスはこの SKILL.md を基準に解決されます)。

# macOS / Linux
python3 "${CLAUDE_PLUGIN_ROOT}/skills/illustre/references/render_excalidraw.py" "<chemin/vers/le-fichier.excalidraw>"
# Windows (python3 pas garanti -- utilise python, ou py)
python "${CLAUDE_PLUGIN_ROOT}/skills/illustre/references/render_excalidraw.py" "<chemin/vers/le-fichier.excalidraw>"

スクリプトで生成されるファイル:

  • <fichier>.png — 高解像度 PNG(デバイスピクセル比2倍)。すぐに利用できます。
  • <fichier>.svg — ベクター SVG。DaVinci Resolve、Final Cut Pro、After Effects、InDesign、Figma に画質を損なわずにインポートできます。

レンダラーがバウンディングボックスを自動計算するため、最終的な PNG/SVG は要素にぴったり合うサイズになります(パディングは80pxです)。

前提条件(初回のみ) — Windows では Git for Windows が必要です(Bash ツールを利用するため)。また、Python が PATH に含まれている必要があります。

# macOS / Linux
python3 -m pip install --user playwright && python3 -m playwright install chromium
# Windows
python -m pip install --user playwright && python -m playwright install chromium

技術メモ:レンダラーは Excalidraw JSON を SVG に直接変換します(四角形、楕円、ひし形、線、矢印ヘッド付き矢印、中央揃えの複数行テキスト)。その後、Playwright を device_scale_factor=2 に設定してスクリーンショットを撮影します。Excalidraw の CDN には依存しません(UMD ビルドは現在公開されていません)。

ステップ D:検証
  1. 生成した図をそれぞれ提示する
  2. 次のチェックリストを確認する:
    • 対象の表示形式(YouTube のモバイル画面、レッスン画面、記事のサイズ)で読みやすいか?
    • コントラストは十分か?
    • テキストはフランス語か?
    • テキストが切れたり、はみ出したりしていないか?
    • 関係や矢印は明確か?
    • 3~5秒で理解できるか?
  3. 必要に応じて調整を提案する
ステップ E:提示

生成したファイルのパスと簡単な説明を一覧にします。

Diagrammes generes dans <repertoire>/ :
- diagram-[nom-1].excalidraw + .png + .svg — [description courte]
- diagram-[nom-2].excalidraw + .png + .svg — [description courte]

ルール

  • 明示的に別の指定がない限り、必ず L'Accélérateur IA のカラーパレットを使用します — 出典:references/color-palette.md
  • 明示的に別の指定がない限り、必ずテキストをフランス語で作成します
  • 必ず fontFamily: 5(Excalifont)を使用します — fontFamily: 3 は使用しません
  • 必ず roughness: 0 を使用します — 「スケッチ/ラフ」スタイルは使用しません
  • 必ず PNG と SVG の両方をレンダリングします(SVG は無料で、画質を損なわずに拡大縮小する際に使えます)
  • 理解するのに5秒以上かかる図は作成しません
  • 1つの図に主要な要素を7つ以上含めません — 必要に応じて分割します
  • 1920x1080(16:9)のキャンバスを汎用のデフォルトとします。静的な記事やカスタムのウェブ埋め込みなど、状況に明確な理由がある場合のみ変更します

コメント