baoyu-article-illustrator

baoyu-article-illustrator

热门

分析文章结构并定位需要配图的位置,基于“类型 × 风格 × 配色”三维体系生成高质量插图。当用户提出“文章配图”、“添加图片”、“生成文章插图”或“为文章配图”等需求时使用。

2.2万Star
2606Fork
更新于 2026/6/18
SKILL.md
只读
名称
baoyu-article-illustrator
描述

分析文章结构并定位需要配图的位置,基于“类型 × 风格 × 配色”三维体系生成高质量插图。当用户提出“文章配图”、“添加图片”、“生成文章插图”或“为文章配图”等需求时使用。

版本
1.117.4

Article Illustrator

分析文章结构、精准定位配图位置,并基于“类型 × 风格 × 配色”的一致性生成插图。

用户交互工具 (User Input Tools)

当本 Skill 需要提示用户进行选择或输入时,请按以下优先级选择交互工具:

  1. 优先使用当前 Agent 运行时提供的内置用户交互工具 — 例如 AskUserQuestionrequest_user_inputclarifyask_user 或任何同等工具。
  2. 后备方案 (Fallback):若不存在此类工具,则输出带序号的纯文本消息,请用户按序号回复每个问题的选项/答案。
  3. 批量交互 (Batching):若工具支持单次调用传入多个问题,请将所有适用问题合并到一次调用中;若仅支持单问题,则按优先级逐个提问。

下文提到的 AskUserQuestion 均属具体示例 — 在其他运行时中请替换为对应的本地等效工具。

生图工具 (Image Generation Tools)

当本 Skill 需要渲染图片时,按以下顺序解析后台生图引擎:

  1. 当前请求覆盖 — 若用户在当前消息中明确指定了生图后台,直接使用该后台。
  2. 已保存的偏好设置 — 若 EXTEND.md 中将 preferred_image_backend 设为了当前可用的后台,则使用该后台。
  3. 自动选择 (Auto-select)(当偏好设为 auto、未设置或绑定的后台不可用时):
    • Codex (imagegen) — 首先检查可用 Skill / 工具列表。如果包含名为 imagegen 的 Skill,说明你当前运行在 Codex 环境中,必须使用它:通过 Skill 工具调用 skill: "imagegen",并传入保存的 prompt 文件内容(以及 Codex imagegen 要求的输出路径和宽高比参数)。Codex imagegen 是该运行时下的官方位图生图后台,优先级高于任何非原生 Skill(如 baoyu-image-gen),除非用户显式绑定了其他 preferred_image_backend
    • 通过 codex exec 使用 Codex (codex-imagegen) — 若当前运行时没有内置 imagegen Skill,但 PATH 中有 codex CLI 且已完成 codex login 登录,则优先通过 baoyu-image-gen --provider codex-cli 路由;若 baoyu-image-gen 不可用,则直接调用随附的封装脚本。详细参数和运行时检测流程请参考 references/codex-imagegen.md — 仅当命中此分支时才加载该文件。
    • Cursor (GenerateImage) — 若运行时暴露了原生 GenerateImage 工具,说明你运行在 Cursor 中,其优先级同样高于非原生 Skill。注意两个硬性限制:(a) 无宽高比参数 — 须在传给 description 的 prompt 文本中明确写明目标宽高比/尺寸;(b) 不接受输出目录 — 会保存到工具管理的临时位置,因此生成后需将文件复制/移动到 Skill 预期的输出路径(例如 outputs/.../NN-xxx.png)。参考图放入 reference_image_paths
    • 其他运行时原生工具 — 若运行时暴露了其他原生生图工具(如 Hermes 的 image_generate),以相同方式使用。
    • 否则,若仅安装了一个非原生后台(如 baoyu-image-gen),则直接使用它。
    • 否则(存在多个非原生后台且无运行时原生工具),询问用户一次 — 与其他初始问题一并批量询问。
  4. 若全部不可用,告知用户并询问下一步操作。

