Community画像github.com

erlingerwu0925/paper-illustration

学術論文向けの出版品質AIイラストを生成します。Gemini画像生成を活用し、アーキテクチャ図や手法図を作成。Claude監視による反復改良ループを実装。ユーザーが「生成图表」「画架构图」「AI绘图」「paper illustration」「generate diagram」と言ったとき、または論文のビジュアル図が必要なときに使用します。

paper-illustration とは?

Paper-Illustration スキルは、学術論文向けに出版品質の図版を生成するための多段階ワークフローを実現するAIエージェントスキルです。このスキルは、Claudeを厳格な監督・レビュアーとして機能させ、Gemini画像生成モデル(gemini-3-pro-image-preview)を用いて、CVPR、ICLR、NeurIPSなどのトップカンファレンスに求められる視覚的基準を満たす図を生成します。ワークフローは、ユーザーのリクエスト解析、レイアウト最適化、スタイル検証、画像レンダリング、厳格な視覚レビューとスコアリング(1〜10段階)の5段階で構成され、目標スコア9以上に達するまで反復的に改善します。アーキテクチャ図、パイプライン図、手法の概念図などに優れており、統計プロットやフォトリアリスティック画像は対象外です。オプションで参照論文のスタイルに合わせた図の構造調整(--style-ref)も可能で、学術的なプロフェッショナリズムと控えめな視覚的魅力を両立する「科研風格」を重視しています。

対応✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/erlingerwu0925/Skills/tree/HEAD/collections/02-autonomous-research/ARIS/skills/paper-illustration

Installed? Explore more 画像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Paper Illustration: 多段階Claude監督図版生成

多段階ワークフロー と Claude(厳格な監督・レビュアー) を活用して、出版品質のイラストを生成します。

コアデザイン哲学

┌──────────────────────────────────────────────────────────────────────────┐
│                    多段階反復ワークフロー                                 │
├──────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│   ユーザーリクエスト                                                      │
│       │                                                                  │
│       ▼                                                                  │
│   ┌─────────────┐                                                        │
│   │   Claude    │ ◄─── ステップ1: リクエストを解析し、初期プロンプトを作成 │
│   │  (プランナー)│                                                        │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │   Gemini    │ ◄─── ステップ2: レイアウト記述を最適化                   │
│   │ (gemini-3-pro)│      - コンポーネントの配置を洗練                       │
│   │  レイアウト  │      - スペーシングとグループ化を最適化                   │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │   Gemini    │ ◄─── ステップ3: CVPR/NeurIPSスタイル検証                │
│   │ (gemini-3-pro)│      - カラーパレット準拠をチェック                    │
│   │  スタイル   │      - 矢印とフォント基準を検証                          │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │ Paperbanana │ ◄─── ステップ4: 最終画像をレンダリング                   │
│   │ (gemini-3-  │      - 高品質画像生成                                   │
│   │ pro-image)  │      - 内部コードネーム: Nano Banana Pro                │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │   Claude    │ ◄─── ステップ5: 厳格な視覚レビュー + スコア (1-10)      │
│   │  (レビュアー)│      - すべての矢印の方向を検証                          │
│   │   厳格!    │      - すべてのブロックの内容を検証                      │
│   └──────┬──────┘      - 美しさと視覚的な魅力を検証                        │
│          │                                                               │
│          ▼                                                               │
│   スコア ≥ 9? ──はい──► 承認して出力                                     │
│          │                                                               │
│          いいえ                                                            │
│          │                                                               │
│          ▼                                                               │
│   具体的な改善フィードバックを生成 ──► ステップ2にループバック             │
│                                                                          │
└──────────────────────────────────────────────────────────────────────────┘

定数

  • IMAGE_MODEL = gemini-3-pro-image-preview — Paperbanana (Nano Banana Pro) 画像レンダリング用
  • REASONING_MODEL = gemini-3-pro-preview — Gemini レイアウト最適化とスタイルチェック用
  • MAX_ITERATIONS = 5 — 最大改良ラウンド数
  • TARGET_SCORE = 9 — 最低許容スコア (1-10) — 品質向上のため引き上げ
  • OUTPUT_DIR = figures/ai_generated/ — 出力ディレクトリ
  • API_KEY_ENV = GEMINI_API_KEY — 環境変数

