关于 baoyu-comic
baoyu-comic 是用于创作原创知识漫画的 Skill,可配置画风、基调、版式和输出语言,并支持分镜、图像生成及合并为 PDF。
主要功能
- 01可配置画风与基调
- 02多种分镜版式和画幅
- 03仅生成分镜或提示词
- 04支持参考图生成
- 05批量生成漫画页面
- 06合并页面为 PDF
适用场景
- 01将源材料改编为知识漫画
- 02为漫画主题选择视觉表现
- 03重新生成指定漫画页面
- 04将完成的漫画页面导出为 PDF
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jimliu/ baoyu-skills --skill baoyu-comic安装后在 Claude Code 中输入/baoyu-comic确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/analysis-framework.mdauto-selection.mdbase-prompt.mdcharacter-template.mdcodex-imagegen.mdohmsha-guide.mdpartial-workflows.mdstoryboard-template.mdreferences/art-styles/chalk.mdink-brush.mdligne-claire.mdmanga.mdminimalist.mdrealistic.mdreferences/config/first-time-setup.mdpreferences-schema.mdwatermark-guide.mdreferences/layouts/cinematic.mddense.mdfour-panel.mdmixed.mdsplash.mdstandard.mdwebtoon.mdreferences/presets/concept-story.mdfour-panel.mdohmsha.mdshoujo.mdwuxia.mdreferences/tones/action.md详细介绍
知识漫画创作工具
以灵活的画风 × 基调组合,创作原创知识漫画。
用户输入工具
此技能向用户提问时,请遵循以下工具选择规则(按优先级排序):
- 优先使用当前 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 中运行,其优先级高于任何非原生技能,与 Codeximagegen相同。需特别注意两个限制:(a) 它没有宽高比参数 — 请在传给description的提示词中明确写出目标宽高比/尺寸;(b) 它不接受输出目录 — 文件会保存到由工具管理的位置,因此生成后请将文件复制/移动到技能所需的输出路径(例如outputs/.../NN-xxx.png)。参考图像应放在reference_image_paths中。 - 其他运行环境的原生工具 — 如果运行环境提供其他原生图像工具(例如 Hermes
image_generate),请以相同方式使用。 - 否则,如果恰好安装了一个非原生后端(例如
baoyu-image-gen),请使用它。 - 否则(存在多个非原生后端,且没有运行环境原生工具),请向用户提问一次 — 与其他初始问题合并提问。
- Codex(
- 如果都不可用,请告知用户,并询问如何继续。
⛔ 切勿用 SVG、HTML、画布或其他基于代码的渲染方式替代栅格图像生成。 Codex imagegen 自身说明指出,应在“输出应为位图资源,而不是仓库原生代码或矢量图”时使用它。如果无法通过第 3 步确定栅格图像后端,请转至第 4 步并询问用户 — 不要默默输出 SVG、编写内联 <svg> 标记,或制作 HTML/CSS 艺术图作为替代方案。即使文章/章节看起来“像图表”,也同样适用:调用此规则的使用方技能已经确定需要的是栅格图像。
⛔ 切勿通过在生成的位图上绘制来修复渲染后的文本。 不要使用 ImageMagick、Pillow、Canvas、SVG、HTML/CSS、OCR 脚本或任何其他程序化叠加手段,来遮盖、改写、擦除、描边或替换已生成漫画页面中的对话、音效、分格标签或任何其他文本。如果文本有误或不清晰,请根据修正后的提示词重新生成、重绘页面并减少或不添加图中文字,或者询问用户要保留哪个不完美的候选版本。
设置 preferred_image_backend: ask 会强制每次运行时都显示第 3 步提示,无论是否有可用后端。用户可通过下文的 ## Changing Preferences 部分更改固定使用的后端。
提示词文件要求(硬性):在调用任何后端之前,先将每张图片的完整最终提示词写入 prompts/ 下的独立文件(命名格式:NN-{type}-[slug].md)。后端接收提示词文件(或其内容);该文件是可复现记录,也让你能够切换后端而无需重新生成提示词。
上面的具体工具名称(imagegen、GenerateImage、image_generate、baoyu-image-gen)仅为示例——请按相同规则替换为本地对应工具。
批量生成策略
当前生成组中的所有提示词文件保存并验证完毕后,默认以批次生成图片。
优先顺序:
- 如果所选后端提供原生批处理/多任务接口,请使用该接口。每个任务必须保留各自的提示词文件、输出路径、宽高比、会话 ID 和直接参考图。
- 如果没有原生批处理接口,但运行时可以并行调用工具,则每次最多并行生成
generation_batch_size张图片。默认值:4。当前消息中的明确用户请求(例如--batch-size 4或“并行4张一起生成”)优先于 EXTEND.md。 - 如果原生批处理和并行工具调用都不可用,则按顺序生成。
规则:
- 优先遵守工作流依赖:先生成
characters/characters.png,再生成将其用作参考图的页面。 - 在所有选定页面的提示词文件都已写入磁盘之前,切勿启动第一批页面生成。
- 失败的项目只重试一次,不要重新生成成功的项目。
- 不要仅为并行渲染图片而使用子 Agent。只有在分别迭代提示词或进行创意探索时才使用子 Agent。
参考图
用户可能会提供参考图来指导美术风格、调色板、场景构图或主题。这与自动生成的角色设定表(步骤 7.1)相互独立——两者可以同时使用:用户参考图指导整体风格,角色设定表则固定重复出现角色的形象。
接收方式:通过 --ref <files...> 提供,或在用户提供文件路径/在对话中粘贴图片时接收。
- 文件路径 → 复制到漫画输出目录旁的
refs/NN-ref-{slug}.{ext} - 粘贴的图片没有路径 → 请用户提供路径(遵循上文的“用户输入工具”规则),或通过口头提取风格特征作为文本替代方案
- 没有参考图 → 跳过本节
使用模式(每张参考图):
| 用法 | 效果 |
|---|---|
direct | 在每个页面(或选定页面)生成时,将文件作为参考图传给后端 |
style | 提取风格特征(线条处理、质感、氛围),并附加到每个页面提示词正文中 |
palette | 提取十六进制颜色,并附加到每个页面提示词正文中 |
存在参考图时,记录在每个页面提示词的 frontmatter 中:
references:
- ref_id: 01
filename: 01-ref-scene.png
usage: direct
生成时:
- 确认每个引用的文件都存在于磁盘上
- 如果
usage: direct且所选后端接受多张参考图 → 通过后端的 ref 参数同时传入角色设定表(步骤 7.2)和用户参考图;先按照步骤 7.1 的指南压缩图片,以避免负载失败 - 如果后端只接受一张参考图 → 对有重复角色的页面优先使用角色设定表;改为在提示词正文中融入用户参考图的特征
- 对于
style/palette用法 → 将提取的特征融入每页提示词文本中(无论后端是否支持)
选项
视觉维度
| 选项 | 值 | 描述 |
|---|---|---|
--art | ligne-claire(默认)、manga、realistic、ink-brush、chalk、minimalist | 艺术风格/渲染技法 |
--tone | neutral(默认)、warm、dramatic、romantic、energetic、vintage、action | 情绪/氛围 |
--layout | standard(默认)、cinematic、dense、splash、mixed、webtoon、four-panel | 分格布局 |
--aspect | 3:4(默认,纵向)、4:3(横向)、16:9(宽屏) | 页面宽高比 |
--lang | auto(默认)、zh、en、ja 等 | 输出语言 |
--ref <files...> | 文件路径 | 将参考图应用于每一页,用于指导风格/配色/场景。参见上文的参考图像。 |
--batch-size <n> | 1-8 | 本次运行的临时页面生成批次大小。默认值:取自 EXTEND.md 的 generation_batch_size,否则为 4。 |
部分工作流选项
| 选项 | 描述 |
|---|---|
--storyboard-only | 仅生成分镜脚本,跳过提示词和图像 |
--prompts-only | 生成分镜脚本和提示词,跳过图像 |
--images-only | 根据现有提示词目录生成图像 |
--regenerate N | 仅重新生成指定页面(例如 3 或 2,5,8) |
详情:references/partial-workflows.md
艺术风格、基调与预设目录
-
艺术风格(6 种):
ligne-claire、manga、realistic、ink-brush、chalk、minimalist。完整定义见references/art-styles/<style>.md。 -
基调(7 种):
neutral、warm、dramatic、romantic、energetic、vintage、action。完整定义见references/tones/<tone>.md。 -
预设(5 种),包含纯艺术风格+基调之外的特殊规则:
预设 等效组合 特点 ohmshamanga + neutral 视觉隐喻、避免对话式头像、展示小玩意 wuxiaink-brush + action 气的效果、战斗视觉、氛围感 shoujomanga + romantic 装饰元素、眼部细节、浪漫桥段 concept-storymanga + warm 视觉符号系统、成长弧线、对话与动作的平衡 four-panelminimalist + neutral + four-panel 布局 起承转合结构、黑白+点缀色、火柴人角色 完整规则见
references/presets/<preset>.md——选择预设时加载该文件。 -
兼容性矩阵和内容信号 → 预设表位于 references/auto-selection.md。在第 2 步推荐组合前请先阅读。
脚本目录
重要:所有脚本都位于此技能的 scripts/ 子目录中。
Agent 执行说明:
- 将此 SKILL.md 文件所在目录路径确定为
{baseDir} - 脚本路径 =
{baseDir}/scripts/<script-name>.ts - 将本文档中的所有
{baseDir}替换为实际路径 - 解析
${BUN_X}运行时:如果已安装bun→ 使用bun;如果可用npx→ 使用npx -y bun;否则建议安装 bun
脚本参考:
| 脚本 | 用途 |
|---|---|
scripts/merge-to-pdf.ts | 将漫画页面合并为 PDF |
文件结构
输出目录:comic/{topic-slug}/
- Slug:根据主题取 2-4 个词,并使用 kebab-case(例如
alan-turing-bio) - 冲突:追加时间戳(例如
turing-story-20260118-143052)
内容:
| 文件 | 描述 |
|---|---|
source-{slug}.{ext} | 源文件 |
analysis.md | 内容分析 |
storyboard.md | 含分格拆解的分镜脚本 |
characters/characters.md | 角色定义 |
characters/characters.png | 角色参考图 |
prompts/NN-{cover|page}-[slug].md | 生成提示词 |
NN-{cover|page}-[slug].png | 生成的图像 |
{topic-slug}.pdf | 最终合并的 PDF |
语言处理
检测优先级:
--lang标志(显式指定)- EXTEND.md 中的
language设置 - 用户的对话语言
- 源内容语言
规则:所有交互均使用用户输入的语言或已保存的语言偏好:
- 故事板大纲和场景描述
- 图像生成提示词
- 用户选择选项和确认信息
- 进度更新、问题、错误和摘要
技术术语保持英文。
工作流
进度清单
Comic Progress:
- [ ] Step 1: Setup & Analyze
- [ ] 1.1 Preferences (EXTEND.md) ⛔ BLOCKING
- [ ] Found → load preferences → continue
- [ ] Not found → run first-time setup → MUST complete before other steps
- [ ] 1.2 Analyze, 1.3 Check existing
- [ ] Step 2: Confirmation - Style & options ⚠️ REQUIRED
- [ ] Step 3: Generate storyboard + characters
- [ ] Step 4: Review outline (conditional)
- [ ] Step 5: Generate prompts
- [ ] Step 6: Review prompts (conditional)
- [ ] Step 7: Generate images
- [ ] 7.1 Generate character sheet (if needed) → characters/characters.png
- [ ] 7.2 Generate pages (with --ref if character sheet exists)
- [ ] Step 8: Merge to PDF
- [ ] Step 9: Completion report
流程
Input → [Preferences] ─┬─ Found → Continue
│
└─ Not found → First-Time Setup ⛔ BLOCKING
│
└─ Complete setup → Save EXTEND.md → Continue
│
┌─────────────────────────────────────────────────────────────────────┘
↓
Analyze → [Check Existing?] → [Confirm: Style + Reviews] → Storyboard → [Review?] → Prompts → [Review?] → Images → PDF → Complete
步骤摘要
| 步骤 | 操作 | 主要输出 |
|---|---|---|
| 1.1 | 加载 EXTEND.md 偏好设置 ⛔ 未找到时阻塞 | 已加载配置 |
| 1.2 | 分析内容 | analysis.md |
| 1.3 | 检查现有目录 | 处理冲突 |
| 2 | 确认风格、重点、受众、审核安排 | 用户偏好 |
| 3 | 生成故事板和角色 | storyboard.md、characters/ |
| 4 | 审核大纲(如有要求) | 用户批准 |
| 5 | 生成提示词 | prompts/*.md |
| 6 | 审核提示词(如有要求) | 用户批准 |
| 7.1 | 生成角色设定表(如需要) | characters/characters.png |
| 7.2 | 生成页面(如有角色参考图则使用) | *.png 文件 |
| 8 | 合并为 PDF | {slug}.pdf |
| 9 | 完成报告 | 摘要 |
步骤 7:图像生成
每个会话只选择一次后端,依据顶部的 ## Image Generation Tools 规则。如果后端是仓库技能(例如 baoyu-image-gen),请阅读其 SKILL.md,并使用其中记录的接口,而不是其脚本。
codex-imagegen 调用:当规则选择 codex-imagegen 时,请参阅 references/codex-imagegen.md 中的调用约定(首选 baoyu-image-gen --provider codex-cli 路径、运行时包装器发现、参数说明、标准输出架构、批处理语义——每次调用 n=1,因此页面批次必须为每页分派一次包装器调用)。
7.1 角色设定表——当漫画有多页且角色反复出现时,生成至 characters/characters.png,宽高比为 4:3。简单预设(例如四格极简风格)或单页漫画可跳过。使用前先压缩为 JPEG(macOS 上使用 sips -s format jpeg -s formatOptions 80 …,其他系统使用 pngquant --quality=65-80 …),以避免载荷失败。调用后端前,characters/characters.md 中的提示词文件必须已存在。
7.2 页面——调用后端前,每页的提示词必须已保存至 prompts/NN-{cover|page}-[slug].md;该文件是可复现记录。策略取决于角色设定表:
| 角色设定表 | 后端 --ref | 策略 |
|---|---|---|
| 已生成 | 支持 | 每页都将设定表作为 --ref 传入 |
| 已生成 | 不支持 | 将角色描述添加到每个提示词文件的开头 |
| 已跳过 | — | 在提示词中内联所有描述 |
执行策略:如需生成角色设定表,应先生成。然后根据已保存的提示词文件构建所选页面任务列表,并按照 ## Batch Generation Policy 分批分派页面:优先使用后端原生批处理,其次使用运行时并行工具调用,最后才按顺序执行。--regenerate N 和 --images-only 对所选的现有提示词应用相同的批处理规则。
备份规则:重新生成前,将现有的 prompts/…md 和 …png 文件重命名,并添加 -backup-YYYYMMDD-HHMMSS 后缀。宽高比取自故事板(默认 3:4;预设可覆盖)。
--ref 失败恢复:压缩设定表 → 重试 → 仍然失败 → 移除 --ref,并将角色描述嵌入提示词文本。
完整的分步工作流(分析、故事板、审核关卡、重新生成变体):references/workflow.md。
EXTEND.md 路径 ⛔ 阻塞
如果未找到 EXTEND.md,首次设置将阻塞后续流程——请先完成设置,再进行任何内容分析或风格/语气相关问题。
| 优先级 | 路径 | 范围 |
|---|---|---|
| 1 | .baoyu-skills/baoyu-comic/EXTEND.md | 项目 |
| 2 | $HOME/.baoyu-skills/baoyu-comic/EXTEND.md | 用户主目录 |
| 结果 | 操作 |
|---|---|
| 已找到 | 阅读、解析并显示摘要 → 继续 |
| 未找到 | ⛔ 运行首次设置(references/config/first-time-setup.md)→ 保存 EXTEND.md → 继续 |
EXTEND.md 支持:水印、偏好的艺术风格/语气/版式、自定义风格定义、角色预设、语言偏好、偏好的图像后端、生成批次大小。架构:references/config/preferences-schema.md。
参考资料
核心模板:
- analysis-framework.md - 深入内容分析
- character-template.md - 角色定义格式
- storyboard-template.md - 分镜结构
- ohmsha-guide.md - Ohmsha 漫画规范
风格定义:
references/art-styles/- 艺术风格(ligne-claire、manga、realistic、ink-brush、chalk、minimalist)references/tones/- 语气(neutral、warm、dramatic、romantic、energetic、vintage、action)references/presets/- 含特殊规则的预设(ohmsha、wuxia、shoujo、concept-story、four-panel)references/layouts/- 版式(standard、cinematic、dense、splash、mixed、webtoon、four-panel)
工作流:
- workflow.md - 完整工作流详情
- auto-selection.md - 内容信号分析
- partial-workflows.md - 部分工作流选项
配置:
- config/preferences-schema.md - EXTEND.md 架构
- config/first-time-setup.md - 首次设置
- config/watermark-guide.md - 水印配置
页面修改
| 操作 | 步骤 |
|---|---|
| 编辑 | 先更新提示词文件 → --regenerate N → 重新生成 PDF |
| 添加 | 在对应位置创建提示词 → 使用角色参考生成 → 重新编号后续页面 → 更新分镜 → 重新生成 PDF |
| 删除 | 删除文件 → 重新编号后续页面 → 更新分镜 → 重新生成 PDF |
重要:更新页面时,重新生成之前务必先更新提示词文件(prompts/NN-{cover|page}-[slug].md)。这样可确保变更有记录且可复现。
文字修正规则:
- 如果对白、音效、分格标签或任何其他渲染出的文字存在拼写错误、乱码、难以辨认或视觉效果较弱等问题,请勿用代码修补位图。
- 对于文字修正后的重新生成,请编写新的提示词文件并指定新的输出路径,以便保留有缺陷的候选版本进行比较。
- 后期处理仅限于裁剪、调整尺寸、压缩或格式转换,且不得改动文字或主要构图。
备注
- 图像生成:每页 10-30 秒
- 生成失败时自动重试一次
- 对敏感公众人物使用风格化替代方案
- 通过会话 ID 保持风格一致
- 必须确认步骤 2——不可跳过
- 步骤 4/6 为条件执行——仅在用户于步骤 2 中提出要求时执行
- 步骤 7.1 角色设定表——建议用于多页漫画;简单预设可选
- 步骤 7.2 角色参考——若设定表存在则使用
--ref;失败时进行压缩/转换;再退回仅使用提示词 - 水印/语言仅需在 EXTEND.md 中配置一次
更改偏好设置
EXTEND.md 位于 .baoyu-skills/baoyu-comic/EXTEND.md(项目级)或 ~/.baoyu-skills/baoyu-comic/EXTEND.md(用户级)。有三种更改方式:
- 直接编辑 — 打开 EXTEND.md 并更改字段。完整架构见:
references/config/preferences-schema.md。 - 交互式重新配置 — 删除 EXTEND.md(或提出“重新配置 baoyu-comic 偏好设置”)。下次运行时会重新触发首次设置。
- 常见的单行编辑:
preferred_image_backend: auto— 默认值;优先使用运行时原生工具,若只有一个已安装的后端则回退到该后端,只有存在多个非原生后端时才会询问。preferred_image_backend: codex-imagegen— 固定使用 Codex 内置工具。preferred_image_backend: baoyu-image-gen— 固定使用 baoyu-image-gen 技能。preferred_image_backend: ask— 每次运行时确认后端。generation_batch_size: 4— 后端/运行时支持批量或并行生成时,同时渲染的页面图像默认数量。watermark.enabled: true、preferred_art、preferred_tone、preferred_layout、language— 调整自动选择的默认值和外观选项。