mcpField
B
baoyu-cover-image

baoyu-cover-image

github.com/jimliu创意与媒体27.0k32.2k 次安装7 周前更新
代码仓库

关于 baoyu-cover-image

baoyu-cover-image 是一项为文章生成封面图的技能,供需要为内容制作视觉封面的用户使用。它通过类型、配色、渲染方式、文字、情绪和字体等维度配置生成,并支持参考图。

主要功能

  1. 01按多种维度配置封面
  2. 02选择图像类型与配色方案
  3. 03设置文字量、情绪和字体
  4. 04使用参考图引导构图或风格
  5. 05将生成提示词保存为文件

适用场景

  1. 01为文章制作匹配主题的封面
  2. 02为封面选择配色与渲染风格
  3. 03使用参考图指导封面视觉方向
  4. 04保存提示词以记录生成方案

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jimliu/baoyu-skills --skill baoyu-cover-image

安装后在 Claude Code 中输入/baoyu-cover-image确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
auto-selection.md
base-prompt.md
codex-imagegen.md
compatibility.md
style-presets.md
types.md
references/config/
first-time-setup.md
preferences-schema.md
watermark-guide.md
references/dimensions/
font.md
mood.md
text.md
references/palettes/
cool.md
dark.md
duotone.md
earth.md
elegant.md
macaron.md
mono.md
pastel.md
retro.md
vivid.md
warm.md
references/renderings/
chalk.md
digital.md
flat-vector.md
hand-drawn.md
painterly.md
pixel.md
screen-print.md

详细介绍

封面图生成器

通过 5 个维度的自定义选项,为文章生成雅致的封面图。

用户输入工具

当此技能提示用户时,请按以下优先顺序选择工具:

  1. 优先使用当前 Agent 运行时提供的内置用户输入工具,例如 AskUserQuestion、request_user_input、clarify、ask_user 或任何等效工具。
  2. 备用方案:如果没有此类工具,请发送带编号的纯文本消息,并要求用户针对每个问题回复所选编号或答案。
  3. 批量提问:如果工具支持每次调用提出多个问题,请将所有适用问题合并到一次调用中;如果每次只能提出一个问题,请按优先顺序逐一提问。

以下 AskUserQuestion 示例仅供参考;在其他运行时中,请替换为本地对应工具。

图像生成工具

此技能需要生成图像时,请按以下顺序确定后端:

  1. 当前请求覆盖——如果用户在当前消息中指定了后端,请使用该后端。
  2. 已保存的首选项——如果 EXTEND.md 将 preferred_image_backend 设为当前可用的后端,请使用该后端。
  3. 自动选择(首选项为 auto、未设置或固定的后端不可用时):
    • Codex(imagegen)——首先检查可用技能/工具清单。如果其中列出了名为 imagegen 的技能,则说明你正在 Codex 中运行,必须使用该技能:通过 Skill 工具调用,并设置 skill: "imagegen",传入已保存提示词文件的内容(以及 Codex imagegen 自身参数要求的输出路径和宽高比)。Codex imagegen 是该运行时的官方光栅后端,其优先级高于任何非原生技能(例如 baoyu-image-gen),除非用户明确指定了其他 preferred_image_backend。
    • 通过 codex exec 使用 Codex(codex-imagegen)——如果当前运行时未提供原生 imagegen 技能,但 codex CLI 已位于 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),请使用该后端。
    • 否则(存在多个非原生后端且没有运行时原生工具),请只询问用户一次——将此问题与其他初始问题合并提问。
  4. 没有可用后端时,请告知用户并询问如何继续。

⛔ 切勿使用 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、displayclean

自动选择规则: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.mdXDG
3$HOME/.baoyu-skills/baoyu-cover-image/EXTEND.md用户主目录
结果操作
找到加载并显示摘要 → 继续
未找到⛔ 运行首次设置(references/config/first-time-setup.md)→ 保存 → 继续

重要:如果未找到,必须先完成设置,然后才能执行其他步骤或提问。

步骤 1:分析内容
  1. 保存参考图像(如有提供)→ references/workflow/reference-images.md
  2. 保存源内容(如以粘贴方式提供,保存到 source.md)
  3. 分析内容:主题、语气、关键词、视觉隐喻
  4. 深入分析参考图像 ⚠️:提取具体、明确的元素(参见 reference-images.md)
  5. 检测语言:对比源内容、用户输入和 EXTEND.md 偏好设置
  6. 确定输出目录:遵循文件结构规则

⚠️ 参考图像中的人物:

如果参考图像中包含需要出现在封面上的人物:

  • 模型支持 --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: true6 个维度长宽比(除非指定 --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:生成图像
  1. 如果要重新生成,先备份现有的 cover.png
  2. 根据顶部的 ## Image Generation Tools 规则选择后端:使用可用的后端;如果有多个可用后端,只询问用户一次。每个会话中,在首次生成前执行此操作一次。
  3. 调用后端之前,先将完整的最终提示词写入 prompts/01-cover-[slug].md(硬性要求)。
  4. 处理提示词 frontmatter 中的引用:
    • direct 用法 → 通过 --ref 传入(使用支持 ref 的后端)
    • style/palette → 提取特征并追加到提示词中
  5. 生成:使用提示词文件、输出路径和宽高比调用所选后端。
    • codex-imagegen:调用约定见 references/codex-imagegen.md(优先使用 baoyu-image-gen --provider codex-cli 路径、运行时包装器发现、参数说明、stdout 架构和批处理语义)。
    • 原生 Codex imagegen 或其他运行时原生工具 / baoyu-image-gen 技能:遵循上方 ## Image Generation Tools 中的规则。
  6. 失败时:自动重试一次
步骤 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

评论

支持 Markdown