オプション: スタイルリファレンス (--style-ref: <source>、オプトイン)

ユーザーは、参照論文に合わせて図の構造的な慣習(キャプションの長さ、パネル数の分布、親論文における図と表の比率)を調整できます。デフォルトはオフ — ユーザーが --style-ref を渡さない場合は、以前と何も変わりません。

$ARGUMENTS に --style-ref: <source> が出現した場合のみ、プロンプト生成の前にヘルパーを最初に実行します:

# 正規の厳格安全チェーンを使用して $STYLE_HELPER を解決します (参照:
# shared-references/integration-contract.md §2)。ポリシー A — ゲート:
# ヘルパーが未解決の場合、--style-ref は満たせないため、中断します。
cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
    ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
fi
if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
    ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
fi
STYLE_HELPER=".aris/tools/extract_paper_style.py"
[ -f "$STYLE_HELPER" ] || STYLE_HELPER="tools/extract_paper_style.py"
[ -f "$STYLE_HELPER" ] || { [ -n "${ARIS_REPO:-}" ] && STYLE_HELPER="$ARIS_REPO/tools/extract_paper_style.py"; }
[ -f "$STYLE_HELPER" ] || {
  echo "ERROR: extract_paper_style.py が .aris/tools/、tools/、$ARIS_REPO/tools/、または ~/.aris/repo 経由で解決できませんでした。" >&2
  echo "       修正: bash tools/install_aris.sh または smart_update.sh を再実行(~/.aris/repo を更新)、ARIS_REPO をエクスポートするか、ヘルパーを tools/ にコピーしてください。" >&2
  echo "       --style-ref を満たせません。中断します。" >&2
  exit 1
}
STYLE_STATUS=0
CACHE=$(python3 "$STYLE_HELPER" --source "<source>") || STYLE_STATUS=$?
case "$STYLE_STATUS" in
  0) ;;                                       # $CACHE/style_profile.md を構造ガイダンスとして使用
  2) echo "警告: style-ref スキップ (オプションの依存関係が不足)" >&2 ;;
  3) echo "エラー: --style-ref ソース失敗。イラストレーションを中断します" >&2 ; exit 1 ;;
  *) echo "エラー: ヘルパーが予期せず失敗しました。イラストレーションを中断します" >&2 ; exit 1 ;;
esac

受け入れられるソース: ローカル TeX ディレクトリ/ファイル、ローカル PDF、arXiv ID、http(s) URL。Overleaf URL/ID は拒否されます — 最初に /overleaf-sync setup <id> でクローンし、ローカルクローンパスを渡してください。

厳格なルール (完全な契約は tools/extract_paper_style.py の docstring にあります):

  • style_profile.md を使用して、キャプションの長さと図の密度を参照論文に合わせます。上記の CVPR/ICLR/NeurIPS の視覚基準が引き続き優先されます — --style-ref は長さと密度の傾向のみを調整し、画像コンテンツは変更しません。
  • キャッシュからアクセス可能なものから、図の内容、カラーパレット、特定のデザイン要素を決してコピーしないでください。視覚デザインはユーザーのプロンプトから来るものであり、参照からではありません。
  • 生成された画像をスコアリングするときに、--style-ref(またはキャッシュの内容)を Claude 視覚チェッカー/Gemini 推論チェッカーのサブエージェントに決して渡さないでください — 画像はそれ自体のメリットで判断されなければなりません。

CVPR/ICLR/NeurIPS トップカンファレンススタイルガイド

「CVPRスタイル」が実際に意味するもの:

視覚基準

  • 清潔な白背景 — 装飾パターンやグラデーションはなし(控えめなものは除く)
  • サンセリフフォント — Arial、Helvetica、または Computer Modern。最小14pt
  • 控えめなカラーパレット — 虹色ではなく、3〜5色の調和のとれた色を使用
  • 印刷に適切 — グレースケールでも読めること(多くの査読者は論文を印刷します)
  • プロフェッショナルな枠線 — 細い (2-3px)、無地、派手ではない