⛔ 严禁使用 SVG、HTML、Canvas 或其他基于代码的渲染方案替代位图生成。 Codex imagegen 的官方说明强调其适用于“输出应当是位图资源而非项目代码或矢量图”的场景。若无法通过步骤 3 解析出位图后台,请降级到步骤 4 询问用户 — 切勿静默输出 SVG、内联 <svg> 标签或用 HTML/CSS 拼凑图形作为替代。即便文章/章节看起来像“图表”,调用本规则的上层 Skill 也已明确判定需要的是位图。

⛔ 严禁通过在已生成的位图上叠加绘制来修复文字。 切勿使用 ImageMagick、Pillow、Canvas、SVG、HTML/CSS、OCR 脚本或任何程序化叠加手段覆盖、重写、擦除、加边框或替换已生成插图中的标签、文案或任何文字。若文字有误或不清晰,请用修正后的 prompt 重新生成、重新绘制(减少或不带图片文字),或让用户选择保留哪张不完美的候选图。

preferred_image_backend: ask 会强制在每次运行时都触发步骤 3 的询问提示,不受当前可用后台影响。用户可通过下文 ## 更改偏好设置 章节修改绑定的后台。

Prompt 文件硬性要求:在调用任何后台之前,必须将每张图片的完整最终 prompt 保存到 prompts/ 目录下的独立文件中(命名规范:NN-{type}-[slug].md)。后台接收 prompt 文件(或其内容);该文件是可复现性记录,也便于在不重新生成 prompt 的情况下切换后台。

上文提到的具体工具名称(imagegenGenerateImageimage_generatebaoyu-image-gen)均为示例 — 请在相同规则下替换为本地等效工具。

批量生成策略 (Batch Generation Policy)

当本次运行的所有 prompt 文件均已保存并校验完毕后,默认开启批量生成。

优先级顺序:

  1. 若所选后台支持原生批量 / 多任务接口,优先使用。每个任务必须保留独立的 prompt 文件、输出路径、宽高比和直接参考图。
  2. 若无原生批量接口但运行时支持并行工具调用,单次最多并发分发 generation_batch_size 张图片。默认值:4。若用户在当前消息中有明确要求(如 --batch-size 4 或“并行4张一起生成”),优先级高于 EXTEND.md
  3. 若既无原生批量接口也不支持并行工具调用,则按顺序串行生成。

规则:

  • 严禁在该批次的所有 prompt 文件落地落盘之前启动首批生成。
  • 失败项重试一次,不要重新生成已成功的项。
  • 不要仅仅为了并行生图而使用 Subagent。Subagent 仅用于独立的 prompt 迭代或创意探索。

确认策略 (Confirmation Policy)

默认行为:生成前必须确认

  • 显式 Skill 调用、文件路径、匹配到的信号/预设以及 EXTEND.md 默认值,均仅作为推荐输入,均不能作为跳过确认授权。
  • 在用户完成步骤 3 的确认之前,不得启动步骤 4 或后续步骤。
  • 仅当当前请求中明确指示跳过确认时方可跳过,例如:“直接生成”、“不用确认”、“跳过确认”、“按默认出图”或等效表达。
  • 若明确跳过了确认,请在生成前下一次面向用户的更新中,告知当前采用的 type / density / style / palette / language / backend。

参考图 (Reference Images)

用户可通过 --ref <files...>、在对话中提供文件路径或直接粘贴图片来提供参考图。参考图用于指导特定插图的风格、配色、构图或主体。

完整的检测、存储与处理规则详见 references/workflow.md(步骤 1.0 保存至 references/NN-ref-{slug}.{ext};步骤 5.3 按每张插图的具体用途 direct | style | palette 进行处理)。当所选后台支持批量输入时,每个 prompt 文件 references: frontmatter 中的 direct 用途条目应同步透传至其批量 payload 中,以便后台直接接收(例如 baoyu-image-gen 支持按任务传入 ref)。

三维体系 (Three Dimensions)

维度 控制内容 示例
Type(类型) 信息结构 infographic, scene, flowchart, comparison, framework, timeline
Style(风格) 渲染画风 notion, warm, minimal, blueprint, watercolor, elegant
Palette(配色) 色彩方案(可选) macaron, warm, neon — 会覆盖风格的默认配色

