提供 5 个维度(类型、配色、渲染风格、文字、氛围)的定制选项,融合 11 种配色方案与 7 种渲染风格,为文章生成精致美观的封面图。支持电影级超宽屏 (2.35:1)、宽屏 (16:9) 和正方形 (1:1) 等多种画幅比例。当用户提出“生成封面图”、“制作文章封面”或“做个封面”等需求时调用。
文章封面图生成器 (Cover Image Generator)
支持 5 维定制,为文章生成精致美观的封面图。
用户输入工具
当本 Skill 需要向用户发起提示或提问时,请按以下优先级顺序选择工具:
- 优先使用内置的用户输入工具:优先使用当前 Agent 运行时暴露的内置交互工具,例如
AskUserQuestion、request_user_input、clarify、ask_user或任何同等工具。 - 降级方案(Fallback):若不存在此类工具,则输出带编号的纯文本消息,引导用户回复对应序号或答案。
- 批量提问(Batching):若工具支持单次调用传入多个问题,请将所有适用问题合并至同一次调用中;若仅支持单问题,则按优先级依次提问。
下文提到的 AskUserQuestion 均为示例,在其他运行时中请替换为对应的本地工具。
图像生成工具
当本 Skill 需要渲染图片时,请按以下顺序选择后端:
- 当前请求覆盖 —— 若用户在当前消息中明确指定了某个后端,直接使用该后端。
- 保存的偏好设置 —— 若
EXTEND.md中配置的preferred_image_backend对应后端当前可用,则优先使用。 - 自动选择(当偏好设置为
auto、未设置或绑定的后端不可用时):- Codex (
imagegen) —— 首先检查可用 Skill / 工具列表。如果列表中包含名为imagegen的 Skill,说明你正处于 Codex 环境中,此时必须使用它:通过Skill工具调用(指定skill: "imagegen"),传入已保存 Prompt 文件的内容(以及 Codeximagegen参数要求的输出路径和宽高比)。Codeximagegen是该运行时官方的位图后端,其优先级高于任何非原生 Skill(如baoyu-image-gen),除非用户已显式绑定了其他preferred_image_backend。 - 通过
codex exec的 Codex (codex-imagegen) —— 若当前运行时没有暴露原生imagegenSkill,但PATH中存在codexCLI 且已处于登录状态(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),直接使用该后端。 - 否则(存在多个非原生后端且无原生工具),向用户询问一次 —— 可与其他初始问题合并批量提问。
- Codex (
- 若无可用后端,告知用户并询问后续处理方式。
⛔ 严禁使用 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 的情况下切换后端。
上文列举的具体工具名称(imagegen、GenerateImage、image_generate、baoyu-image-gen)均为示例,在同一规则下请替换为对应的本地工具。
确认策略
默认行为:生成前必须确认。
- 请将显式 Skill 调用、文件路径、匹配的关键词/预设、
EXTEND.md默认值以及任何文档化的自动选择规则,仅视为推荐参考输入。其中任何一项都不能作为跳过确认步骤的授权。 - 在用户确认维度、宽高比、语言及后端选择之前,严禁启动步骤 3 或步骤 4。
- 仅当当前请求明确要求跳过确认时方可跳过,例如包含:
--quick、“直接生成”、“不用确认”、“跳过确认”、“按默认出图”或类似表述。EXTEND.md中的quick_mode: true视为常驻的显式选择退出(opt-out)——仅在希望每次运行都自动跳过步骤 2 时才需配置。 - 若显式跳过了确认,在生成前的下一次用户提示中,必须明确列出当前采用的维度、宽高比、语言与后端设置。
选项
| 选项 | 说明 |
|---|---|
--type <name> |
hero(焦点/主视觉), conceptual(概念化), typography(排版/纯文字), metaphor(隐喻), scene(场景), minimal(极简) |
--palette <name> |
warm(暖色), elegant(优雅), cool(冷色), dark(暗黑), earth(大地色), vivid(鲜艳), pastel(粉彩/柔和), mono(单色), retro(复古), duotone(双色调), macaron(马卡龙) |
--rendering <name> |
flat-vector(扁平矢量), hand-drawn(手绘), painterly(绘画/油画感), digital(数字艺术), pixel(像素), chalk(粉笔), screen-print(丝网印刷) |
--style <name> |
风格预设快捷方式(详见 风格预设) |
--text <level> |
none(无文字), title-only(仅标题), title-subtitle(标题+副标题), text-rich(丰富文本) |
--mood <level> |
subtle(克制/低对比), balanced(平衡), bold(张扬/高对比) |
--font <name> |
clean(无衬线/干净), handwritten(手写), serif(衬线), display(艺术/装饰体) |
--aspect <ratio> |
16:9(默认), 2.35:1, 4:3, 3:2, 1:1, 3:4 |
--lang <code> |
标题语言(en, zh, ja 等) |
--no-title |
--text none 的别名 |
--quick |
跳过确认,使用自动选择 |
--ref <files...> |
用于构图/风格参考的图片 |
5 个维度
| 维度 | 可选值 | 默认值 |
|---|---|---|
| 类型 (Type) | hero, conceptual, typography, metaphor, scene, minimal | auto |
| 配色 (Palette) | warm, elegant, cool, dark, earth, vivid, pastel, mono, retro, duotone, macaron | auto |
| 渲染风格 (Rendering) | flat-vector, hand-drawn, painterly, digital, pixel, chalk, screen-print | auto |
| 文字 (Text) | none, title-only, title-subtitle, text-rich | title-only |
| 氛围 (Mood) | subtle, balanced, bold | balanced |
| 字体 (Font) | clean, handwritten, serif, display | clean |
自动选择规则详见:references/auto-selection.md
图库指南
类型 (Types):hero, conceptual, typography, metaphor, scene, minimal
→ 详解:references/types.md
配色 (Palettes):warm, elegant, cool, dark, earth, vivid, pastel, mono, retro, duotone, macaron
→ 详解:references/palettes/
渲染风格 (Renderings):flat-vector, hand-drawn, painterly, digital, pixel, chalk, screen-print
→ 详解:references/renderings/
文字层级 (Text Levels):none(纯视觉无字)| title-only(默认,仅标题)| title-subtitle(标题+副标题)| text-rich(带标签等丰富文本)
→ 详解:references/dimensions/text.md
氛围强度 (Mood Levels):subtle(克制/低对比度)| balanced(默认,平衡)| bold(张扬/高对比度)
→ 详解:references/dimensions/mood.md
字体风格 (Fonts):clean(无衬线/干练)| handwritten(手写体)| serif(衬线体)| display(艺术/粗体装饰)
→ 详解:references/dimensions/font.md
文件结构
根据偏好配置 default_output_dir 决定输出目录:
same-dir:{article-dir}/imgs-subdir:{article-dir}/imgs/independent(默认):cover-image/{topic-slug}/
<output-dir>/
├── source-{slug}.{ext} # 原始内容文件
├── refs/ # 参考图片(若提供)
│ ├── ref-01-{slug}.{ext}
│ └── ref-01-{slug}.md # 描述文件
├── prompts/cover.md # 生成用的 Prompt 记录
└── cover.png # 最终生成的封面图
Slug 命名规范:2-4 个英文单词,使用短横线分隔(kebab-case)。若存在冲突,追加 -YYYYMMDD-HHMMSS 时间戳。
工作流程
进度检查清单
封面图生成进度:
- [ ] 步骤 0:检查偏好设置 (EXTEND.md) ⛔ 阻塞性步骤
- [ ] 步骤 1:分析内容 + 保存参考图 + 确定输出目录
- [ ] 步骤 2:确认选项 (6 个维度) ⚠️ 除非指定了 --quick
- [ ] 步骤 3:构建 Prompt
- [ ] 步骤 4:生成图片
- [ ] 步骤 5:完成报告
流程图
输入 → [步骤 0: 偏好设置] ─┬─ 已找到 → 继续
└─ 未找到 → 首次初始化设置 ⛔ 阻塞 → 保存 EXTEND.md → 继续
↓
分析 + 保存参考图 → [确定输出目录] → [确认: 6维选项] → 构建 Prompt → 生成图片 → 完成
↓
(若带 --quick 或已全部指定则跳过)
步骤 0:加载偏好设置 ⛔ 阻塞步骤
按优先级顺序检查 EXTEND.md —— 命中第一个即可:
| 优先级 | 路径 | 作用域 |
|---|---|---|
| 1 | .baoyu-skills/baoyu-cover-image/EXTEND.md |
项目 (Project) |
| 2 | ${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-cover-image/EXTEND.md |
XDG 配置目录 |
| 3 | $HOME/.baoyu-skills/baoyu-cover-image/EXTEND.md |
用户家目录 (User home) |
| 检查结果 | 处理动作 |
|---|---|
| 已找到 | 加载配置并展示摘要 → 继续 |
| 未找到 | ⛔ 运行首次初始化设置(详见 references/config/first-time-setup.md)→ 保存配置 → 继续 |
关键要求:若未找到配置文件,必须在执行任何其他步骤或提问之前完成初始化设置。
步骤 1:分析内容
- 保存参考图片(若有提供)→ references/workflow/reference-images.md
- 保存原始内容(若为粘贴文本,保存至
source.md) - 分析内容:主题、基调、关键词、视觉隐喻
- 深度分析参考图 ⚠️:提取具体明确的视觉元素(详见 reference-images.md)
- 检测语言:综合对比源码、用户输入及 EXTEND.md 偏好设置
- 确定输出目录:遵循文件结构规则
⚠️ 参考图中的人物处理:
若参考图包含需要体现在封面上的人物:
- 模型支持
--ref(默认):将图片复制到refs/,生成时通过--ref传入。无需创建描述文件 —— 模型可直接识别人脸。 - 模型不支持
--ref(如即梦、Seedream 3.0 等):创建refs/ref-NN-{slug}.md文件,详细描写角色特征(发型、眼镜、肤色、穿搭等)。并在 Prompt 文本中作为“MUST/REQUIRED”(强制要求)指令嵌入。
完整决策表详见 reference-images.md。
步骤 2:确认选项 ⚠️
硬性卡口:根据确认策略,本步骤为强制流程 —— 在用户确认前,绝对无法开启步骤 3 和步骤 4。






