scientific-schematics について
研究者や技術文書の執筆者向けに、自然言語の説明から科学図を作成するスキルです。Nano Banana 2が画像を生成し、Gemini 3.1 Pro Previewが文書種別ごとの品質基準で評価して、必要に応じた反復改善を促します。
主な機能
- 01文章の説明から図を生成
- 02Gemini 3.1 Pro Previewによる品質レビュー
- 03文書種別ごとの品質基準
- 04プロンプトの反復改善
- 05版管理された画像とレビュー記録
- 06コマンドラインとPythonのインターフェース
活用シーン
- 01CONSORT参加者フロー図の作成
- 02ニューラルネットワーク構成の図示
- 03生物学的経路の可視化
- 04論文やプレゼン用の図の準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ crazymsn/ academic-skills --skill scientific-schematicsインストール後、Claude Code で/scientific-schematicsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/best_practices.mdQUICK_REFERENCE.mdREADME.mdscripts/example_usage.shgenerate_schematic_ai.pygenerate_schematic.py詳細
科学的な模式図と図表
概要
科学的な模式図や図表は、複雑な概念を出版に適した明快な視覚表現へと変換します。このスキルでは、図の生成に Nano Banana 2 AI を使用し、Gemini 3.1 Pro Preview で品質をレビューします。
仕組み:
- 図の内容を自然言語で説明します
- Nano Banana 2 が出版品質の画像を自動生成します
- Gemini 3.1 Pro Preview が文書の種類に応じた基準で品質をレビューします
- スマートな反復処理:品質が基準を下回る場合にのみ再生成します
- 数分で出版可能な出力を得られます
- コーディング、テンプレート、手作業での描画は不要です
文書の種類ごとの品質基準:
| 文書の種類 | 基準 | 説明 |
|---|---|---|
| journal | 8.5/10 | Nature、Science、査読付き学術誌 |
| conference | 8.0/10 | 学会論文 |
| thesis | 8.0/10 | 学位論文、修士論文 |
| grant | 8.0/10 | 助成金申請書 |
| preprint | 7.5/10 | arXiv、bioRxiv など |
| report | 7.5/10 | 技術レポート |
| poster | 7.0/10 | 学術ポスター |
| presentation | 6.5/10 | スライド、講演 |
| default | 7.5/10 | 汎用 |
作成したい図を説明するだけで、Nano Banana 2 が生成します。 すべての図は figures/ サブフォルダーに保存され、論文やポスターから参照されます。
クイックスタート:あらゆる図を生成する
作成したい図を説明するだけで、科学的な図を生成できます。Nano Banana 2 がスマートな反復処理により、すべてを自動で行います。
# Generate for journal paper (highest quality threshold: 8.5/10)
python scripts/generate_schematic.py "CONSORT participant flow diagram with 500 screened, 150 excluded, 350 randomized" -o figures/consort.png --doc-type journal
# Generate for presentation (lower threshold: 6.5/10 - faster)
python scripts/generate_schematic.py "Transformer encoder-decoder architecture showing multi-head attention" -o figures/transformer.png --doc-type presentation
# Generate for poster (moderate threshold: 7.0/10)
python scripts/generate_schematic.py "MAPK signaling pathway from EGFR to gene transcription" -o figures/mapk_pathway.png --doc-type poster
# Custom max iterations (max 2)
python scripts/generate_schematic.py "Complex circuit diagram with op-amp, resistors, and capacitors" -o figures/circuit.png --iterations 2 --doc-type journal
内部で行われる処理:
- 生成 1:Nano Banana 2 が科学的な図のベストプラクティスに従って初期画像を作成します
- レビュー 1:Gemini 3.1 Pro Preview が文書の種類に応じた基準で品質を評価します
- 判定:品質 >= 基準の場合 → 完了(反復処理は不要です!)
- 基準未満の場合:レビュー内容に基づいてプロンプトを改善し、再生成します
- 繰り返し:品質が基準に達するか、最大反復回数に達するまで続けます
スマートな反復処理のメリット:
- ✅ 初回の生成で十分な品質が得られれば、API 呼び出しを節約できます
- ✅ 学術誌の論文には、より高い品質基準が適用されます
- ✅ 発表資料やポスターをより速く仕上げられます
- ✅ 用途に応じた適切な品質が得られます
出力:バージョン管理された画像と、品質スコア、批評、早期終了に関する情報を含む詳細なレビュー記録が出力されます。
設定
OpenRouter API キーを設定します。
export OPENROUTER_API_KEY='your_api_key_here'
API キーは https://openrouter.ai/keys から取得してください。
AI 生成のベストプラクティス
科学的な図に効果的なプロンプト:
✓ 良いプロンプト(具体的で詳細):
- 「スクリーニング(n=500)からランダム化を経て最終解析までの参加者の流れを示す CONSORT フローチャート」
- 「左側にエンコーダースタック、右側にデコーダースタックを配置し、マルチヘッドアテンションとクロスアテンションの接続を示す Transformer ニューラルネットワークのアーキテクチャ」
- 「EGFR 受容体 → RAS → RAF → MEK → ERK → 核の順に示し、リン酸化ステップにラベルを付けた生物学的シグナル伝達カスケード」
- 「IoT システムのブロック図:センサー → マイクロコントローラー → WiFi モジュール → クラウドサーバー → モバイルアプリ」
✗ 曖昧なプロンプトは避けてください:
- 「フローチャートを作る」(一般的すぎます)
- 「ニューラルネットワーク」(どの種類ですか?どの構成要素ですか?)
- 「経路図」(どの経路ですか?どの分子ですか?)
含めるべき主な要素:
- 種類:フローチャート、アーキテクチャ図、経路図、回路図など
- 構成要素:含める具体的な要素
- 流れ/方向:要素同士の接続方法(左から右、上から下など)
- ラベル:含める主な注釈やテキスト
- スタイル:特定の視覚的要件
科学的な品質に関するガイドライン(自動的に適用されます):
- 白または明るい背景
- 読みやすい高コントラスト
- 明瞭で読みやすいラベル(最小 10pt)
- プロフェッショナルな書体(サンセリフ体)
- 色覚多様性に配慮した色(岡部伊藤パレット)
- 混み合わないよう適切な間隔を確保
- 必要に応じてスケールバー、凡例、軸を表示
このスキルを使用する場面
このスキルは、次のような場合に使用してください:
- ニューラルネットワークのアーキテクチャ図(Transformer、CNN、RNN など)を作成する
- システムアーキテクチャ図やデータフロー図を描く
- 研究デザインの方法論を示すフローチャート(CONSORT、PRISMA)を描く
- アルゴリズムのワークフローや処理パイプラインを可視化する
- 回路図や電気回路図を作成する
- 生物学的経路や分子間相互作用を図示する
- ネットワークトポロジーや階層構造を生成する
- 概念的なフレームワークや理論モデルを図示する
- 技術論文用のブロック図を作成する
このスキルの使い方
図の内容を自然言語で説明するだけです。 Nano Banana 2 が自動で生成します:
python scripts/generate_schematic.py "your diagram description" -o output.png
これだけです! AI が次の作業を担当します:
- ✓ レイアウトと構成
- ✓ ラベルと注釈
- ✓ 色とスタイル
- ✓ 品質の確認と改善
- ✓ 論文への掲載に適した出力
あらゆる種類の図に対応しています:
- フローチャート(CONSORT、PRISMA など)
- ニューラルネットワークのアーキテクチャ
- 生物学的経路
- 回路図
- システムアーキテクチャ
- ブロック図
- あらゆる科学的可視化
コーディング、テンプレート、手作業での描画は不要です。
AI 生成モード(Nano Banana 2 + Gemini 3.1 Pro Preview によるレビュー)
スマートな反復改善ワークフロー
AI 生成システムではスマートな反復処理を採用しています。ドキュメントの種類に応じた品質しきい値を下回った場合にのみ再生成します:
スマートな反復処理の仕組み
┌─────────────────────────────────────────────────────┐
│ 1. Generate image with Nano Banana 2 │
│ ↓ │
│ 2. Review quality with Gemini 3.1 Pro Preview │
│ ↓ │
│ 3. Score >= threshold? │
│ YES → DONE! (early stop) │
│ NO → Improve prompt, go to step 1 │
│ ↓ │
│ 4. Repeat until quality met OR max iterations │
└─────────────────────────────────────────────────────┘
反復 1:初回生成
プロンプトの作成:
Scientific diagram guidelines + User request
出力: diagram_v1.png
Gemini 3.1 Pro Preview による品質レビュー
Gemini 3.1 Pro Preview は、図を次の基準で評価します:
- 科学的な正確性(0~2 点)- 概念、表記、関係性が正しいか
- 明瞭さと読みやすさ(0~2 点)- 理解しやすく、階層が明確か
- ラベルの品質(0~2 点)- ラベルが揃っていて、読みやすく、一貫しているか
- レイアウトと構成(0~2 点)- 流れが論理的で、バランスが取れ、重なりがないか
- プロフェッショナルな外観(0~2 点)- 論文への掲載に適した品質か
レビュー出力の例:
SCORE: 8.0
STRENGTHS:
- Clear flow from top to bottom
- All phases properly labeled
- Professional typography
ISSUES:
- Participant counts slightly small
- Minor overlap on exclusion box
VERDICT: ACCEPTABLE (for poster, threshold 7.0)
判断ポイント:続行するか、停止するか?
| スコア... | アクション |
|---|---|
| >= しきい値 | 停止 - このドキュメントの種類に十分な品質です |
| < しきい値 | プロンプトを改善して次の反復に進みます |
例:
- ポスター(しきい値 7.0)の場合:スコア 7.5 → 反復 1 回で完了!
- 学術誌(しきい値 8.5)の場合:スコア 7.5 → 改善を続行
以降の反復(必要な場合のみ)
品質がしきい値を下回る場合、システムは次の処理を行います:
- Gemini 3.1 Pro Preview のレビューから具体的な問題を抽出する
- 改善指示を加えてプロンプトを強化する
- Nano Banana 2 で再生成する
- Gemini 3.1 Pro Preview で再度レビューする
- しきい値に達するか、最大反復回数に達するまで繰り返す
レビューログ
すべての反復は、早期停止に関する情報を含む JSON レビューログとともに保存されます:
{
"user_prompt": "CONSORT participant flow diagram...",
"doc_type": "poster",
"quality_threshold": 7.0,
"iterations": [
{
"iteration": 1,
"image_path": "figures/consort_v1.png",
"score": 7.5,
"needs_improvement": false,
"critique": "SCORE: 7.5\nSTRENGTHS:..."
}
],
"final_score": 7.5,
"early_stop": true,
"early_stop_reason": "Quality score 7.5 meets threshold 7.0 for poster"
}
注: スマートな反復処理では、早い段階で品質が基準に達すると、全 2 回ではなく 1 回だけ反復されることがあります!
AI 生成の高度な使い方
Python API
from scripts.generate_schematic_ai import ScientificSchematicGenerator
# Initialize generator
generator = ScientificSchematicGenerator(
api_key="your_openrouter_key",
verbose=True
)
# Generate with iterative refinement (max 2 iterations)
results = generator.generate_iterative(
user_prompt="Transformer architecture diagram",
output_path="figures/transformer.png",
iterations=2
)
# Access results
print(f"Final score: {results['final_score']}/10")
print(f"Final image: {results['final_image']}")
# Review individual iterations
for iteration in results['iterations']:
print(f"Iteration {iteration['iteration']}: {iteration['score']}/10")
print(f"Critique: {iteration['critique']}")
コマンドラインオプション
# Basic usage (default threshold 7.5/10)
python scripts/generate_schematic.py "diagram description" -o output.png
# Specify document type for appropriate quality threshold
python scripts/generate_schematic.py "diagram" -o out.png --doc-type journal # 8.5/10
python scripts/generate_schematic.py "diagram" -o out.png --doc-type conference # 8.0/10
python scripts/generate_schematic.py "diagram" -o out.png --doc-type poster # 7.0/10
python scripts/generate_schematic.py "diagram" -o out.png --doc-type presentation # 6.5/10
# Custom max iterations (1-2)
python scripts/generate_schematic.py "complex diagram" -o diagram.png --iterations 2
# Verbose output (see all API calls and reviews)
python scripts/generate_schematic.py "flowchart" -o flow.png -v
# Provide API key via flag
python scripts/generate_schematic.py "diagram" -o out.png --api-key "sk-or-v1-..."
# Combine options
python scripts/generate_schematic.py "neural network" -o nn.png --doc-type journal --iterations 2 -v
プロンプト作成のヒント
1. レイアウトを具体的に指定する:
✓ "Flowchart with vertical flow, top to bottom"
✓ "Architecture diagram with encoder on left, decoder on right"
✓ "Circular pathway diagram with clockwise flow"
2. 定量的な詳細を含める:
✓ "Neural network with input layer (784 nodes), hidden layer (128 nodes), output (10 nodes)"
✓ "Flowchart showing n=500 screened, n=150 excluded, n=350 randomized"
✓ "Circuit with 1kΩ resistor, 10µF capacitor, 5V source"
3. ビジュアルスタイルを指定する:
✓ "Minimalist block diagram with clean lines"
✓ "Detailed biological pathway with protein structures"
✓ "Technical schematic with engineering notation"
4. 必要なラベルを指定する:
✓ "Label all arrows with activation/inhibition"
✓ "Include layer dimensions in each box"
✓ "Show time progression with timestamps"
5. 色の要件を伝える:
✓ "Use colorblind-friendly colors"
✓ "Grayscale-compatible design"
✓ "Color-code by function: blue for input, green for processing, red for output"
AI 生成の例
例 1:CONSORT フローチャート
python scripts/generate_schematic.py \
"CONSORT participant flow diagram for randomized controlled trial. \
Start with 'Assessed for eligibility (n=500)' at top. \
Show 'Excluded (n=150)' with reasons: age<18 (n=80), declined (n=50), other (n=20). \
Then 'Randomized (n=350)' splits into two arms: \
'Treatment group (n=175)' and 'Control group (n=175)'. \
Each arm shows 'Lost to follow-up' (n=15 and n=10). \
End with 'Analyzed' (n=160 and n=165). \
Use blue boxes for process steps, orange for exclusion, green for final analysis." \
-o figures/consort.png
例 2:ニューラルネットワークのアーキテクチャ
python scripts/generate_schematic.py \
"Transformer encoder-decoder architecture diagram. \
Left side: Encoder stack with input embedding, positional encoding, \
multi-head self-attention, add & norm, feed-forward, add & norm. \
Right side: Decoder stack with output embedding, positional encoding, \
masked self-attention, add & norm, cross-attention (receiving from encoder), \
add & norm, feed-forward, add & norm, linear & softmax. \
Show cross-attention connection from encoder to decoder with dashed line. \
Use light blue for encoder, light red for decoder. \
Label all components clearly." \
-o figures/transformer.png --iterations 2
例 3:生物学的経路
python scripts/generate_schematic.py \
"MAPK signaling pathway diagram. \
Start with EGFR receptor at cell membrane (top). \
Arrow down to RAS (with GTP label). \
Arrow to RAF kinase. \
Arrow to MEK kinase. \
Arrow to ERK kinase. \
Final arrow to nucleus showing gene transcription. \
Label each arrow with 'phosphorylation' or 'activation'. \
Use rounded rectangles for proteins, different colors for each. \
Include membrane boundary line at top." \
-o figures/mapk_pathway.png
例 4:システムアーキテクチャ
python scripts/generate_schematic.py \
"IoT system architecture block diagram. \
Bottom layer: Sensors (temperature, humidity, motion) in green boxes. \
Middle layer: Microcontroller (ESP32) in blue box. \
Connections to WiFi module (orange box) and Display (purple box). \
Top layer: Cloud server (gray box) connected to mobile app (light blue box). \
Show data flow arrows between all components. \
Label connections with protocols: I2C, UART, WiFi, HTTPS." \
-o figures/iot_architecture.png
コマンドラインの使い方
科学的な模式図を生成するためのメインエントリーポイント:
# Basic usage
python scripts/generate_schematic.py "diagram description" -o output.png
# Custom iterations (max 2)
python scripts/generate_schematic.py "complex diagram" -o diagram.png --iterations 2
# Verbose mode
python scripts/generate_schematic.py "diagram" -o out.png -v
注: Nano Banana 2 の AI 生成システムでは、反復的な改善プロセスに品質の自動レビューが組み込まれています。各反復では、科学的な正確性、明瞭さ、アクセシビリティが評価されます。
ベストプラクティスのまとめ
デザイン原則
- 複雑さより明快さ - 単純化し、不要な要素を取り除く
- 一貫したスタイル - テンプレートとスタイルファイルを使用する
- 色覚への配慮 - Okabe-Ito パレットを使用し、冗長なエンコーディングを行う
- 適切なタイポグラフィ - サンセリフフォントを使用し、最小 7-8 pt とする
- ベクター形式 - 出版物には常に PDF/SVG を使用する
技術要件
- 解像度 - ベクターが望ましく、ラスターの場合は 300 DPI 以上
- ファイル形式 - LaTeX には PDF、Web には SVG、フォールバックとして PNG
- カラースペース - デジタル用途には RGB、印刷用途には CMYK(必要に応じて変換)
- 線の太さ - 最小 0.5 pt、通常は 1-2 pt
- テキストサイズ - 最終サイズで最小 7-8 pt
統合ガイドライン
- LaTeX への組み込み - 生成した画像には
\includegraphics{}を使用する - キャプションを十分に記述する - すべての要素と略語を説明する
- 本文で参照する - 本文の流れの中で図を説明する
- 一貫性を保つ - 論文内のすべての図で同じスタイルを使用する
- バージョン管理 - プロンプトと生成画像をリポジトリで管理する
よくある問題のトラブルシューティング
AI 生成の問題
問題: テキストや要素が重なる
- 解決策: AI 生成は自動的に間隔を調整します
- 解決策: 反復回数を増やす:
--iterations 2でより良く洗練されます
問題: 要素が正しくつながらない
- 解決策: 接続とレイアウトについて、プロンプトをより具体的に記述する
- 解決策: 反復回数を増やして、より良く洗練させる
画像品質の問題
問題: 出力品質が低い
- 解決策: AI 生成は自動的に高品質な画像を生成します
- 解決策: 反復回数を増やして結果を改善する:
--iterations 2
問題: 生成後に要素が重なる
- 解決策: AI 生成は自動的に間隔を調整します
- 解決策: 反復回数を増やす:
--iterations 2でより良く洗練されます - 解決策: レイアウトと間隔の要件について、プロンプトをより具体的に記述する
品質チェックの問題
問題: 重なりの誤検出
- 解決策: しきい値を調整する:
detect_overlaps(image_path, threshold=0.98) - 解決策: 視覚レポートでフラグが付いた領域を手動で確認する
問題: 生成画像の品質が低い
- 解決策: AI 生成は既定で高品質な画像を生成します
- 解決策: 反復回数を増やして結果を改善する:
--iterations 2
問題: 色覚シミュレーションでコントラストが低い
- 解決策: コード内で明示的に Okabe-Ito パレットに切り替える
- 解決策: 冗長なエンコーディング(形状、パターン、線種)を追加する
- 解決策: 色の彩度と明度の差を大きくする
問題: 重大度の高い重なりが検出された
- 解決策: overlap_report.json で正確な位置を確認する
- 解決策: 該当する領域の間隔を広げる
- 解決策: 調整したパラメータで再実行し、再度検証する
問題: 視覚レポートの生成に失敗する
- 解決策: Pillow と matplotlib のインストールを確認する
- 解決策: 画像ファイルが読み取り可能か確認する:
Image.open(path).verify() - 解決策: レポート生成に十分なディスク空き容量があるか確認する
アクセシビリティの問題
問題: グレースケールで色が区別できない
- 解決策: アクセシビリティチェッカーを実行する:
verify_accessibility(image_path) - 解決策: 冗長性のためにパターン、形状、線種を追加する
- 解決策: 隣接する要素間のコントラストを大きくする
問題: 印刷時にテキストが小さすぎる
- 解決策: 解像度バリデーターを実行する:
validate_resolution(image_path) - 解決策: 最終サイズでデザインし、最小 7-8 pt のフォントを使用する
- 解決策: 解像度レポートで物理的なサイズを確認する
問題: アクセシビリティチェックが繰り返し失敗する
- 解決策: accessibility_report.json で具体的な失敗箇所を確認する
- 解決策: 色のコントラストを少なくとも 20% 高める
- 解決策: 確定する前に、実際にグレースケール変換を行ってテストする
リソースと参考文献
詳細なリファレンス
特定のトピックに関する包括的な情報を得るには、以下のファイルを読み込んでください。
references/best_practices.md- 公開基準とアクセシビリティのガイドライン
外部リソース
Python ライブラリ
- Schemdraw ドキュメント:https://schemdraw.readthedocs.io/
- NetworkX ドキュメント:https://networkx.org/documentation/
- Matplotlib ドキュメント:https://matplotlib.org/
公開基準
- Nature の図版ガイドライン:https://www.nature.com/nature/for-authors/final-submission
- Science の図版ガイドライン:https://www.science.org/content/page/instructions-preparing-initial-manuscript
- CONSORT 図:https://www.consort-statement.org/consort-statement/flow-diagram
他のスキルとの連携
このスキルは、以下のスキルと相乗的に機能します。
- Scientific Writing - 図は図版のベストプラクティスに従います
- Scientific Visualization - カラーパレットとスタイルを共有します
- LaTeX Posters - ポスター発表用の図を作成します
- Research Grants - 申請書用の方法論図を作成します
- Peer Review - 図の明瞭さとアクセシビリティを評価します
クイックリファレンスチェックリスト
図を提出する前に、以下を確認してください。
視覚的な品質
- 高品質な画像形式(AI 生成の場合は PNG)
- 要素の重なりがない(AI が自動的に処理)
- すべての構成要素の間隔が十分(AI が最適化)
- すっきりとしたプロフェッショナルな配置
- すべての矢印が意図した対象に正しく接続
アクセシビリティ
- 色覚多様性に配慮したパレット(岡部伊藤色覚バリアフリーパレット)を使用
- グレースケールでも問題なく表示(アクセシビリティチェッカーで確認)
- 要素間に十分なコントラストがある(確認済み)
- 適切な箇所で冗長な符号化を使用(形状+色)
- 色覚シミュレーションですべてのチェックに合格
タイポグラフィと可読性
- 最終サイズでテキストが 7~8 pt 以上
- すべての要素に明確かつ完全なラベルが付いている
- フォントファミリーとサイズが統一されている
- テキストの重なりや切れがない
- 該当する場合は単位を記載
公開基準
- 原稿内の他の図とスタイルが統一されている
- すべての略語を定義した包括的なキャプションを作成
- 原稿本文で適切に参照されている
- ジャーナル固有の寸法要件を満たしている
- ジャーナル指定の形式(PDF/EPS/TIFF)でエクスポート済み
品質検証(必須)
-
run_quality_checks()を実行し、PASS ステータスを達成 - 重なり検出レポートを確認(重大度の高い重なりがゼロ)
- アクセシビリティ検証(グレースケールおよび色覚多様性)に合格
- 解像度を目標 DPI で検証(印刷の場合は 300 以上)
- 視覚品質レポートを生成して確認
- すべての品質レポートを図のファイルとともに保存
ドキュメントとバージョン管理
- 後日編集できるよう、ソースファイル(.tex、.py)を保存
- 品質レポートを
quality_reports/ディレクトリに保管 - 設定パラメーター(色、間隔、サイズ)を文書化
- Git のコミットにソース、出力、品質レポートを含める
- 図を再生成する方法を README またはコメントで説明
最終統合チェック
- コンパイル済みの原稿で図が正しく表示される
- 相互参照が機能する(
\ref{}が正しい図を指している) - 図番号が本文中の引用と一致している
- 図に対してキャプションが正しいページに表示される
- 図に関するコンパイル警告やエラーがない
環境のセットアップ
# Required
export OPENROUTER_API_KEY='your_api_key_here'
# Get key at: https://openrouter.ai/keys
はじめに
最も簡単な使い方:
python scripts/generate_schematic.py "your diagram description" -o output.png
このスキルを使って、複雑な科学的概念を効果的に伝える、明瞭でアクセシブルな出版品質の図を作成してください。AI を活用したワークフローと反復的な改良により、図がプロフェッショナルな基準を満たすようにできます。