mcpField
P
paper-illustration-image2

paper-illustration-image2

github.com/wanshuiyinクリエイティブ・メディア18.2k446 回インストール4 日前に更新
リポジトリ

paper-illustration-image2 について

paper-illustration-image2 は、論文向けのアーキテクチャ図、手法図、概念図を作成・レビューするスキルです。Claude が計画とレビューを行い、ローカルの Codex 画像生成ブリッジで画像を生成し、反復修正と成果物の検証を行います。

主な機能

  1. 01図のレイアウト計画と最適化
  2. 02codex-image2 によるラスター画像生成
  3. 03矢印、ラベル、視覚的階層の確認
  4. 04論文向けスタイルに沿った修正
  5. 05図の成果物の確定と検証

活用シーン

  1. 01モデルアーキテクチャ図の作成
  2. 02手法やアルゴリズムのフロー図の作成
  3. 03概念比較図の作成

MCP 対応

ローカルの Codex app-server MCP ブリッジである codex-image2 を使い、ネイティブ画像生成を行います。任意の Codex MCP ツールで、テキストによるレイアウトやスタイルの批評も利用できます。

インストール

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

$npx skills add https://github.com/wanshuiyin/auto-claude-code-research-in-sleep --skill paper-illustration-image2

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

同梱ファイルscripts/paper_illustration_image2.py

詳細

論文用イラスト画像2

各レビュアーのスロットの前に、選択可能なレビュアーに従ってください: reviewer_route.py を使い、標準ヘルパーリゾルバーを通じて呼び出しを解決 → .aris/reviewer.json → Claude Code のデフォルト(Codex MCP)の順に確認し、この スロットのティア、新しいコンテキスト、ソース/画像入力、決定論的なゲートを維持します。 以下の Codex の例/ピン留め設定は backend=codex の場合にのみ適用されます。他のルートでは、それぞれの初回呼び出し/返信の契約を使用します。ルートと実際に返された ID を保存してください。 選択したものが利用できない場合は REVIEW_UNAVAILABLE とします。実際のファミリー/完了状況/スコープに基づいて受け入れを判定します。 呼び出し時のレビュアー/モデル/effort の上書き設定は、レビュアーを使用する子プロセスに引き継いでください。生成ワーカーに変更はありません。

Claude をプランナー/レビュアーとして、ローカルの Codex app-server MCP ブリッジをラスター描画に使用し、論文掲載に適した高品質の図を生成します。

中核となる設計理念

┌──────────────────────────────────────────────────────────────────────────┐
│                    MULTI-STAGE ITERATIVE WORKFLOW                        │
├──────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│   User Request                                                           │
│       │                                                                  │
│       ▼                                                                  │
│   ┌─────────────┐                                                        │
│   │   Claude    │ ◄─── Step 1: Parse request, create initial prompt     │
│   │  (Planner)  │      - Extract components, labels, and data flow       │
│   │             │      - Write a paper-ready figure brief                │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │Claude/Codex │ ◄─── Step 2: Optimize layout description               │
│   │   Layout    │      - Refine component positioning                    │
│   │   Review    │      - Optimize spacing and grouping                   │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │Claude/Codex │ ◄─── Step 3: CVPR/NeurIPS style verification           │
│   │   Style     │      - Check palette, arrows, and label standards      │
│   │   Check     │      - Tighten the prompt before rendering             │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │ codex-image2│ ◄─── Step 4: Native image generation via bridge        │
│   │ MCP bridge  │      - Call generate_start / generate_status           │
│   │ + app-server│      - Accept only native imageGeneration output       │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   ┌─────────────┐                                                        │
│   │   Claude    │ ◄─── Step 5: STRICT visual review + SCORE (1-10)      │
│   │  (Reviewer) │      - Verify logic, labels, arrows, and aesthetics    │
│   │   STRICT!   │      - Reject unclear or non-paper-ready figures       │
│   └──────┬──────┘                                                        │
│          │                                                               │
│          ▼                                                               │
│   Score ≥ 9? ──YES──► Accept & Output                                    │
│          │                                                               │
│          NO                                                              │
│          │                                                               │
│          ▼                                                               │
│   Generate SPECIFIC improvement feedback ──► Loop back to Step 2        │
│                                                                          │
└──────────────────────────────────────────────────────────────────────────┘

