关于 baoyu-cover-image
baoyu-cover-image 是一项为文章生成封面图的技能,供需要为内容制作视觉封面的用户使用。它通过类型、配色、渲染方式、文字、情绪和字体等维度配置生成,并支持参考图。
主要功能
- 01按多种维度配置封面
- 02选择图像类型与配色方案
- 03设置文字量、情绪和字体
- 04使用参考图引导构图或风格
- 05将生成提示词保存为文件
适用场景
- 01为文章制作匹配主题的封面
- 02为封面选择配色与渲染风格
- 03使用参考图指导封面视觉方向
- 04保存提示词以记录生成方案
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jimliu/ baoyu-skills --skill baoyu-cover-image安装后在 Claude Code 中输入/baoyu-cover-image确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/auto-selection.mdbase-prompt.mdcodex-imagegen.mdcompatibility.mdstyle-presets.mdtypes.mdreferences/config/first-time-setup.mdpreferences-schema.mdwatermark-guide.mdreferences/dimensions/font.mdmood.mdtext.mdreferences/palettes/cool.mddark.mdduotone.mdearth.mdelegant.mdmacaron.mdmono.mdpastel.mdretro.mdvivid.mdwarm.mdreferences/renderings/chalk.mddigital.mdflat-vector.mdhand-drawn.mdpainterly.mdpixel.mdscreen-print.md详细介绍
封面图生成器
通过 5 个维度的自定义选项,为文章生成雅致的封面图。
用户输入工具
当此技能提示用户时,请按以下优先顺序选择工具:
- 优先使用当前 Agent 运行时提供的内置用户输入工具,例如
AskUserQuestion、request_user_input、clarify、ask_user或任何等效工具。 - 备用方案:如果没有此类工具,请发送带编号的纯文本消息,并要求用户针对每个问题回复所选编号或答案。
- 批量提问:如果工具支持每次调用提出多个问题,请将所有适用问题合并到一次调用中;如果每次只能提出一个问题,请按优先顺序逐一提问。
以下 AskUserQuestion 示例仅供参考;在其他运行时中,请替换为本地对应工具。
图像生成工具
此技能需要生成图像时,请按以下顺序确定后端:
- 当前请求覆盖——如果用户在当前消息中指定了后端,请使用该后端。
- 已保存的首选项——如果
EXTEND.md将preferred_image_backend设为当前可用的后端,请使用该后端。 - 自动选择(首选项为
auto、未设置或固定的后端不可用时):- Codex(
imagegen)——首先检查可用技能/工具清单。如果其中列出了名为imagegen的技能,则说明你正在 Codex 中运行,必须使用该技能:通过Skill工具调用,并设置skill: "imagegen",传入已保存提示词文件的内容(以及 Codeximagegen自身参数要求的输出路径和宽高比)。Codeximagegen是该运行时的官方光栅后端,其优先级高于任何非原生技能(例如baoyu-image-gen),除非用户明确指定了其他preferred_image_backend。 - 通过
codex exec使用 Codex(codex-imagegen)——如果当前运行时未提供原生imagegen技能,但codexCLI 已位于PATH中且已登录 Codex,请优先通过baoyu-image-gen --provider codex-cli调用;如果baoyu-image-gen不可用,则直接调用捆绑的封装程序。详细信息、参数和运行时发现流程见 references/codex-imagegen.md——仅在选择此分支时加载该文件。 - Cursor(
GenerateImage)——如果运行时提供原生GenerateImage工具,则说明你正在 Cursor 中运行,其优先级高于任何非原生技能。请注意两个重要限制:(a) 它没有宽高比参数——请在传入description的提示词文本中明确写出目标宽高比/尺寸;(b) 它不接受输出目录——图像会保存到工具管理的位置,因此生成后请将文件复制/移动到此技能预期的输出路径(例如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 绘图替代。即使文章/章节看起来“像示意图”也同样适用:调用此规则的使用方技能已确定需要的是光栅图像。
⛔ 切勿通过在生成的位图上覆盖绘制来修复渲染后的文本。 请勿使用 ImageMagick、Pillow、Canvas、SVG、HTML/CSS、OCR 脚本或任何其他程序化叠加方式,来遮盖、重写、擦除、描边或替换已生成封面图片中的标题/副标题文本。如果文本有误或不清晰,请使用修正后的提示词重新生成,改用文本较少或无标题的变体,或者询问用户要保留哪个不完美的候选版本。
无论是否有可用后端,将 preferred_image_backend: ask 设为 ask 都会强制每次运行时显示步骤 3 的提示。用户可通过下方的 ## Changing Preferences 部分更改固定的后端。
提示词文件要求(强制):调用任何后端之前,先将每张图片的完整最终提示词写入 prompts/ 下的独立文件(命名格式:NN-{type}-[slug].md)。后端接收提示词文件(或其内容);该文件是可复现记录,也让你能够切换后端,而无需重新生成提示词。
上文中的具体工具名称(imagegen、GenerateImage、image_generate、baoyu-image-gen)仅为示例——请按相同规则替换为本地对应项。
确认策略
默认行为:生成前先确认。
- 将明确调用技能、文件路径、匹配的关键词/预设、
EXTEND.md默认值以及任何已记录的自动选择都仅视为建议输入。它们均不授权跳过确认。 - 在用户确认尺寸/宽高比/语言/后端选项之前,不要开始步骤 3 或步骤 4。
- 仅当当前请求明确要求跳过确认时才跳过,例如:
--quick、“直接生成”、“不用确认”、“跳过确认”、“按默认出图”或意思相近的措辞。EXTEND.md中的quick_mode: true视为长期有效的明确弃权——仅当你希望每次运行都跳过步骤 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> | 预设简称(参见 Style Presets) |
--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...> | 用于风格/构图参考的图片 |
五个维度
| 维度 | 取值 | 默认值 |
|---|---|---|
| 类型 | hero、conceptual、typography、metaphor、scene、minimal | 自动 |
| 调色板 | warm、elegant、cool、dark、earth、vivid、pastel、mono、retro、duotone、macaron | 自动 |
| 渲染方式 | flat-vector、hand-drawn、painterly、digital、pixel、chalk、screen-print | 自动 |
| 文本 | none、title-only、title-subtitle、text-rich | 仅标题 |
| 情绪 | subtle、balanced、bold | 平衡 |
| 字体 | clean、handwritten、serif、display | clean |
自动选择规则:references/auto-selection.md
图库
类型:hero、conceptual、typography、metaphor、scene、minimal → 详情:references/types.md
配色方案:warm、elegant、cool、dark、earth、vivid、pastel、mono、retro、duotone、macaron → 详情:references/palettes/
渲染风格:flat-vector、hand-drawn、painterly、digital、pixel、chalk、screen-print → 详情:references/renderings/
文本层级:none(纯视觉)| title-only(默认)| title-subtitle | text-rich(含标签) → 详情:references/dimensions/text.md
情绪层级:subtle(低对比度)| balanced(默认)| bold(高对比度) → 详情:references/dimensions/mood.md
字体: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} # Source files
├── refs/ # Reference images (if provided)
│ ├── ref-01-{slug}.{ext}
│ └── ref-01-{slug}.md # Description file
├── prompts/cover.md # Generation prompt
└── cover.png # Output image
Slug:2-4 个词,使用 kebab-case。发生冲突时:追加 -YYYYMMDD-HHMMSS
工作流
进度清单
Cover Image Progress:
- [ ] Step 0: Check preferences (EXTEND.md) ⛔ BLOCKING
- [ ] Step 1: Analyze content + save refs + determine output dir
- [ ] Step 2: Confirm options (6 dimensions) ⚠️ unless --quick
- [ ] Step 3: Create prompt
- [ ] Step 4: Generate image
- [ ] Step 5: Completion report
流程
Input → [Step 0: Preferences] ─┬─ Found → Continue
└─ Not found → First-Time Setup ⛔ BLOCKING → Save EXTEND.md → Continue
↓
Analyze + Save Refs → [Output Dir] → [Confirm: 6 Dimensions] → Prompt → Generate → Complete
↓
(skip if --quick or all specified)
步骤 0:加载偏好设置 ⛔ 阻塞
按优先级顺序检查 EXTEND.md——找到的第一个文件生效:
| 优先级 | 路径 | 范围 |
|---|---|---|
| 1 | .baoyu-skills/baoyu-cover-image/EXTEND.md | 项目 |
| 2 | ${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-cover-image/EXTEND.md | XDG |
| 3 | $HOME/.baoyu-skills/baoyu-cover-image/EXTEND.md | 用户主目录 |
| 结果 | 操作 |
|---|---|
| 找到 | 加载并显示摘要 → 继续 |
| 未找到 | ⛔ 运行首次设置(references/config/first-time-setup.md)→ 保存 → 继续 |
重要:如果未找到,必须先完成设置,然后才能执行其他步骤或提问。
步骤 1:分析内容
- 保存参考图像(如有提供)→ references/workflow/reference-images.md
- 保存源内容(如以粘贴方式提供,保存到
source.md) - 分析内容:主题、语气、关键词、视觉隐喻
- 深入分析参考图像 ⚠️:提取具体、明确的元素(参见 reference-images.md)
- 检测语言:对比源内容、用户输入和 EXTEND.md 偏好设置
- 确定输出目录:遵循文件结构规则
⚠️ 参考图像中的人物:
如果参考图像中包含需要出现在封面上的人物:
- 模型支持
--ref(默认):将图像复制到refs/,生成时通过--ref传入。无需描述文件——模型可直接识别人脸。 - 模型不支持
--ref(Jimeng、Seedream 3.0):创建refs/ref-NN-{slug}.md,逐个描述人物(头发、眼镜、肤色、服装)。在提示词文本中以 MUST/REQUIRED 指令的形式嵌入描述。
完整决策表请参阅 reference-images.md。
步骤 2:确认选项 ⚠️
硬性关卡:根据确认政策,此步骤为必选项——用户必须在此确认(或在当前请求中通过 --quick / quick_mode: true / 等效措辞明确选择跳过),之后才能开始步骤 3-4。
必须使用 AskUserQuestion 工具,通过交互式选项呈现选择——不得使用纯文本表格。单次 AskUserQuestion 调用最多呈现 4 个问题(类型、配色方案、渲染风格、字体 + 设置)。每个问题先显示推荐选项及理由,再列出其他选项。
完整确认流程和问题格式:references/workflow/confirm-options.md
| 条件 | 跳过项 | 仍需询问 |
|---|---|---|
--quick 或 quick_mode: true | 6 个维度 | 长宽比(除非指定 --aspect) |
已指定全部 6 个维度及 --aspect | 全部 | 无 |
步骤 3:创建提示词
保存到 prompts/cover.md。模板:references/workflow/prompt-template.md
关键——Frontmatter 中的引用:
- 保存到
refs/的文件 → 添加到 frontmatter 的references列表中 - 以文字形式提取的风格(无文件)→ 省略
references,在正文中描述 - 写入前 → 验证:
test -f refs/ref-NN-{slug}.{ext}
正文中的引用元素必须详细说明,以 “MUST”/“REQUIRED” 开头,并说明整合方式。
步骤 4:生成图像
- 如果要重新生成,先备份现有的
cover.png - 根据顶部的
## Image Generation Tools规则选择后端:使用可用的后端;如果有多个可用后端,只询问用户一次。每个会话中,在首次生成前执行此操作一次。 - 调用后端之前,先将完整的最终提示词写入
prompts/01-cover-[slug].md(硬性要求)。 - 处理提示词 frontmatter 中的引用:
direct用法 → 通过--ref传入(使用支持 ref 的后端)style/palette→ 提取特征并追加到提示词中
- 生成:使用提示词文件、输出路径和宽高比调用所选后端。
codex-imagegen:调用约定见 references/codex-imagegen.md(优先使用baoyu-image-gen --provider codex-cli路径、运行时包装器发现、参数说明、stdout 架构和批处理语义)。- 原生 Codex
imagegen或其他运行时原生工具 /baoyu-image-gen技能:遵循上方## Image Generation Tools中的规则。
- 失败时:自动重试一次
步骤 5:完成报告
Cover Generated!
Topic: [topic]
Type: [type] | Palette: [palette] | Rendering: [rendering]
Text: [text] | Mood: [mood] | Font: [font] | Aspect: [ratio]
Title: [title or "visual only"]
Language: [lang] | Watermark: [enabled/disabled]
References: [N images or "extracted style" or "none"]
Location: [directory path]
Files:
✓ source-{slug}.{ext}
✓ prompts/cover.md
✓ cover.png
图像修改
| 操作 | 步骤 |
|---|---|
| 重新生成 | 备份 → 先更新提示词文件 → 重新生成 |
| 更改尺寸 | 备份 → 确认新值 → 更新提示词 → 重新生成 |
文字修正政策:
- 如果标题/副标题拼写错误、乱码、难以辨认或视觉效果不佳,不要用代码修补位图。
- 对于文字修正后的重新生成,创建新的提示词文件和新的输出路径,以便保留有缺陷的候选图进行比较。
- 后期处理仅限于裁剪、调整大小、压缩或格式转换,且不得更改文字或主要构图。
构图原则
- 留白:40-60% 的呼吸空间
- 视觉锚点:主体居中或偏左
- 人物:简化的剪影;禁止使用写实人物
- 标题:使用用户/来源中的确切标题;切勿自行编造
更改偏好设置
EXTEND.md 位于 步骤 0 中注明的路径。可通过以下三种方式更改:
- 直接编辑——打开 EXTEND.md 并更改字段。完整架构:references/config/preferences-schema.md。
- 交互式重新配置——删除 EXTEND.md(或提出“重新配置 baoyu-cover-image 偏好设置”/“重新配置”)。下次运行时将再次触发首次设置。
- 常见的单行修改:
preferred_image_backend: auto——默认;优先使用运行时原生工具,否则回退到唯一已安装的后端;只有存在多个非原生后端时才询问。preferred_image_backend: codex-imagegen——固定使用 Codex 内置功能。preferred_image_backend: baoyu-image-gen——固定使用 baoyu-image-gen 技能。preferred_image_backend: ask——每次运行都确认后端。watermark.enabled: true、preferred_type、preferred_palette、preferred_rendering、default_aspect、quick_mode: true、language——调整自动选择的默认值和确认流程。
References
Dimensions: text.md | mood.md | font.md Palettes: references/palettes/ Renderings: references/renderings/ Types: references/types.md Auto-Selection: references/auto-selection.md Style Presets: references/style-presets.md Compatibility: references/compatibility.md Visual Elements: references/visual-elements.md Workflow: confirm-options.md | prompt-template.md | reference-images.md Config: preferences-schema.md | first-time-setup.md | watermark-guide.md