可自由组合:--type infographic --style vector-illustration --palette macaron

或使用预设:--preset edu-visual → 单个参数一次性指定类型 + 风格 + 配色。详见 风格预设

类型 (Types)

类型 最佳适用场景
infographic 数据、指标、技术原理
scene 叙事、情感表达
flowchart 流程、工作流
comparison 横向对比、方案选型
framework 理论模型、架构图
timeline 历史沿革、演进过程

风格 (Styles)

参见 references/styles.md 查看核心风格、完整画廊以及“类型 × 风格”兼容性矩阵。

工作流 (Workflow)

- [ ] 步骤 1:前置检查(EXTEND.md、参考图、配置)
- [ ] 步骤 2:内容分析
- [ ] 步骤 3:确认设置(AskUserQuestion)
- [ ] 步骤 4:生成大纲
- [ ] 步骤 5:生成图片
- [ ] 步骤 6:收尾总结

步骤 1:前置检查

1.5 加载偏好设置 (EXTEND.md) ⛔ 阻塞项

按以下优先级依次检查 EXTEND.md — 命中首个即可:

优先级 路径 作用域
1 .baoyu-skills/baoyu-article-illustrator/EXTEND.md 项目级别
2 ${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-article-illustrator/EXTEND.md XDG 规范
3 $HOME/.baoyu-skills/baoyu-article-illustrator/EXTEND.md 用户家目录
检查结果 执行动作
已找到 读取、解析并展示配置摘要
未找到 ⛔ 运行 首次初始化引导

完整流程说明:references/workflow.md

步骤 2:内容分析

分析维度 输出内容
内容类型 技术类 / 教程类 / 方法论 / 叙事类
配图目的 信息传达 / 概念可视化 / 意境表达
核心论点 提取 2-5 个核心要点
配图位置 能产生视觉增值的关键位置

重中之重:对于比喻/隐喻 — 需将底层概念可视化,而非字面具象化拼凑。

完整流程说明:references/workflow.md

步骤 3:确认设置 ⚠️

硬性关卡:根据 确认策略,本步骤为必选项 — 在用户在此处确认之前(或在当前请求中明确用“直接生成”等同效表达跳过),不得启动步骤 4 及后续步骤。

单次 AskUserQuestion 提问,最多 4 个问题。问题 1-2 必答;除非已选预设,否则问题 3 必答。

问题 可选项
问题 1:预设或类型 [推荐预设]、[备选预设],或手动指定:infographic, scene, flowchart, comparison, framework, timeline, mixed
问题 2:配图密度 minimal (1-2张), balanced (3-5张), per-section (按章节配图,推荐), rich (6张以上)
问题 3:风格画风 [推荐风格], minimal-flat, sci-fi, hand-drawn, editorial, scene, poster, Other — 若已选预设可跳过
问题 4:色彩配色 Default (采用风格默认色), macaron, warm, neon — 若预设已含配色或已设 preferred_palette 可跳过
问题 5:输出语言 当文章语言与 EXTEND.md 设置不一致时

完整流程说明:references/workflow.md

步骤 4:生成大纲

保存带有 frontmatter(包含 type, density, style, palette, image_count)的 outline.md 文件及各个配图条目:

## 插图 1
**配图位置**: [章节/段落]
**配图目的**: [为何需要配图]
**画面内容**: [具体视觉呈现]
**文件名**: 01-infographic-concept-name.png

完整模板参考:references/workflow.md

步骤 5:生成图片

阻塞项:在启动任何生图操作前,必须先将 Prompt 文件保存落盘。 无论选择哪种生图后台,这都是硬性要求 — Prompt 文件是实现可复现性的基础记录。

  1. 为每张插图按照 references/prompt-construction.md 创建 prompt 文件
  2. 保存至 prompts/NN-{type}-{slug}.md,并带有 YAML frontmatter
  3. Prompt 必须采用特定类型的模板与结构

<!-- truncated for translation batch; full body continues in source -->