关于 Academic Figure Workflow Orchestrator
一款通过对话从代码仓库或论文材料规划并制作学术配图的 skill。生成图片或交付提示词前,必须经过两次确认。
主要功能
- 01支持仓库和论文两种输入路径
- 02分析结果衔接配图规划
- 03设有两次强制确认
- 04支持经典与柔和风格提示词
- 05可生成图片或交付提示词
适用场景
- 01根据代码仓库规划配图
- 02将论文各章节映射为配图建议
- 03在生成提示词前审核配图方案
- 04无法生成图片时交付提示词
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ azhi-ss/ academic-figure-skills --skill academic-figure-workflow-orchestrator安装后在 Claude Code 中输入/academic-figure-workflow-orchestrator确认已加载。
附带文件references/missing-info-policy.mdreferences/palettes.md
详细介绍
学术配图工作流编排器
角色
对话式配图助手。用户启动此 skill 后,助手会分析输入、与用户对齐 plan,确认后执行完整流程并生成图片(或交付 prompt)。绝不可静默执行完整流程——必须经过两个确认关卡。
共享参考资料:
- 调色板 →
references/palettes.md - 缺失信息 →
references/missing-info-policy.md
会话协议
Phase 0 — 输入检测
根据用户提供的内容确定输入类型:
- 仓库路径/URL → Path A(仓库优先)
- PDF / 论文文本 / 大纲 / 现有配图 → Path B(论文优先)
- 两者皆无 → 只询问一项输入(仓库路径或论文材料)。不要询问其他内容。
Phase 1 — 分析(自动执行,无需确认)
- Path A:读取
../academic-repo-analyzer/SKILL.md,生成 Quick Understanding Doc + Handoff(module_count、domain、figure_types、evidence)。向用户展示不超过 10 行的摘要。 - Path B,输入为 PDF/配图时:先读取
../academic-figure-architecture-extractor/SKILL.md,再读取../academic-figure-paper-analyzer/SKILL.md。Path B,输入为文本时:只读取 paper-analyzer。 - 如果输入不可用(没有仓库,也没有论文),则停止,并根据
references/missing-info-policy.md列出所需的最少材料。
GATE 1 — 配图方案确认(必须)
提供简洁的方案并等待用户回复:
基于分析,建议画这张图:
- 图类型: <controlled type, e.g. Network Architecture>
- 内容: <one sentence, from Handoff figure suggestions>
- 宽高比: <16:9 / 3:2 / 4:3>
- 风格: <classic academic 框线 / pastel airy 柔彩>
- 配色: <palette name + decision branch from Color routing below>
- module_count: <int or "不适用">
回复"确认"继续,或直接说要改哪项(换图类型/换风格/换配色/换素材)。
规则:
- 未获得明确的确认/OK/可以/continue 前,不得越过此关卡。
- 如果用户要求修改,则更新方案、重新展示并再次等待。
- 如果回复是无关闲聊,则视为确认并继续——除非明确要求修改方案。
- Classic 与 pastel 的选择遵循下方的 Style family 表。
- 调色板的选择遵循下方的 Color routing 表。
Phase 2 — 生成规范 + 提示词(自动执行,无需确认)
- Classic → 读取
../academic-figure-prompt/SKILL.md,遵循其 Steps 1–5:生成 JSON spec + 200–400 词的图像提示词。 - Pastel → 读取
../academic-figure-prompt-pastel/SKILL.md:生成分层英文提示词。 - 如果需要颜色专家的意见,且方案中尚未包含,则读取
../academic-figure-color-expert/SKILL.md,生成正式的 Palette Decision。
GATE 2 — 提示词确认(必须)
完整展示最终图像提示词并等待:
这是将要发给生图模型的 prompt:
<full prompt text; for classic, also offer the pasteable JSON spec>
回复"确认"开始生图,或直接说怎么改。
Phase 3 — 图像生成(有条件执行)
按以下顺序检查可用的图像生成后端:
-
gpt-image-generation skill — 如果
~/.omp/agent/skills/gpt-image-generation/scripts/generate.js存在,则运行:node ~/.omp/agent/skills/gpt-image-generation/scripts/generate.js \ --model cpa-gpt-image-2 \ --prompt "<final prompt>" \ --size <from table below> \ --quality hd \ --output /tmp/academic-figure-$(date +%s).png当 stdout 包含
IMAGE_GENERATED_SUCCESS:<path>时视为成功。 -
sensenova MCP — 使用相同的提示词调用
mcp__sensenova_image_generate_image。 -
两者皆不可用 → 不要伪造生成结果。将提示词作为最终输出,并附上:“当前环境无可用生图模型,可直接复制以上 prompt 到 Gemini NanoBanana / Midjourney 使用。”
成功后,嵌入:
API 出错时,原样显示错误 + 提示词。重试次数不得超过一次。
尺寸映射:
| aspect_ratio | gpt-image-2 --size |
|---|---|
| 16:9 | 1792x1024 |
| 3:2 | 1536x1024(回退为 1792x1024) |
| 4:3 | 1344x1024(回退为 1792x1024) |
| 1:1 | 1024x1024 |
回退:如果 cpa-gpt-image-2 返回 404/不支持错误,则使用 --model gpt-image-2 重试一次;如果仍然失败,则使用交付提示词的分支。
入口路径(契约保持不变)
Path A — 仓库优先(代码输入)
用户提供仓库路径或 URL。
| 阶段 | Skill | 输出 |
|---|---|---|
| 分析代码 | repo-analyzer | Quick Understanding Doc + Handoff(module_count、domain、figure_types、evidence) |
| GATE 1 | (此 skill) | 已确认的 Figure Plan |
| 生成规范 | figure-prompt / figure-prompt-pastel | JSON spec + 图像提示词 |
| GATE 2 | (此 skill) | 已确认的提示词 → Phase 3 |
仓库路径特征:
- module_count 来自实际代码结构(决定使用 Nature Blue 还是 Okabe-Ito)
- 适合代码的配图类型:网络架构、模块细节、整体框架
- 不含论文叙述;证据级别根据代码阅读结果分为稀疏/部分/高
路径 B — 论文优先(文档输入)
用户提供 PDF、论文文本、大纲或现有图。
| 阶段 | 技能 | 输出 |
|---|---|---|
| 从 PDF/图像中提取 | architecture-extractor | 提取出的结构 + 重绘参数 |
| 分析论文 | paper-analyzer | Figure Plan(章节 → 图示映射、优先级) |
| GATE 1 | (本技能) | 已确认的 Figure Plan |
| 生成规范 | figure-prompt / figure-prompt-pastel | JSON 规范 + 图像提示词 |
| GATE 2 | (本技能) | 已确认的提示词 → 第 3 阶段 |
论文路径的特点:
- 除非同时提供代码仓库,否则不设置 module_count
- 适合论文的图示类型:总体框架、对比/消融、数据行为、模块细节
- 配色由会议/期刊和领域决定;module_count 可能未知(使用 Okabe-Ito 默认配色)
同时提供代码仓库和论文时
先分析论文(它定义叙事),再用代码仓库补充技术细节。代码仓库中的 module_count 用于配色决策。
同级文件路由
仅在相应阶段运行时读取同级文件:
| 技能 | 时机 |
|---|---|
../academic-repo-analyzer/SKILL.md | 路径 A:代码仓库/代码库输入 |
../academic-figure-paper-analyzer/SKILL.md | 路径 B:论文/章节文本输入 |
../academic-figure-architecture-extractor/SKILL.md | 路径 B:PDF 或现有图像输入 |
../academic-figure-color-expert/SKILL.md | 任一路径,用户需要配色时 |
../academic-figure-prompt/SKILL.md | 任一路径,用户需要经典 JSON 规范时 |
../academic-figure-prompt-pastel/SKILL.md | 任一路径,用户需要柔和/轻盈风格时 |
配色路由(汇合点)
两条路径都会汇合到配色选择,但输入不同:
| 输入 | 决策规则 |
|---|---|
| module_count ≥ 4(来自代码仓库) | Nature Blue 单色配色 |
| module_count < 4 或未知 | Okabe-Ito,或基于场景的配色方案 |
| venue:NeurIPS/ICML/ICLR 经典风格 | ML TopConf 色盲友好配色 |
| venue:NeurIPS/ICML/ICLR 柔和/轻盈风格 | 路由至 figure-prompt-pastel |
| venue:Nature/Science | Okabe-Ito 或 Journal Standard |
| 用户指定配色方案 | 使用该方案,并说明所采用的分支 |
始终说明选择依据的规则,并提供一个备选方案。
先确定风格类别
选择配色方案前,根据用户的用语确定 经典风格还是柔和风格:
| 用户用语 | 风格类别 | 技能 |
|---|---|---|
| box-border、JSON 规范、经典、顶刊、CVPR/Nature | 经典学术风格 | figure-prompt |
| airy、pastel、soft、现代 ML、token flow、ICLR 那种 | 柔和轻盈风格 | figure-prompt-pastel |
交接(延续传递,不要重新叙述)
- 代码仓库路径: 快速理解文档 → 交接(module_count、领域、figure_types、证据)→ 配色决策 → 图示规范
- 论文路径: Figure Plan(类型、数量、优先级、宽高比、venue)→ 配色决策 → 图示规范
停止规则
- 始终在 GATE 1 和 GATE 2 处暂停,等待用户确认。
- 第 3 阶段结束后(图像或提示词已交付),停止。除非用户提出要求,否则不要建议制作更多图示。
- 如果用户只要求分析,则在第 1 阶段后停止(无需经过确认关卡——这些关卡仅用于图示生成流程)。