定数

  • RENDERER = codex-image2 — ローカルの Codex app-server を通じて公開されるネイティブ画像生成ブリッジ

  • OPTIONAL_TEXT_CRITIC = mcp__codex__codex — レイアウト/スタイルの確認に使用する任意のテキスト専用セカンドオピニオン

  • MAX_ITERATIONS = 5 — 最大改善ラウンド数

  • TARGET_SCORE = 9 — 許容可能な最低スコア(1~10)

  • OUTPUT_DIR = figures/ai_generated/ — 出力ディレクトリ

  • TEXT_LANGUAGE = English — ユーザーから別の指定がない場合の図中文字のデフォルト言語

  • NATIVE_IMAGE_REQUIREMENT = strict — ネイティブの imageGeneration 出力のみを受け入れ、シェル/Python によるフォールバックは拒否します

  • IMAGE2_HELPER — 標準名は paper_illustration_image2.py です。 shared-references/integration-contract.md §2 (ポリシーA — スキルローカルゲート)に従って解決します。フェーズ3.2(Arch C)で標準実装を skills/paper-illustration-image2/scripts/ に移動しました。 tools/paper_illustration_image2.py は os.execv シムとして残されており、 再インストールなしで従来のリゾルバーレイヤーが引き続き機能します。次のように解決してください:

    # Layer 0: self-contained (CC 1.0+ exposes $CLAUDE_SKILL_DIR).
    IMAGE2_HELPER=""
    if [ -n "${CLAUDE_SKILL_DIR:-}" ] && [ -f "$CLAUDE_SKILL_DIR/scripts/paper_illustration_image2.py" ]; then
      IMAGE2_HELPER="$CLAUDE_SKILL_DIR/scripts/paper_illustration_image2.py"
    fi
    # Layers 1-4: shared-runtime chain via shim at tools/paper_illustration_image2.py.
    if [ -z "$IMAGE2_HELPER" ]; then
      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
      IMAGE2_HELPER=".aris/tools/paper_illustration_image2.py"
      [ -f "$IMAGE2_HELPER" ] || IMAGE2_HELPER="tools/paper_illustration_image2.py"
      [ -f "$IMAGE2_HELPER" ] || { [ -n "${ARIS_REPO:-}" ] && IMAGE2_HELPER="$ARIS_REPO/tools/paper_illustration_image2.py"; }
      [ -f "$IMAGE2_HELPER" ] || IMAGE2_HELPER=""
    fi
    [ -z "$IMAGE2_HELPER" ] && {
      echo "ERROR: paper_illustration_image2.py not resolved (layer 0: \$CLAUDE_SKILL_DIR/scripts/; layers 1-4: .aris/tools/, tools/, \$ARIS_REPO/tools/, \$ARIS_REPO/tools/ via ~/.aris/repo)." >&2
      echo "       /paper-illustration-image2 cannot proceed. Fix: rerun bash tools/install_aris.sh or smart_update.sh (refreshes ~/.aris/repo), or copy the canonical script from \$ARIS_REPO/skills/paper-illustration-image2/scripts/." >&2
      exit 1
    }
    

    以下のすべての呼び出しでは python3 "$IMAGE2_HELPER" <subcommand> を使用します。

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

「CVPR スタイル」の実際の意味:

ビジュアル基準
  • すっきりとした白い背景 — 非常に控えめなものを除き、装飾的なパターンやグラデーションは使用しません
  • サンセリフフォント — Arial、Helvetica、または論文向けの同様に読みやすい書体を使用します
  • 控えめなカラーパレット — 虹色ではなく、調和の取れた3~5色を使用します
  • 印刷への配慮 — グレースケールでも内容が理解できる必要があります
  • プロフェッショナルな枠線 — 細めから中程度の太さで、すっきりと統一感のある枠線を使用します
レイアウト基準
  • 水平方向の流れ — パイプラインでは左から右を標準とします
  • 明確なグループ分け — 関連するモジュールは、余白や控えめなグループ枠を使ってまとめます
  • サイズの一貫性 — 類似するコンポーネントのサイズを揃えます
  • バランスの取れた余白 — 窮屈すぎるレイアウトも、余白が多すぎるレイアウトも避けます
矢印の基準(最重要)
  • 太い線 — 論文に掲載する際に縮小しても、矢印がはっきり見える必要があります
  • 明確な矢印の先端 — 大きく、ひと目で分かる矢印の先端を使用します
  • 暗い色 — 黒または濃いグレーの矢印を優先します
  • ラベル付き — 重要な矢印には、何が流れているのかを示します
  • 交差なし — 可能な限り、図を再構成して交差を避けます
  • 正しい方向 — 矢印は正しい対象を指す必要があります
見た目の魅力(アカデミックでプロフェッショナルなスタイル)

目標:保守的すぎず、派手すぎず、バランスを取ります

✅ 取り入れる要素
  • 控えめなグラデーション — 同系色の穏やかなグラデーションは使用できます
  • 角丸 — 現代的でありながら控えめな角丸ブロックを使用します
  • 明確な階層 — メインモジュールを大きく、サブモジュールを小さくします
  • 一貫した色分け — モジュールの種類と色の対応を統一します
  • プロフェッショナルなタイポグラフィ — サイズの階層が読み取りやすい、すっきりとしたラベルを使用します
❌ 避ける要素
  • ❌ 虹色のグラデーション
  • ❌ 強いドロップシャドウ
  • ❌ 3Dの遠近感効果
  • ❌ 発光効果
  • ❌ 装飾的なクリップアートアイコン
  • ❌ 論文向けではなく、派手な印象を与えるスライド資料風のスタイル
✓ 理想的な仕上がり
  • 意図が伝わり、プロフェッショナルで、すぐに読み取れます
  • 装飾的になりすぎず、適度な視覚的魅力があります
  • 一流の学会論文の図としてふさわしい印象です
  • PDF の拡大・縮小やグレースケール印刷でも判読できます
避けるべきこと(重要)
  • ❌ 細すぎる、糸のような矢印
  • ❌ ラベルがない、または曖昧な接続
  • ❌ 小さくて読めないテキスト
  • ❌ 階層がなく、単調な箱の羅列
  • ❌ 影や光彩、アイコンで過剰に装飾された図
  • ❌ 矢印の向きが間違っている

対象範囲

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

対象外: 統計プロット(/paper-figure を使用)、決定論的なベクタートポロジー図(/figure-spec を推奨)、フォトリアリスティックなシーン

ワークフロー:すべての手順を必ず実行

ステップ 0:事前確認

開始前に、このチェックリストを明示してください。

📋 paper-illustration-image2 integration checklist:
   [ ] 1. python3 "$IMAGE2_HELPER" preflight --workspace <cwd> --json-out figures/ai_generated/preflight.json
   [ ] 2. Confirm preflight JSON says ok=true before rendering
   [ ] 3. Render via mcp__codex-image2__generate_start + generate_status
   [ ] 4. Finalize via python3 "$IMAGE2_HELPER" finalize --workspace <cwd> --best-image <best_png>
   [ ] 5. Verify artifacts via python3 "$IMAGE2_HELPER" verify --workspace <cwd> --json-out figures/ai_generated/verify.json
  1. figures/ai_generated/ が存在しない場合は作成します。
  2. 依頼がラスターイラストに適していることを確認します。
    • アーキテクチャ図
    • 概念的な手法の図
    • ワークフローの図解
  3. ユーザーから別の指定がない限り、図中のテキストは英語にします。
  4. 次を実行します。
python3 "$IMAGE2_HELPER" preflight \
  --workspace <cwd> \
  --json-out figures/ai_generated/preflight.json
  1. 事前確認の結果が ok=true でない場合は、停止してその旨を明確に伝えます。

ステップ 1:Claude が図を計画する

ユーザーの依頼を詳細に指定した画像プロンプトにまとめます。次の内容を含めます。

  • 図の種類
  • 正確なモジュール/段階
  • フローの方向
  • 表示するラベル
  • データフローの矢印
  • スタイル上の制約
  • 避けるべき要素

入力が手法のメモや論文のセクションの場合は、最終的な画像プロンプトを書く前に、まず内容を整理して簡潔な図の概要にまとめます。

ステップ 2:レイアウトの最適化

この手順は必須です。レンダリングの前に、プロンプトを具体的なレイアウト計画へと磨き上げます。

  • モジュールの正確な順序
  • 間隔とグループ分け
  • 各モジュールの相対的な強調度
  • 矢印の経路と衝突しそうな箇所

選択したテキストレビューの経路が利用可能な場合は、ここで短いレイアウトのセカンドオピニオンを求めてもかまいません。ただし、実行者は外部の批評者に頼らず、この手順を完了する必要があります。

次の点については Codex にレイアウトの批評を依頼します。

  • コンポーネントの不足
  • わかりにくいレイアウト
  • フローの階層が不明瞭
  • 矢印の向きが曖昧、またはレイアウトが煩雑になる可能性

ステップ 3:スタイルの確認

この手順も必須です。レンダリングの前に、意図した論文のスタイルに沿っているかプロンプトを確認します。

  • 配色が抑制的で学術的である
  • 矢印が太く、濃く、読みやすい
  • ユーザーから別の指定がない限り、ラベルは簡潔な英語である
  • グレースケールや印刷でも図が明瞭に読める
  • 光彩、虹色のグラデーション、スライド資料風の装飾が紛れ込んでいない

選択したテキストレビューの経路が利用可能な場合は、テキストのみの短いスタイル監査を依頼してもかまいませんが、その完了を待って処理を止めないでください。

ステップ 4:ブリッジ経由で生成

mcp__codex-image2__generate_start を次の内容で呼び出します。

  • prompt:最終的な画像プロンプト
  • cwd:現在のプロジェクトルートまたは論文のワークスペース
  • outputPath:figures/ai_generated/figure_v1.png
  • system:Academic paper figure. Prefer crisp English labels. のような短い指示
  • timeoutSeconds:180 のように上限を設定したレンダリングのタイムアウト

続いて mcp__codex-image2__generate_status を、次のいずれかになるまで、待機時間に上限を設けて呼び出します。

  • done=true かつ status=completed
  • done=true かつ status=failed

生成に失敗した場合は、ブリッジのエラーを隠さず、そのまま報告します。

ステップ 5:出力を確認

生成した画像を、次の厳格なチェックリストに沿って確認します。

  • 主要なコンポーネントがすべて含まれているか
  • 論理的なフローが明確か
  • ラベルが読みやすいか
  • 矢印の向きが正しいか
  • スライド資料風ではなく、論文に掲載できる仕上がりか

1〜10 点で評価します。

Step 6: 必要に応じて調整する

スコアが 9 未満の場合は、対象を絞った調整プロンプトを作成します。

  • 問題点を具体的に伝える
  • 維持する要素を伝える
  • figure_v2.png、figure_v3.png などに再生成する

調整のフィードバックは具体的にします。

  • ゲノムスキャンとスコアリングのモジュール間の余白を広げる
  • オフターゲットの分岐を細くし、補助的に見せる
  • 英語のラベルをわかりやすくする:「sgRNA library 23 bp」ではなく「Candidate sgRNA library」

Step 7: 最終化して検証する

承認されたら:

  • 正規のヘルパーを実行して、最適な画像を figure_final.png に昇格させる
  • latex_include.tex をヘルパーに生成させる
  • review_log.json をヘルパーに生成させる
  • 成功を報告する前に、ヘルパーによる検証を実行する
python3 "$IMAGE2_HELPER" finalize \
  --workspace <cwd> \
  --best-image figures/ai_generated/figure_vN.png \
  --score 9 \
  --review-summary "Accepted after strict review; labels and arrows are paper-ready."

python3 "$IMAGE2_HELPER" verify \
  --workspace <cwd> \
  --json-out figures/ai_generated/verify.json

LaTeX の例:

\begin{figure*}[t]
    \centering
    \includegraphics[width=0.95\textwidth]{figures/ai_generated/figure_final.png}
    \caption{[Replace with a paper-ready caption].}
    \label{fig:[replace-me]}
\end{figure*}

主なルール

  1. Step 2 または Step 3 を省略しないでください。レイアウトとスタイルの確認は必須です。
  2. 最終的な目視確認を省略しないでください。
  3. 見栄えがよいという理由だけで、論理的に誤った図を承認しないでください。
  4. codex-image2 ブリッジは、ネイティブ画像生成にのみ使用してください。
  5. ブリッジがネイティブ画像生成を利用できないと通知した場合は、その事実を正直に伝えてください。
  6. 画像生成を装ったシェル/Python/手動によるビットマップの代替手段は拒否してください。
  7. ユーザーが別の言語を指定していない限り、図中のテキストは英語にしてください。
  8. 浅い調整を何度も繰り返すより、質の高い調整を 1~3 回行うことを優先してください。
  9. 曖昧なコメントではなく、具体的で実行可能な調整フィードバックを使用してください。
  10. 毎回、矢印の向き、ラベルの明確さ、視覚的な階層を確認してください。
  11. スライド向けではなく、論文に掲載できる品質の図だけを承認してください。
  12. 最終成果物を出力する際は、必ず tools/paper_illustration_image2.py finalize を使用してください。
  13. 成功を報告する前に、必ず tools/paper_illustration_image2.py verify を使用してください。

修復手順

レンダリングには成功したものの、最終成果物の生成が省略されていた場合は、統合を明示的に修復します。

python3 "$IMAGE2_HELPER" finalize \
  --workspace <cwd> \
  --best-image figures/ai_generated/figure_vN.png

python3 "$IMAGE2_HELPER" verify \
  --workspace <cwd> \
  --json-out figures/ai_generated/verify.json

出力形式

figures/ai_generated/
├── preflight.json         # Helper preflight receipt
├── figure_v1.png          # Iteration 1
├── figure_v2.png          # Iteration 2
├── figure_v3.png          # Iteration 3
├── figure_final.png       # Accepted version (copy of best, score ≥ 9)
├── latex_include.tex      # LaTeX snippet
├── review_log.json        # Review notes and refinement history
└── verify.json            # Helper verification diagnostic

モデルの概要

ステージエージェント/ツール目的
Step 0python3 "$IMAGE2_HELPER" preflight有効化の条件と事前確認の結果を可視化する
Step 1Claudeリクエストを解析し、初期の図のプロンプトを作成する
Step 2Claude(+任意の Codex による批評)レイアウト、グループ化、余白、矢印の経路を調整する
Step 3Claude(+任意の Codex による批評)レンダリング前に学術的な視覚スタイルを確認する
Step 4mcp__codex-image2__generate_start + generate_statusCodex app-server を通じてネイティブのラスター画像を生成する
Step 5Claude厳密な目視確認と採点を行う
Step 7python3 "$IMAGE2_HELPER" finalize + verify正規の成果物と外部検証の結果を出力する

コメント