Seo Keyword Researcher
自动分析关键词并生成完整文章策划简报,支持竞品分析与结构建议。
支持多维度自定义的AI文章封面图生成工具,可选风格、配色、文字等。
openclaw skills install @jimliu/baoyu-cover-image命令、参数、文件名以原文为准
为文章生成优雅的封面图像,支持五维自定义。
当此技能向用户提问时,请遵循以下工具选择规则(优先级从高到低):
AskUserQuestion、request_user_input、clarify、ask_user 或其他等效工具。以下 AskUserQuestion 的引用仅为示例 — 在其他运行时中请替换为本地等效工具。
当此技能需要渲染图像时,请按以下顺序确定后端:
EXTEND.md 中设置了 preferred_image_backend,且该后端当前可用,则使用它。auto、未设置或固定后端不可用时): - **Codex (imagegen)** — 首先检查可用技能/工具清单。若存在名为 imagegen 的技能,说明你正在 Codex 环境中运行,必须使用它:通过 Skill 工具调用,设置 skill: "imagegen",传入保存的提示文件内容(以及输出路径和宽高比,依据 Codex imagegen 自身参数)。Codex imagegen 是该运行时中的官方位图后端,其优先级高于任何非原生技能(如 baoyu-image-gen),除非用户已显式固定了不同的 preferred_image_backend。
- **Codex 通过 codex exec (codex-imagegen)** — 若当前运行时未暴露原生 imagegen 技能,但 codex CLI 已在 PATH 中且 codex login 处于激活状态(如 Claude Code 安装了 Codex CLI),则调用 codex-imagegen 包装器。路径解析:scripts/codex-imagegen.sh 位于插件/仓库根目录,而非相对于当前 shell 工作目录。从本 SKILL.md 所在目录出发,该包装器路径为 ../../scripts/codex-imagegen.sh — 调用前需解析为绝对路径。命令格式如下:
<ABSOLUTE_PLUGIN_ROOT>/scripts/codex-imagegen.sh \
--image <absolute_output_path> \
--prompt-file <absolute_path_to_prompts/NN-cover-[slug].md> \
--aspect <ratio> \
[--ref <absolute_file>]... \
[--timeout <ms>] \
[--cache-dir ~/.cache/baoyu-codex-imagegen] \
[--log-file <absolute_jsonl_log_path>]--timeout 默认值为 300000(5 分钟);在网络较慢或提示较长时,可提高该值(例如 --timeout 600000 表示 10 分钟)。
所有传递给包装器的路径若为相对路径,将自动基于包装器的 process.cwd() 解析;但为防止工作目录漂移,建议始终传递绝对路径。解析包装器标准输出中的单行 JSON。若返回 {"status":"ok",...},进入第 5 步;若返回 {"status":"error","error_kind":...},向用户报告 error_kind,并(若可重试)询问是否尝试重试或切换至其他后端。该包装器使用用户的 Codex 订阅服务,无需提供 OPENAI_API_KEY。
- 其他运行时原生工具 — 若运行时暴露了其他原生图像生成工具(如 Hermes 的 image_generate),请以相同方式使用。
- 否则,若恰好安装了一个非原生后端(如 baoyu-image-gen),则使用它。
- 否则(存在多个非原生后端且无运行时原生工具),向用户一次性询问 — 可与初始问题一并批量提出。
⛔ 严禁用 SVG、HTML、Canvas 或其他代码生成方式替代位图图像生成。 Codex imagegen 的说明指出,应“在输出应为位图资源而非仓库原生代码或矢量图时”使用。若无法通过第 3 步解决位图后端问题,请进入第 4 步并询问用户 — **不得静默生成 SVG、插入内联 <svg> 标记,或以 HTML/CSS 艺术作为替代**。即使文章/章节看似“图表类”,调用此规则的下游技能已决定需要的是位图图像。
⛔ 严禁通过程序化叠加覆盖已生成的位图图像中的文字。 不得使用 ImageMagick、Pillow、Canvas、SVG、HTML/CSS、OCR 脚本等任何程序化方式,在已生成的封面图像上覆盖、重写、擦除、描边或替换标题/副标题文字。若文字错误或不清晰,请重新根据修正后的提示生成,切换至低文字或无标题版本,或询问用户保留哪个不完美的候选图像。
设置 preferred_image_backend: ask 将强制每次运行都触发第 3 步的提示,无论可用后端如何。用户可通过下方“更改偏好”部分修改固定后端。
提示文件要求(强制):在调用任何后端前,必须将每张图像的完整最终提示写入 prompts/ 目录下的独立文件中(命名格式:NN-{type}-[slug].md)。后端接收提示文件(或其内容);该文件是可复现性的记录,允许你在不重新生成提示的情况下切换后端。
上述工具名称(imagegen、image_generate、baoyu-image-gen)仅为示例 — 请根据本地环境替换为等效名称。
默认行为:生成前确认。
EXTEND.md 默认值,以及任何文档中记录的自动选择,均仅作为推荐输入,不能用于跳过确认步骤。--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> | 预设简称(详见 [风格预设](references/style-presets.md)) |
--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 | auto |
| 配色 | warm、elegant、cool、dark、earth、vivid、pastel、mono、retro、duotone、macaron | auto |
| 渲染风格 | flat-vector、hand-drawn、painterly、digital、pixel、chalk、screen-print | auto |
| 文字 | none、title-only、title-subtitle、text-rich | title-only |
| 情绪 | subtle、balanced、bold | balanced |
| 字体 | clean、handwritten、serif、display | clean |
自动选择规则:[references/auto-selection.md](references/auto-selection.md)
类型:hero、conceptual、typography、metaphor、scene、minimal
→ 详情:[references/types.md](references/types.md)
配色:warm、elegant、cool、dark、earth、vivid、pastel、mono、retro、duotone、macaron
→ 详情:[references/palettes/](references/palettes/)
渲染风格:flat-vector、hand-drawn、painterly、digital、pixel、chalk、screen-print
→ 详情:[references/renderings/](references/renderings/)
文字层级:none(纯视觉)|title-only(默认)|title-subtitle|text-rich(含标签)
→ 详情:[references/dimensions/text.md](references/dimensions/text.md)
情绪层级:subtle(低对比)|balanced(默认)|bold(高对比)
→ 详情:[references/dimensions/mood.md](references/dimensions/mood.md)
字体:clean(无衬线)|handwritten(手写体)|serif(衬线)|display(粗装饰性)
→ 详情:[references/dimensions/font.md](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 # 生成提示词
└── cover.png # 输出图像Slug:2–4 个单词,使用短横线连接(kebab-case)。若冲突,则追加 -YYYYMMDD-HHMMSS
封面图像进度:
- [ ] 第 0 步:检查偏好设置(EXTEND.md) ⛔ 阻塞
- [ ] 第 1 步:分析内容 + 保存参考图 + 确定输出目录
- [ ] 第 2 步:确认选项(6 个维度) ⚠️ 除非使用 --quick
- [ ] 第 3 步:创建提示词
- [ ] 第 4 步:生成图像
- [ ] 第 5 步:完成报告输入 → [第 0 步:加载偏好设置] ─┬─ 找到 → 继续
└─ 未找到 → 首次设置 ⛔ 阻塞 → 保存 EXTEND.md → 继续
↓
分析 + 保存参考图 → [输出目录] → [确认:6 个维度] → 提示词 → 生成 → 完成
↓
(若使用 --quick 或所有参数已指定则跳过)按优先级顺序检查 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](references/config/first-time-setup.md)) → 保存 → 继续 |
重要提醒:若未找到,必须在进行其他步骤或提问前完成首次设置。
source.md)⚠️ 参考图像中包含人物的情况:
如果参考图像中包含应在封面中出现的人物:
--ref**(默认):将图像复制到 refs/ 目录,生成时通过 --ref 传递。无需描述文件——模型可直接识别人脸。--ref**(Jimeng、Seedream 3.0):创建 refs/ref-NN-{slug}.md 文件,包含角色的详细描述(发型、眼镜、肤色、服装等)。将这些信息作为“必须”或“强制”指令嵌入提示词中。完整决策表请参见 [reference-images.md](references/workflow/reference-images.md)。
硬性要求:根据 [确认政策](#confirmation-policy),此步骤为必经流程——在用户确认前(或明确跳过 --quick / quick_mode: true 等等效设置),无法进入步骤 3–4。
**必须使用 AskUserQuestion 工具**以交互式选择方式呈现选项——不得使用纯文本表格。单次 AskUserQuestion 调用最多展示 4 个问题(类型、配色、渲染风格、字体 + 设置)。每个问题应先列出推荐选项及理由,再列出其他备选方案。
完整确认流程与问题格式说明:[references/workflow/confirm-options.md](references/workflow/confirm-options.md)
| 条件 | 跳过 | 仍需询问 |
|---|---|---|
--quick 或 quick_mode: true | 6 个维度 | 宽高比(除非指定 --aspect) |
所有 6 项 + --aspect 已指定 | 全部 | 无 |
保存至 prompts/cover.md。模板参考:[references/workflow/prompt-template.md](references/workflow/prompt-template.md)
关键事项 —— 前置元数据中的引用:
refs/ → 在前端元数据 references 列表中添加references,在正文描述test -f refs/ref-NN-{slug}.{ext}正文中的引用元素必须详尽,以 "MUST" / "REQUIRED" 开头,并注明整合方式。
cover.png(如需重新生成)## 图像生成工具 规则——使用可用的任意后端;若存在多个,则在本次会话中仅询问一次。此操作应在任何生成前完成一次。prompts/01-cover-[slug].md(硬性要求)——在调用后端前完成。 - direct 使用方式 → 通过 --ref 传递(使用支持 ref 的后端)
- style / palette → 提取特征,附加至提示词
- **codex-imagegen**:调用 <ABSOLUTE_PLUGIN_ROOT>/scripts/codex-imagegen.sh(非相对路径 ./scripts/... —— 应从本技能根目录解析绝对路径:../../scripts/codex-imagegen.sh),参数包括 --image <ABSOLUTE_output> --prompt-file <ABSOLUTE_prompts/01-cover-[slug].md> --aspect <ratio>(按引用添加 --ref <ABSOLUTE_file>),--cache-dir ~/.cache/baoyu-codex-imagegen 以启用幂等缓存,--timeout <ms> 可覆盖默认 300000 毫秒(5 分钟)的超时限制(适用于网络较慢情况)。所有输入路径若为相对路径,将由包装脚本自动基于其 process.cwd() 解析,但建议传入绝对路径以提高可靠性。读取 stdout 输出的 JSON,根据 status 和 error_kind 进行响应。
- **Codex imagegen(原生)** 或其他运行时原生工具 / baoyu-image-gen 技能:遵循上方 ## 图像生成工具 中的规则。
封面已生成!
主题:[topic]
类型:[type] | 配色:[palette] | 渲染风格:[rendering]
文字内容:[text] | 氛围:[mood] | 字体:[font] | 宽高比:[ratio]
标题:[title 或 "仅视觉"]
语言:[lang] | 水印:[启用/禁用]
引用来源:[N 张图片 或 "提取风格" 或 "无"]
位置:[目录路径]
文件:
✓ source-{slug}.{ext}
✓ prompts/cover.md
✓ cover.png| 操作 | 步骤 |
|---|---|
| 重新生成 | 备份 → 先更新提示词文件 → 重新生成 |
| 更改尺寸 | 备份 → 确认新值 → 更新提示词 → 重新生成 |
文字修正策略:
EXTEND.md 文件位于 步骤 0 中指出的路径。可通过以下三种方式修改:
- 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 — 可调整自动选择的默认值及确认流程。
尺寸: [text.md](references/dimensions/text.md) | [mood.md](references/dimensions/mood.md) | [font.md](references/dimensions/font.md)
配色方案: [references/palettes/](references/palettes/)
渲染风格: [references/renderings/](references/renderings/)
类型: [references/types.md](references/types.md)
自动选择: [references/auto-selection.md](references/auto-selection.md)
风格预设: [references/style-presets.md](references/style-presets.md)
兼容性: [references/compatibility.md](references/compatibility.md)
视觉元素: [references/visual-elements.md](references/visual-elements.md)
工作流程: [confirm-options.md](references/workflow/confirm-options.md) | [prompt-template.md](references/workflow/prompt-template.md) | [reference-images.md](references/workflow/reference-images.md)
配置项: [preferences-schema.md](references/config/preferences-schema.md) | [first-time-setup.md](references/config/first-time-setup.md) | [watermark-guide.md](references/config/watermark-guide.md)
已收录 1 个 Skill