关于 baoyu-comic
baoyu-comic 是将文本、图像等素材改编为知识漫画的创作技能,面向需要视觉化讲解内容的创作者。它支持多种画风、版式和比例,并生成分镜、角色素材及 PDF。
主要功能
- 01分析素材并规划漫画页数
- 02生成三种叙事分镜方案
- 03组合多种画风、版式与比例
- 04生成角色参考和页面图像提示词
- 05将漫画页面合并为 PDF
适用场景
- 01把人物传记改编为漫画
- 02将教程或编程知识视觉化
- 03按指定画风制作多页漫画
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ smallnest/ langgraphgo --skill baoyu-comic安装后在 Claude Code 中输入/baoyu-comic确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
package-lock.jsonpackage.jsonreferences/analysis-framework.mdbase-prompt.mdcharacter-template.mdohmsha-guide.mdstoryboard-template.mdreferences/layouts/cinematic.mddense.mdmixed.mdsplash.mdstandard.mdwebtoon.mdreferences/styles/chalkboard.mdclassic.mddramatic.mdohmsha.mdrealistic.mdsepia.mdshoujo.mdvibrant.mdwarm.mdwuxia.mdscripts/generate-comic.tsmerge-to-pdf.ts详细介绍
知识漫画创作器
创作不同视觉风格的原创知识漫画。
用法
/baoyu-comic posts/turing-story/source.md
/baoyu-comic # then paste content
选项
| 选项 | 值 |
|---|---|
--style | classic(默认)、dramatic、warm、sepia、vibrant、ohmsha、realistic、wuxia、shoujo 或自定义描述 |
--layout | standard(默认)、cinematic、dense、splash、mixed、webtoon |
--aspect | 3:4(默认,纵向)、4:3(横向)、16:9(宽屏) |
--lang | auto(默认)、zh、en、ja 等 |
风格、布局和纵横比可以自由组合。自定义风格可用自然语言描述。
漫画所有页面的纵横比均保持一致。
自动选择
| 内容特征 | 风格 | 布局 |
|---|---|---|
| 教程、操作指南、入门内容 | ohmsha | webtoon |
| 计算、AI、编程 | ohmsha | dense |
| 1950 年以前、古典、古代 | sepia | cinematic |
| 个人故事、导师 | warm | standard |
| 冲突、突破 | dramatic | splash |
| 葡萄酒、食品、商业、生活方式、专业内容 | realistic | cinematic |
| 武术、武侠、仙侠、中国历史 | wuxia | splash |
| 浪漫、爱情、校园生活、友谊、情感 | shoujo | standard |
| 传记、均衡内容 | classic | mixed |
脚本目录
重要:所有脚本都位于此技能的 scripts/ 子目录中。
Agent 执行说明:
- 将此 SKILL.md 文件所在目录的路径确定为
SKILL_DIR - 脚本路径 =
${SKILL_DIR}/scripts/<script-name>.ts - 将本文档中的所有
${SKILL_DIR}替换为实际路径
脚本参考:
| 脚本 | 用途 |
|---|---|
scripts/merge-to-pdf.ts | 将漫画页面合并为 PDF |
文件结构
每个会话都会创建一个以内容 slug 命名的独立目录:
comic/{topic-slug}/
├── source-{slug}.{ext} # Source files (text, images, etc.)
├── analysis.md # Deep analysis results (YAML+MD)
├── storyboard-chronological.md # Variant A (preserved)
├── storyboard-thematic.md # Variant B (preserved)
├── storyboard-character.md # Variant C (preserved)
├── characters-chronological/ # Variant A chars (preserved)
│ ├── characters.md
│ └── characters.png
├── characters-thematic/ # Variant B chars (preserved)
│ ├── characters.md
│ └── characters.png
├── characters-character/ # Variant C chars (preserved)
│ ├── characters.md
│ └── characters.png
├── storyboard.md # Final selected
├── characters/ # Final selected
│ ├── characters.md
│ └── characters.png
├── prompts/
│ ├── 00-cover-[slug].md
│ └── NN-page-[slug].md
├── 00-cover-[slug].png
├── NN-page-[slug].png
└── {topic-slug}.pdf
Slug 生成:
- 从内容中提取主题(2-4 个词,使用 kebab-case)
- 示例:“Alan Turing Biography” →
alan-turing-bio
冲突处理:
如果 comic/{topic-slug}/ 已存在:
- 追加时间戳:
{topic-slug}-YYYYMMDD-HHMMSS - 示例:
turing-story已存在 →turing-story-20260118-143052
源文件:
将所有源文件复制并命名为 source-{slug}.{ext}:
source-biography.md、source-portrait.jpg、source-timeline.png等- 支持多个来源:文本、图片、对话中的文件
工作流
步骤 1:分析内容 → analysis.md
阅读源内容,必要时保存,并进行深入分析。
操作:
- 保存源内容(如果尚未保存为文件):
- 如果用户提供文件路径:按原样使用
- 如果用户粘贴内容:将其保存到目标目录中的
source.md
- 阅读源内容
- 根据
references/analysis-framework.md进行深入分析:- 确定目标受众
- 明确读者价值主张
- 提炼核心主题和叙事潜力
- 梳理关键人物及其故事发展
- 检测源语言
- 确定建议的页数:
- 短篇故事:5-8 页
- 中等复杂度:9-15 页
- 完整传记:16-25 页
- 分析内容特征,推荐风格和布局
- 保存到
analysis.md
analysis.md 格式:
---
title: "Alan Turing: Father of Computing"
topic: Biography
time_span: 1912-1954
source_language: en
user_language: zh
aspect_ratio: "3:4"
recommended_page_count: 12
---
## Target Audience
- **Primary**: Tech enthusiasts curious about computing history
- **Secondary**: Students learning about scientific breakthroughs
- **Tertiary**: General readers interested in biographical stories
## Value Proposition
What readers will gain:
1. Understanding of how modern computing was born
2. Emotional connection to a brilliant but tragic figure
3. Appreciation for the human cost of innovation
## Core Themes
| Theme | Narrative Potential | Visual Opportunity |
|-------|--------------------|--------------------|
| Genius vs. Society | High conflict, dramatic arcs | Contrast scenes |
| Code-breaking | Mystery, tension | Technical diagrams as art |
| Personal tragedy | Emotional depth | Intimate, somber panels |
## Key Figures & Story Arcs
### Alan Turing (Protagonist)
- **Arc**: Misunderstood genius → War hero → Tragic end
- **Visual identity**: Disheveled academic, intense eyes
- **Key moments**: Enigma breakthrough, arrest, final days
### Christopher Morcom (Catalyst)
- **Role**: Early friend whose death shaped Turing
- **Visual identity**: Youthful, bright
- **Key moments**: School friendship, sudden death
## Content Signals
- "biography" → classic + mixed
- "computing history" → ohmsha + dense
- "personal tragedy" → dramatic + splash
## Recommended Approaches
1. **Chronological** - follow life timeline (recommended for biography)
2. **Thematic** - organize by contributions (good for educational focus)
3. **Character-focused** - relationships drive narrative (good for emotional impact)
步骤 2:生成 3 个分镜脚本变体
创建三个不同的变体,每个变体都结合一种叙事方式与推荐风格。
| 变体 | 叙事方式 | 推荐风格 | 布局 |
|---|---|---|---|
| A | 按时间顺序 | sepia | cinematic |
| B | 主题式 | ohmsha | dense |
| C | 以角色为中心 | warm | standard |
对于每个变体:
-
生成分镜脚本(
storyboard-{approach}.md):- YAML 前置内容,包含 narrative_approach、recommended_style、recommended_layout、aspect_ratio
- 封面设计
- 每页:布局、分格细分、视觉提示词
- 使用用户偏好的语言编写
- 参考:
references/storyboard-template.md
-
生成匹配的角色(
characters-{approach}/):characters.md- 与推荐风格匹配的视觉规格(使用用户偏好的语言)characters.png- 角色参考图- 参考:
references/character-template.md
选择后会保留所有变体,以供参考。
步骤 3:由用户确认所有选项
重要:使用 AskUserQuestion 在同一个确认步骤中呈现所有选项。不要通过多个单独的确认步骤打断工作流。
确定要询问哪些问题:
| 问题 | 询问时机 |
|---|---|
| 分镜脚本变体 | 始终询问(必选) |
| 视觉风格 | 始终询问(必选) |
| 语言 | 仅当 source_language ≠ user_language 时询问 |
| 纵横比 | 仅当用户可能偏好非默认值时询问(例如,横向内容) |
语言处理:
- 如果源语言与用户语言相同:仅告知用户(例如,“漫画将使用中文”)
- 如果不同:询问要使用哪种语言
所有分镜脚本和提示词都使用用户选择或偏好的语言生成。
纵横比处理:
- 默认值:3:4(纵向)——标准漫画格式
- 如果内容适合横向,提供 4:3(横向)选项(例如,全景场景、技术图表)
- 对于电影风格的内容,提供 16:9(宽屏)选项
AskUserQuestion 格式(包含所有问题的示例):
Question 1 (Storyboard): Which storyboard variant?
- A: Chronological + sepia (Recommended)
- B: Thematic + ohmsha
- C: Character-focused + warm
- Custom
Question 2 (Style): Which visual style?
- sepia (Recommended from variant)
- classic / dramatic / warm / sepia / vibrant / ohmsha / realistic / wuxia
- Custom description
Question 3 (Language) - only if mismatch:
- Chinese (source material language)
- English (your preference)
Question 4 (Aspect) - only if relevant:
- 3:4 Portrait (Recommended)
- 4:3 Landscape
- 16:9 Widescreen
确认后:
- 将选定的分镜脚本复制到
storyboard.md - 将选定的角色复制到
characters/ - 使用确认后的风格、语言和 aspect_ratio 更新 YAML 前置内容
- 如果风格与变体推荐的风格不同:重新生成
characters/characters.png - 用户可以直接编辑文件以进行微调
步骤 4:生成图像
确认分镜脚本、风格和纵横比后:
对于每一页(封面 + 页面):
- 将提示词保存到
prompts/NN-{cover|page}-[slug].md(使用用户偏好的语言) - 使用确认后的风格和纵横比生成图像
- 每生成一张图像后报告进度
图像生成技能选择:
- 检查可用的图像生成技能
- 如果有多个可用技能,询问用户偏好
角色参考处理:
- 如果技能支持参考图像:传入
characters/characters.png - 如果技能不支持参考图像:在提示词中加入
characters/characters.md的内容
会话管理:
如果图像生成技能支持 --sessionId:
- 生成唯一的会话 ID:
comic-{topic-slug}-{timestamp} - 所有页面使用相同的会话 ID
- 确保生成图像之间的视觉一致性
步骤 5:合并为 PDF
所有图像生成后:
npx -y bun ${SKILL_DIR}/scripts/merge-to-pdf.ts <comic-dir>
创建 {topic-slug}.pdf,其中所有页面均为整页图像。
步骤 6:完成报告
Comic Complete!
Title: [title] | Style: [style] | Pages: [count] | Aspect: [ratio] | Language: [lang]
Location: [path]
✓ analysis.md
✓ characters.png
✓ 00-cover-[slug].png ... NN-page-[slug].png
✓ {topic-slug}.pdf
修改页面
支持在初次生成后修改单个页面。
编辑单页
使用修改后的提示词重新生成指定页面:
- 确定要编辑的页面(例如,
03-page-enigma-machine.png) - 如有需要,更新
prompts/03-page-enigma-machine.md中的提示词 - 如果内容变化较大,更新文件名中的 slug
- 使用相同的会话 ID 和纵横比重新生成图像
- 重新生成 PDF
添加新页面
在指定位置插入新页面:
- 指定插入位置(例如,在第 3 页之后)
- 创建带有适当 slug 的新提示词(例如,
04-page-bletchley-park.md) - 生成新页面图片(宽高比保持一致)
- 重新编号文件:后续所有页面的 NN 加 1
04-page-tragedy.png→05-page-tragedy.png- Slug 保持不变
- 使用新页面条目更新
storyboard.md - 重新生成 PDF
删除页面
删除页面并重新编号:
- 找到要删除的页面(例如,
03-page-enigma-machine.png) - 删除图片文件和提示词文件
- 重新编号文件:后续所有页面的 NN 减 1
04-page-tragedy.png→03-page-tragedy.png- Slug 保持不变
- 从
storyboard.md中删除对应页面条目 - 重新生成 PDF
文件命名约定
文件使用有意义的 slug,以便于阅读:
NN-cover-[slug].png / NN-page-[slug].png
NN-cover-[slug].md / NN-page-[slug].md (in prompts/)
示例:
00-cover-turing-story.png01-page-early-life.png02-page-cambridge-years.png03-page-enigma-machine.png
Slug 规则:
- 根据页面标题/内容生成(kebab-case)
- 在漫画中必须唯一
- 页面内容发生重大变化时,相应更新 slug
重新编号:
- 添加/删除页面后,更新受影响页面的 NN 前缀
- 除非内容发生变化,否则 slug 保持不变
- 保持编号连续,不留空缺
特定风格指南
Ohmsha 风格(--style ohmsha)
教育漫画的附加要求:
- 默认:直接使用哆啦A梦角色——无需创建新角色
- 大雄:学生角色,好奇的学习者
- 哆啦A梦:导师角色,使用道具讲解概念
- 胖虎:反派/挑战角色,代表障碍或误解
- 静香:辅助角色,提出澄清问题
- 仅在明确要求时才使用自定义角色:
--characters "Student:小明,Mentor:教授" - 必须使用视觉隐喻(道具、动作场景)——禁止使用对话头像
- 页面标题:采用叙事风格,而非“第 X 页:主题”
参考:详细指南见 references/ohmsha-guide.md。
参考资料
详细模板和指南位于 references/ 目录:
analysis-framework.md- 漫画改编的深度内容分析character-template.md- 角色定义格式和示例storyboard-template.md- 分镜结构和面板拆分ohmsha-guide.md- Ohmsha 漫画风格详解styles/- 详细风格定义layouts/- 详细布局定义
扩展支持
通过 EXTEND.md 自定义风格和配置。
检查路径(按优先级排序):
.baoyu-skills/baoyu-comic/EXTEND.md(项目)~/.baoyu-skills/baoyu-comic/EXTEND.md(用户)
如果找到扩展文件,请在步骤 1 之前加载。扩展内容会覆盖默认设置。