关于 paper-illustration-image2
paper-illustration-image2 是用于制作和审阅学术论文插图的技能,面向准备架构图、方法图和概念图的研究者。它由 Claude 规划和审阅,并通过本地 Codex 图像生成桥接生成图像,支持迭代修改与产物验证。
主要功能
- 01规划并优化图表布局
- 02通过 codex-image2 生成栅格图
- 03审查箭头、标签与视觉层级
- 04按论文风格迭代修改图像
- 05整理并验证最终图表产物
适用场景
- 01制作模型架构图
- 02绘制方法或算法流程
- 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
详细介绍
Paper Illustration Image2
每个审核者轮次开始前,请遵循 Selectable Reviewers: 通过规范的辅助解析器,使用
reviewer_route.py解析调用 →.aris/reviewer.json→ 默认 Claude Code(Codex MCP),同时保留 此轮次的等级、新鲜上下文、源文件/图像输入和确定性门控。 下方的 Codex 示例/固定配置仅适用于backend=codex;其他路由使用各自的首次调用/回复约定。保存路由和实际返回的身份; 不可用的选择记为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输出;拒绝 shell/Python 回退方案 -
IMAGE2_HELPER — 规范名称
paper_illustration_image2.py,按shared-references/integration-contract.md§2 解析 (Policy A — 技能本地门控)。Phase 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
- 如果
figures/ai_generated/不存在,则创建该目录。 - 确认请求适合栅格插图:
- 架构图
- 概念方法图
- 工作流示意图
- 除非用户另有要求,否则优先使用英文插图文字。
- 运行:
python3 "$IMAGE2_HELPER" preflight \
--workspace <cwd> \
--json-out figures/ai_generated/preflight.json
- 如果预检结果不是
ok=true,则停止并明确说明。
步骤 1:Claude 规划插图
将用户请求转化为完整明确的图像提示词。包含:
- 插图类型
- 确切的模块/阶段
- 流向
- 要显示的标签
- 数据流箭头
- 风格限制
- 应避免的内容
如果输入是方法说明或论文段落,应先概括成清晰的插图简介,再撰写最终图像提示词。
步骤 2:优化布局
此步骤为必需步骤。渲染前,应将提示词细化为具体的布局方案:
- 确切的模块顺序
- 间距与分组
- 各模块的相对突出程度
- 箭头路径及可能的交叉点
如果可以使用选定的文本审阅路线,可以在此处请其提供简短的第二意见布局评审,但执行者仍应在没有外部评审的情况下完成此步骤。
使用 Codex 进行布局评审,检查:
- 是否缺少组件
- 布局是否令人困惑
- 流程层次是否不清晰
- 箭头方向是否可能含糊或杂乱
步骤 3:风格核验
此步骤同样为必需步骤。渲染前,应根据预期的论文风格检查提示词:
- 配色克制且具有学术风格
- 箭头粗实、颜色深且清晰易读
- 标签简洁,并使用英文,除非用户另有要求
- 插图以灰度显示/打印时仍清晰易读
- 不得加入辉光、彩虹渐变或幻灯片装饰元素
如果可以使用选定的文本审阅路线,可以请其进行简短的纯文本风格审查,但不要因此阻塞流程。
步骤 4:通过 Bridge 生成
调用 mcp__codex-image2__generate_start,并传入:
prompt:最终图像提示词cwd:当前项目根目录或论文工作区outputPath:figures/ai_generated/figure_v1.pngsystem:简短指令,例如Academic paper figure. Prefer crisp English labels.timeoutSeconds:有上限的渲染超时时间,例如180
然后以有限的等待时间调用 mcp__codex-image2__generate_status,直到:
done=true且status=completed,或done=true且status=failed
如果生成失败,应直接报告 Bridge 错误,不要隐瞒。
步骤 5:审查输出
使用严格的检查清单审查生成的图像:
- 是否包含所有主要组件?
- 逻辑流程是否一目了然?
- 标签是否清晰可读?
- 箭头方向是否正确?
- 插图是否达到论文发表要求,而非看起来像幻灯片?
按 1–10 分评分。
Step 6:按需优化
如果评分 < 9,编写有针对性的优化提示词:
- 准确指出问题所在
- 说明需要保留的内容
- 重新生成到
figure_v2.png、figure_v3.png等文件
优化反馈要具体:
增加基因组扫描模块与评分模块之间的间距让脱靶分支更细,并作为次要元素使用更清晰的英文标签:“候选 sgRNA 文库”,而不是“sgRNA 文库 23 bp”
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*}
关键规则
- 绝不跳过 Step 2 或 Step 3;布局和风格检查是必需的。
- 绝不跳过最终视觉审查。
- 绝不要仅仅因为图看起来漂亮,就接受逻辑错误的图。
- 仅将
codex-image2桥接用于原生图像生成。 - 如果桥接表示无法进行原生图像生成,请如实说明。
- 拒绝任何伪装成图像生成的 shell/Python/手动位图回退方案。
- 除非用户要求使用其他语言,否则图中文字使用英文。
- 优先进行 1-3 轮高质量优化,而不是多轮浅层优化。
- 使用具体、可执行的优化反馈,避免含糊的评论。
- 每轮都检查箭头方向、标签清晰度和视觉层级。
- 仅接受达到论文插图水准的图,不接受仅适用于幻灯片的图。
- 始终使用
tools/paper_illustration_image2.py finalize生成最终产物。 - 在宣布成功之前,始终使用
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
模型摘要
| 阶段 | Agent / 工具 | 用途 |
|---|---|---|
| Step 0 | python3 "$IMAGE2_HELPER" preflight | 可观察的激活条件和预检回执 |
| Step 1 | Claude | 解析请求并创建初始图示提示词 |
| Step 2 | Claude(+ 可选的 Codex 评审) | 优化布局、分组、间距和箭头走向 |
| Step 3 | Claude(+ 可选的 Codex 评审) | 在渲染前验证学术视觉风格 |
| Step 4 | mcp__codex-image2__generate_start + generate_status | 通过 Codex app-server 生成原生栅格图像 |
| Step 5 | Claude | 严格进行视觉审查和评分 |
| Step 7 | python3 "$IMAGE2_HELPER" finalize + verify | 生成规范产物和外部验证回执 |