レイアウト基準

  • 水平フロー — 左から右がパイプラインの標準
  • 明確なグループ化 — 微妙な背景ボックスを使用して関連モジュールをグループ化
  • 一貫したサイズ — 類似コンポーネントは類似したサイズにする
  • バランスの取れた余白 — 詰め込みすぎず、まばらすぎず

矢印基準(最重要)

  • 太いストローク — 最小4-6px(細い矢印は印刷時に消えます)
  • 明確な矢印ヘッド — 大きく、塗りつぶされた三角形のヘッド
  • 暗い色 — 黒または濃いグレー (#333333); 色付き矢印を避ける
  • ラベル付き — すべての矢印は、何のデータが流れるかを示す必要があります
  • 交差なし — 交差を避けるためにレイアウトを再編成
  • 正しい方向 — 矢印は正しいターゲットを指している必要があります!

視覚的魅力(科研風格 - Professional Academic Style)

目標: 保守的でも派手でもなく、バランスを見つける

✅ あるべき視覚要素:

  • 控えめなグラデーション塗りつぶし — 淡雅なグラデーション塗りつぶし(同色系で明から暗へ)、派手ではない
  • 角丸 — 角丸長方形 (6-10px radius)、モダンだが誇張しすぎない
  • 明確な視覚的階層 — サイズや色の濃淡で階層を区別
  • 一貫した色分け — 統一された配色(3-4の主色)
  • 内部構造 — 大きなモジュール内にサブコンポーネントを表示(例: Encoder内部のlayer構造)
  • プロフェッショナルなタイポグラフィ — 明確なラベル、適切なフォントサイズの階層

✅ 配色提案(学術専門):

  • Inputs: 柔らかい緑系 (#10B981 / #34D399)
  • Encoders: プロフェッショナルな青系 (#2563EB / #3B82F6)
  • Fusion: エレガントな紫系 (#7C3AED / #8B5CF6)
  • Outputs: 暖かいオレンジ系 (#EA580C / #F97316)
  • Arrows: 黒または濃いグレー (#333333 / #1F2937)
  • Background: 純白 (#FFFFFF)、模様なし

❌ 避けるべき過度な装飾:

  • ❌ 虹色配色 (Rainbow color schemes)
  • ❌ 重いドロップシャドウ (Heavy drop shadows)
  • ❌ 3D効果 / 遠近法 (3D effects / perspective)
  • ❌ 過度なグラデーション (Excessive gradients)
  • ❌ クリップアート / 漫画アイコン (Clip art / cartoon icons)
  • ❌ 背景の装飾パターン (Decorative patterns in background)
  • ❌ 発光効果 (Glowing effects)
  • ❌ 多すぎる小さなアイコン (Too many small icons)

✓ 理想的な視覚効果:

  • 一目見て専門的で明確
  • 適度な視覚的魅力があるが、目立ちすぎない
  • CVPR/NeurIPS論文の美的基準に適合
  • 印刷に適切(グレースケールでも明確に識別可能)
  • 注意深くデザインされた学術図表的であり、PPTテンプレートのようではない

避けるべきこと(重要)

  • ❌ 虹色配色(色が多すぎる)
  • ❌ 細くてかろうじて見えるような矢印(矢印は太くなければなりません)
  • ❌ ラベルのない接続
  • ❌ プレーンで退屈な長方形(視覚的な興味を少し加えてください)
  • ❌ 影/グロー/アイコンで過度に装飾された(派手すぎる)
  • ❌ 印刷時に読めない小さなテキスト
  • ❌ 間違った矢印の方向 — これは許容できません!

範囲

図の種類品質例
アーキテクチャ図優れているモデルアーキテクチャ、パイプライン、エンコーダ-デコーダ
手法の図優れている概念図、アルゴリズムフローチャート
概念図良い比較図、分類ツリー

対象外: 統計プロット (/paper-figure を使用)、フォトリアリスティック画像

ワークフロー: すべてのステップを実行する必要があります

ステップ0: 事前チェック

# APIキーをチェック
if [ -z "$GEMINI_API_KEY" ]; then
    echo "エラー: GEMINI_API_KEY が設定されていません"
    echo "キーを取得: https://aistudio.google.com/app/apikey"
    echo "設定: export GEMINI_API_KEY='your-key'"
    exit 1
fi

# 出力ディレクトリを作成
mkdir -p figures/ai_generated

ステップ1: Claudeが図を計画(ここがあなたの役割)

重要: Claudeはまずユーザーのリクエストを解析し、詳細なプロンプトを作成する必要があります。

入力の解析: $ARGUMENTS

Claudeのタスク:

  1. ユーザーがどのような図を望んでいるかを理解する
  2. すべてのコンポーネント、接続、データフローを特定する
  3. Gemini用の詳細で構造化されたプロンプトを作成する
  4. スタイル要件と視覚的魅力の要件を含める

Claudeが生成するプロンプトテンプレート:

Create a PROFESSIONAL, VISUALLY APPEALING publication-quality academic diagram following CVPR/ICLR/NeurIPS standards.

## Visual Style: 科研風格 (Academic Professional Style)
### Target: Balance — not conservative, not flashy

#### DO (should have):
- **Subtle gradients** — 同色系淡雅渐变 (如 #2563EB → #3B82F6), 不是多色炫彩
- **Rounded corners** — 角丸長方形 (6-10px), 现代感
- **Clear visual hierarchy** — 通过大小、深浅区分层次
- **Internal structure** — 大模块内显示子组件结构
- **Consistent color coding** — 统一的3-4色方案
- **Professional polish** — 精致但不夸张

#### DON'T (should not have):
- ❌ Rainbow/multi-color gradients (彩虹渐变)
- ❌ Heavy drop shadows (重阴影)
- ❌ 3D effects / perspective (3D效果)
- ❌ Glowing effects (发光效果)
- ❌ Excessive decorative icons (过多装饰图标)
- ❌ Plain boring rectangles (完全平淡的方块)

#### Ideal Effect:
Like a carefully designed architecture diagram in a top conference paper — professional, clear, with moderate visual appeal

## Figure Type
[Architecture Diagram / Pipeline / Comparison / etc.]

## Components to Include (BE SPECIFIC ABOUT CONTENT)
1. [Component 1]:
   - Label: "[exact text]"
   - Sub-label: "[smaller text below]"
   - Position: [left/center/right, top/middle/bottom]
   - Style: [border color, fill, internal structure]
2. [Component 2]: ...

## Layout
- Direction: [left-to-right / top-to-bottom]
- Spacing: [tight / normal / loose]
- Grouping: [how components should be grouped]

## Connections (BE EXPLICIT ABOUT DIRECTION)
EXACT arrow specifications:
1. [Component A] → [Component B]: Arrow goes FROM A TO B, label it "[data type]"
2. [Component C] → [Component D]: Arrow goes FROM C TO D, label it "[data type]"
...
VERIFY: Each arrow must point to the CORRECT target!

## Style Requirements (CVPR/ICLR/NeurIPS Standard)

### Visual Style
- Color palette: Professional academic colors
  - Inputs: Green (#10B981)
  - Encoders: Blue (#2563EB)
  - Fusion modules: Purple (#7C3AED)
  - Outputs: Orange (#EA580C)
- Font: Sans-serif (Arial/Helvetica), minimum 14pt, bold for labels
- Background: Clean white, no patterns
- Blocks: Rounded rectangles (8-12px radius), subtle gradient fill, colored border (2-3px)
- Subtle shadows for depth effect
- Print-friendly (must work in grayscale)

### CRITICAL: Arrow & Data Flow Requirements
1. **ALL arrows must be VERY THICK** - minimum 5-6px stroke width
2. **ALL arrows must have CLEAR arrowheads** - large, visible triangular heads
3. **ALL arrows must be BLACK or DARK GRAY** - not colored
4. **Label EVERY arrow** with what data flows through it
5. **VERIFY arrow direction** - each arrow MUST point to the correct target
6. **No ambiguous connections** - every arrow should have a clear source and destination

### Logic Clarity Requirements
1. **Data flow must be immediately obvious** - viewer should understand the pipeline
...

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル