npx skills add ...
npx skills add wanshuiyin/auto-claude-code-research-in-sleep --skill paper-illustration-image2
Generate publication-quality academic illustrations through a local Codex app-server bridge that uses Codex native image generation. This is a separate experimental alternative to `paper-illustration`, intended for Claude Code users who want a GPT-image-style renderer without modifying the original skill.
npx skills add wanshuiyin/auto-claude-code-research-in-sleep --skill paper-illustration-image2
Generate publication-quality paper figures using Claude as the planner/reviewer and a local Codex app-server MCP bridge as the raster renderer.
RENDERER = codex-image2 — Native image generation bridge exposed through local Codex app-server
OPTIONAL_TEXT_CRITIC = spawn_agent — Optional text-only second opinion for layout/style checks
MAX_ITERATIONS = 5 — Maximum refinement rounds
TARGET_SCORE = 9 — Minimum acceptable score (1-10)
OUTPUT_DIR = figures/ai_generated/ — Output directory
TEXT_LANGUAGE = English — Default figure text language unless the user requests otherwise
NATIVE_IMAGE_REQUIREMENT = strict — Accept only native imageGeneration output; reject shell/Python fallbacks
IMAGE2_HELPER — canonical name paper_illustration_image2.py, resolved
per shared-references/integration-contract.md §2
(Policy A — skill-local gate). Phase 3.2 (Arch C) moved the canonical
implementation into skills/paper-illustration-image2/scripts/;
tools/paper_illustration_image2.py remains as an os.execv shim so
legacy resolver layers keep working without a re-install. Resolve via the
Codex-side chain:
All invocations below use python3 "$IMAGE2_HELPER" <subcommand>.
What "CVPR Style" Actually Means:
目标:既不保守也不花哨,找到平衡点
| Figure Type | Quality | Examples |
|---|---|---|
| Architecture diagrams | Excellent | Model architecture, pipeline, encoder-decoder |
| Method illustrations | Excellent | Conceptual diagrams, algorithm flowcharts |
| Conceptual figures | Good | Comparison diagrams, taxonomy trees |
Not for: Statistical plots (use /paper-figure), deterministic vector topology figures (prefer /figure-spec), photo-realistic scenes
Render this checklist explicitly before starting:
figures/ai_generated/ if it does not exist.ok=true, stop and say so clearly.Turn the user request into a fully specified image prompt. Include:
When the input is a method note or a paper section, summarize it first into a clean figure brief before writing the final image prompt.
This step is required. Before rendering, refine the prompt into a concrete layout plan:
If spawn_agent is available, you may ask it for a short second-opinion
layout critique here, but Claude should still complete this step even without
Codex.
Use Codex layout critique for:
This step is also required. Check the prompt against the intended paper style before rendering:
If spawn_agent is available, you may ask it for a short text-only
style audit, but do not block on it.
Call mcp__codex-image2__generate_start with:
prompt: the final image promptcwd: current project root or paper workspaceoutputPath: figures/ai_generated/figure_v1.pngsystem: a short instruction like Academic paper figure. Prefer crisp English labels.timeoutSeconds: a bounded render timeout such as 180Then call mcp__codex-image2__generate_status with bounded waits until:
done=true and status=completed, ordone=true and status=failedIf generation fails, report the bridge error directly instead of hiding it.
Review the generated image with a strict checklist:
Score it from 1-10.
If score < 9, write a targeted refinement prompt:
figure_v2.png, figure_v3.png, etc.Keep refinement feedback concrete:
Increase spacing between genome scan and scoring modulesMake the off-target branch thinner and secondaryUse cleaner English labels: "Candidate sgRNA library", not "sgRNA library 23 bp"When accepted:
figure_final.pnglatex_include.texreview_log.jsonSuggested LaTeX:
codex-image2 bridge only for native image generation.tools/paper_illustration_image2.py finalize to emit the final artifacts.tools/paper_illustration_image2.py verify before claiming success.If rendering succeeded but final artifacts were skipped, repair the integration explicitly:
| Stage | Agent / Tool | Purpose |
|---|---|---|
| Step 0 | python3 "$IMAGE2_HELPER" preflight | Observable activation predicate and preflight receipt |
| Step 1 | Claude | Parse request and create the initial figure prompt |
| Step 2 | Claude (+ optional Codex critique) | Refine layout, grouping, spacing, and arrow routing |
| Step 3 | Claude (+ optional Codex critique) | Verify academic visual style before rendering |
| Step 4 | mcp__codex-image2__generate_start + generate_status | Native raster image generation through Codex app-server |
| Step 5 | Claude | Strict visual review and scoring |
| Step 7 | python3 "$IMAGE2_HELPER" finalize + verify | Emit canonical artifacts and external verification receipt |
┌──────────────────────────────────────────────────────────────────────────┐
│ 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 │
│ │
└──────────────────────────────────────────────────────────────────────────┘