Academic Figure Prompt について
Academic Figure Promptは、科学資料を構造化された図の仕様と画像モデル向けプロンプトに変換するスキルです。研究者向けに内容、配色、レイアウト、文字量、描画制約を整理し、不足情報にはプレースホルダーを設けます。
主な機能
- 01構造化されたJSON図仕様
- 02配色選択のガイド
- 03図中テキストの厳密な固定
- 04画像プロンプトの生成
- 05キャプション内容の予約
- 06不足情報用プレースホルダー
活用シーン
- 01科学的手法の図の準備
- 02論文内容から図の概要を作成
- 03レンダラー向け視覚プロンプトの作成
- 04不完全な図の要件への対応
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ azhi-ss/ academic-figure-skills --skill academic-figure-promptインストール後、Claude Code で/academic-figure-promptを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
json-schema.mdreferences/image-prompt-guide.mdarchitecture-icons.mdjson-to-prompt.mdprompt-templates.mdmissing-info-policy.mdpalettes.md詳細
Academic Figure Prompt
既定の成果物:JSON 図仕様(exact_* によるテキスト固定+レイアウトブロック+描画ルール)。シンプルなチャート、またはユーザーから明示的な依頼がある場合に限り、テキストプロンプトを使用します。
スキーマと例:→ json-schema.md
配色:→ references/palettes.md
画像プロンプトの作成:→ references/image-prompt-guide.md
アイコン用語集:→ references/architecture-icons.md
プロンプトテンプレート:→ references/prompt-templates.md
JSON→プロンプト変換:→ references/json-to-prompt.md
不足情報:→ references/missing-info-policy.md
テキスト量の制限(最優先ルール)
図中のテキストは短いラベルと構造に限定します。数式、パラメーター、長い説明文は図のキャプションに記載します。
| 要素 | 上限 |
|---|---|
| モジュールタイトル | ≤ 5語 |
| サブコンポーネント | ≤ 3語 |
| パイプラインのステップ | 主ラベル ≤ 2語 + 副ラベル ≤ 2語 |
| 図中の数式 | ≤ 1行、要点のみ |
| 矢印ラベル | ≤ 3語 |
ラベルの階層: 主ラベル(ひと目で読める必要あり)→ 副ラベル(スペースが足りない場合は最初に削除)→ キャプション(図中には記載しない)。
入力要件
-
推奨:図の種類、論文/セクションの内容、モジュール、ラベル、数式、寸法、Palette Decision、参考画像
-
aspect_ratio(任意、Figure Plan から指定)
-
最低限:図の種類 + 対象/手法の概要
-
情報不足の場合:プレースホルダーを含むスケルトン仕様を作成し、推論/要確認と明記
-
中国語の図名 + 種類
-
JSON 仕様(構造化された中間形式)
-
画像プロンプト(画像モデル向けの英語による視覚的な説明、200~400語)
-
使用した配色名 + HEX 値
-
キャプションに回す項目のリスト
-
完全性ブロック(missing info policy を参照)
手順
Step 1: 内容の根拠を確認
利用可能な論文/セクションの資料を読みます。モジュール、データフロー、記号、寸法を抽出します。
完了条件:主張されているすべてのモジュールに、出典となる箇所があるか、プレースホルダーとして明示されています。
Step 2: 参考画像(ある場合)
配色、レイアウトの流れ、ボックスのスタイル、注釈の密度、特殊なリンクを抽出します。
完了条件:参考画像の制約が列挙されているか、「参考画像なし」と明記されています。
Step 3: 配色
独自の配色表は作成しないでください。このスキルで扱うのはクラシック系のみです(パステル系は別のスキルを使用)。
- ユーザー指定の配色/HEX 値があれば、それを使用します
- それ以外の場合、color-expert による既存の Palette Decision があれば、それを使用します
- それ以外の場合は、
references/palettes.mdの Scene → palette decision(ハード制約 → 種類 → 掲載先 → 分野)を実行します。それでも決まらない場合は、安全な既定値(モジュールが 4 つ以上なら Nature Blue、それ以外は Okabe-Ito)を使用し、その旨を明記します - HEX 値は
references/palettes.mdから読み込みます - ユーザーが軽やかさ/パステル調を希望した場合は、ここで中断し、クラシックな境界線を無理に適用せず、
academic-figure-prompt-pastelに切り替えます
完了条件:配色名と HEX 値が確定し、系統がクラシックであることと、決定に至った分岐が明記されています。
Step 4: JSON 仕様を出力
json-schema.md を読み込みます。すべての可視テキストを固定する exact_* 項目を含めて、layout_and_content_blocks を作成します。physical_spec_and_typography(キャンバス幅 89mm/183mm、フォント階層 10pt/8pt/6pt、線幅階層 1.5pt/1.0pt)を含めます。描画ルールと caption_note のリストを追加します。
完了条件:以下のチェックリストを満たしています。
- 図中のすべての文字列が
exact_*項目に記載されている - Figure Plan に aspect_ratio がある場合、その値が転記されている
-
physical_spec_and_typographyブロックがある(幅 89mm/183mm、フォント 10pt/8pt/6pt、線幅 1.5pt/1.0pt) - テキスト量の制限を遵守している
- 白塗り/色付きの境界線のみを使用している
- 選択した配色の色数が 3 色以下である
- キャプションに回す項目のリストに、図外に記載する内容が含まれている
- 空のモジュール枠がない
- すべての主要ブロックにアイコンまたは視覚的な目印がある(
references/architecture-icons.mdを参照) - 重みの状態(固定/学習可能)に、絵文字以外のパターン(破線/実線の境界線、ハッチング、またはピル)を使用している
- 否定指示を明示している:
NO emojis, NO lock/fire/lightning icons, NO 3D rendering
ステップ 5:画像プロンプトを書く
references/image-prompt-guide.md と references/json-to-prompt.md を読みます。JSON 仕様を、次の 8 スロット構成に従った 200~400 語の英語の画像プロンプトに変換します。
- 画像の種類(最初に記載)
- 中心となる主題(1 文)
- 構成/レイアウト(空間的な配置、流れ、グループ化)
- 補助モジュール(
architecture-icons.mdのアイコン、寸法ラベル、数式、トークンピル、凡例) - ビジュアルトーン(曖昧な言葉ではなく、具体的な描写)
- 素材/質感(境界線の幅、塗り、角丸の半径)
- タイポグラフィと物理仕様(フォント階層:タイトル 10~12pt 太字、ラベル 8~9pt、テンソル 6~7pt;列幅:単段 89mm/2 段 183mm;線幅:境界線 1.5pt、区切り線 1.0pt)
- アスペクト比(最後に記載)
図の種類に合ったテンプレートを references/prompt-templates.md から使用します。すべての主要ブロックに、視覚的な目印(アイコン、サムネイル、または幾何学的なマーカー)を付けます。パラメーターや長い数式は図ではなく caption_note に記載します。
完了条件:プロンプトが 200~400 語で、8 つのスロットがすべて含まれており、すべての JSON ブロックが機械的な列挙ではなく、空間的な描写に変換されていて、補助モジュールが含まれていること。
ステップ 6:フォールバックのテキストプロンプト(まれなケース)
分岐のないモジュールが 3 つ以下の場合、純粋なデータチャートの場合、またはユーザーが文章形式のプロンプトを求めている場合に限ります。json-schema.md の 4 層構成(全体的なコンテキスト → セクション/列のカプセル化 → 注釈とリンク → 16 進数カラーコードと除外条件を含むスタイル仕様)を使用します。
停止条件
要求された図の Figure Spec Package(JSON 仕様+画像プロンプト)を作成した時点で、または図の種類と主題の両方が指定されていない場合(その 2 点だけを尋ねます)に停止します。