mcpbeat

Book Illustrator

jimliu/book-illustrator

| 《图解 Skill —— AI 提效实战指南》专用配图技能。分析本书章节、附录或书稿内容,批量识别需要视觉辅助的位置,并行生成本书统一风格的插图提示词,批量出图,最后回写书稿。 当用户要求"为本书配图"、"给本书章节生成插图"、"补画书中插图"、"重画本书配图"、"生成章节信息图"时使用此技能。 不用于普通文章、营销图、社媒图或其他书籍的通用配图任务。

10k tokens
context cost
the whole folder, loaded on every use
14
files
instructions only
0
copies elsewhere
how many repositories repackaged it
618
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/JimLiu/Illustrated-Agent-Skills --skill book-illustrator

The instruction itself

6 sections, as written by the author

本书智能配图技能

一次性分析《图解 Skill —— AI 提效实战指南》的章节/附录书稿,批量生成所有配图提示词(subagent 并行),批量出图,自动回写。不在每张图之间停下询问。

使用方式

# 方式 1:指定本书章节/附录 Markdown 路径
/book-illustrator path/to/chapter/final.md

# 方式 2:指定本书书稿 URL(自动下载到本地)
/book-illustrator https://example.com/book/chapter-03.md

开工前必读

先读 references/design-system.md(本 SKILL.md 所在目录下),里面有:

  • 出版三色调色板(#D87757 + 黑 + 白)
  • 对比规则(防止暗底+暗字,最常见翻车点)
  • 反 AI 俗套禁用清单
  • 可读性自查清单(出图后必走)
  • Prompt Injection Block(subagent brief 里必须内联)

工作流程

步骤一:获取本书内容

  • 本地路径:直接读取文件
  • URL:下载本书章节/附录 Markdown 内容到临时位置

步骤二:分析本书配图需求

一次性逐段分析整篇章节/附录书稿,识别所有需要配图的位置。

配图的三种作用

  • 信息补充:帮助理解抽象概念(如"小步迭代"用滑板→自行车→汽车演进图)
  • 概念具象化:将抽象观点转化为具体画面,让读者一眼就懂
  • 引导想象:营造氛围、激发联想,增强阅读体验

适合配图的本书内容

  • 抽象概念需要视觉化
  • 流程/步骤需要图示
  • 对比关系需要可视化
  • 核心观点需要强化
  • 场景描述需要引导想象

不需要配图的本书内容

  • 已经很直观的描述(如代码示例、具体数字)
  • 简单的列表枚举
  • 引用的原话

配图数量(按章节/附录长度):

  • 每个主要小节至少考虑 1 张,优先选择核心观点和抽象概念
  • 开头/结尾可酌情增加 1 张(如需要氛围烘托)
  • 原则:宁多勿少,视觉内容能显著提升阅读体验

布局选择:根据内容的信息模式匹配布局,详见 references/layouts/ 目录下的 10 种布局定义:

| 布局 | 中文名 | 适用场景 |

|------|--------|----------|

| binary-comparison | 对比图 | A vs B、旧 vs 新 |

| linear-progression | 流程图 | 阶段演进、操作流程 |

| hierarchical-layers | 层级图 | 渐进式披露、优先级 |

| hub-spoke | 辐射图 | 核心概念 + 组成部分 |

| structural-breakdown | 结构拆解图 | 文件结构、组件标注 |

| funnel | 漏斗图 | 安全闸门、筛选过滤 |

| tree-branching | 树形图 | 文件目录、决策分支 |

| winding-roadmap | 路线图 | 全局导览、学习旅程 |

| iceberg | 冰山图 | 表面 vs 深层 |

| cheat-sheet-card | 速查卡 | 本章小结、知识回顾 |

最容易混的三对

  • 决策 vs 辐射(tree vs hub-spoke):有"选哪条""是 A 还是 B"的决策问题 → tree-branching;纯结构分解"X 由 A、B、C 组成" → hub-spoke
  • 决策 vs 旅程(tree vs winding-roadmap):有分叉点 → tree;一条路蜿蜒向前没岔路 → roadmap
  • 辐射 vs 旅程(hub-spoke vs winding-roadmap):并列结构 → hub;顺序推进 → roadmap

步骤三:生成批次计划表(等用户确认)

将分析结果整理成计划表展示给用户:

| 编号 | 插入位置 | 布局 | 配图作用 | 一句话 takeaway |

|------|----------|------|----------|-----------------|

| 01 | 章节名 / 段落描述 | binary-comparison | 概念具象化 | 用一句话说清楚这张图要传达什么 |

| 02 | … | … | … | … |

停下等用户确认:"这些位置和布局对吗?如有调整请告诉我,确认后我会开始生成提示词。"

用户可以调整位置、布局、增删配图,确认后才进入下一步。

步骤四:并行生成所有提示词(subagent fan-out)

用户确认批次计划后,在同一条消息里同时发出所有 Agent 调用,让每张图的提示词并行生成。

为什么用 subagent fan-out
  • 并行省时:10 张图的总耗时约等于最慢的那一个,不是线性累加
  • 抗质量稀释:主 agent 写到第 5、6 张时 context 堆满,注意力稀释;每个 subagent 是全新 context,只装当前图所需内容
  • 强制打包信息:派 subagent 前必须整理好 brief,这一步本身就是信息榨取的筛选
Subagent 配置
  • subagent_type: general-purpose
  • model: opus(提示词写作需要强的指令遵循能力,sonnet/haiku 易自造节名或信息度不足)
主 agent 在派发前,对每张图
  • 从书稿抽出该位置前后 1-3 段完整原文(不摘要,信息榨取的源头不能压缩)
  • 确定本图参数:位置、takeaway、layout、color_hotspots(哪些元素用 #D87757)、文件路径
  • 读取以下文件内容,整段内联到 brief 里(subagent 拿到后不再去读外部文件):
  • references/illustration-template.md(提示词模板)
  • references/layouts/{layout}.md(本图布局的视觉语法)
  • references/design-system.md 第 9 节 Prompt Injection Block
  • 按「Subagent Brief 模板」组装 prompt
  • 发起 Agent 调用
主 agent 在收到所有 subagent 回报后
  • 验证每份文件是否落盘:[章节配图目录]/prompts/NN-slug.md
  • 抽检 2 份提示词(随机挑,用 Read 核对),逐项检查:
  • 文件前两行是 <!-- position: --><!-- layout: --> HTML 注释?
  • 节标题是纯文本(无 ##),节名与模板一致("一、插图输入""二、图片比例"…)?
  • 主要元素用 (1)(2)(3) 编号,有 ≥ 4 条,每条嵌套了产品名/旁注/备选项?
  • 书稿段落里的所有产品名、决策问题文字、旁注,在提示词里全部有对应?
  • 五、布局视觉语法是针对本图的叙事(含本图具体元素名),不是通用规则列表?
  • Prompt Injection Block 的三色限定和禁用清单字面出现了?
  • 任一项不过关,补充说明后重新派同位置的 subagent 返工
  • 全部通过后,展示文件清单,询问:"可以开始出图吗?"等用户确认

步骤五:批量出图

用户确认后,逐张调用 /baoyu-imagine 技能生成图片,不中途停下逐张询问

  • 读取 prompts/system.md(风格规范)和对应的 prompts/NN-slug.md(具体提示词),合并为完整提示词
  • 调用 /baoyu-imagine 生成图片:
  • 提示词:system.md + NN-slug.md 合并内容
  • 比例:16:9
  • 输出路径:[章节配图目录]/imgs/NN-slug.webp
  • 输出进度:「已生成 X/N 张」
  • 如失败,自动重试一次;重试仍失败,记录失败原因,继续下一张
  • 有图明显翻车(一眼不对),标注后继续跑完,最后统一告知哪些需要重画

出图后,对每张图走可读性自查清单(见 references/design-system.md 第 8 节)。任一条不过,重生成。

步骤六:更新书稿

将生成的图片插入到本书书稿对应位置:

![配图描述](imgs/01-evolution.webp)

插入规则

  • 图片插入到对应段落之后
  • 图片前后各留一个空行
  • alt 文本使用简洁的中文描述

步骤七:输出汇总

配图完成!

书稿:[书稿路径]
生成数量:X/N 张成功

配图位置:
- 01-failure-trap.webp → [章节名] 后
- 02-iteration.webp → [章节名] 后
...

[如有失败]
失败项:
- 03-workflow.webp:[失败原因](建议重画原因)

Subagent Brief 模板

整批并行时,主 agent 按此模板为每张图组装 brief。所有 <<<...>>> 标记的段落都要主 agent 把对应文件整段内联——subagent 拿到 brief 后不应再去读外部文件。

你的任务:为《图解 Skill —— AI 提效实战指南》配图写一份完整的图片生成提示词文件。写完用 Write 工具落盘。

产出路径(直接写,不讨论是否建目录):
{主 agent 填入绝对路径,例如 /path/to/chapter/prompts/01-slug.md}

=== 本图参数 ===

- 位置:{章节名称} / {段落描述}
- takeaway(读者3秒应获得的顿悟,一句话):{...}
- 推荐布局:{layout}
- 配图作用:{信息补充 / 概念具象化 / 引导想象}
- color_hotspots(哪些元素用 #D87757,其余用黑白):{...}

=== 书稿相关原文(信息榨取的源头,不要压缩)===

{主 agent:把该配图前后 1-3 段完整原文原封不动贴过来}

=== 信息榨取清单(写主要元素前先做这一步)===

在填主要元素之前,先从原文段落里把以下所有内容列出来——这是本图元素的唯一来源:

1. 产品名/工具名:(所有出现的,包括推荐的和备选的,一个不漏)
2. 决策问题/引导文字:(如"你想怎么上手?""想不想装软件?"等,原文照搬)
3. 分类标签:(区域名、类别名,如"云端智能体""本地智能体""推荐路径")
4. 旁注/说明文字:(产品旁边的特点说明,如"零安装·中文·首选""技能最强·迭代最快")
5. 结论性/高潮文字:(如"出发!""效果一样!"等画面高潮元素)

以上每一类都必须在主要元素或次要元素里有对应。漏掉的 = 信息榨取不到位。

=== 配图提示词模板(照此结构填写,把占位符替换为本图内容)===

{主 agent:把 references/illustration-template.md 整段贴过来}

=== 本图布局的视觉语法参考(仅供参考,不要原封不动复制)===

{主 agent:把 references/layouts/{layout}.md 整段贴过来}

注意:第五节(五、布局视觉语法)不是复制上面的通用规则列表,而是用本图的具体元素名来描述这张图的视觉叙事——从哪里开始,中间怎么流动,高潮在哪,整体读图体验是什么。例如:"从顶部'你想怎么上手?'出发,左右分叉为云端和本地两路,最终汇聚到底部'出发!'爆炸框,整体从上到下阅读,像一张手绘的选择指南海报。"

=== 设计系统 Prompt Injection Block(必须字面出现在提示词文件里)===

{主 agent:把 references/design-system.md 第 9 节 Prompt Injection Block 代码块整段贴过来}

=== 格式要求(塌陷检查点)===

1. 文件前两行必须是 HTML 注释:
   <!-- position: 第N章 / X.Y小节名 / 段落位置 -->
   <!-- layout: 布局名 -->
2. 节标题用纯文本("一、插图输入""二、图片比例"…),不加 ## 或 **
3. 主要元素用(1)(2)(3)编号,≥ 4 条,每条嵌套产品名+旁注+备选项,不能只写笼统概括
4. 只能画本书原文里有出处的元素,不要脑补新角色、新符号、新品牌

=== 自检(写完必做)===

(a) 文件前两行是 <!-- position: --> 和 <!-- layout: --> HTML 注释吗?
(b) 节标题是纯文本(没有 ##)吗?
(c) 主要元素用(1)(2)(3)编号了吗?有 ≥ 4 条吗?每条有嵌套的产品名+旁注+备选项吗?
(d) 信息榨取清单里的所有产品名、决策文字、旁注,在提示词的元素里都有对应吗?漏一个就补上
(e) 五、布局视觉语法是针对本图的叙事描述(含本图具体元素名),不是通用规则列表?
(f) 对比规则:有文字叠在 #D87757 色块上时,底色是浅色调变体而非饱和色?
(g) Prompt Injection Block 的三色限定和禁用清单字面出现了?

返回给主 agent:文件路径 + 一句话说明提示词内容 + 自检是否全过(如有不过,列具体问题)。不要粘全文。

文件组织

[章节目录]/
├── final.md(或 draft.md)
├── prompts/
│   ├── 01-evolution.md
│   ├── 02-comparison.md
│   └── ...
└── imgs/
    ├── 01-evolution.webp
    ├── 02-comparison.webp
    └── ...

命名规则

  • NN-english-slug,两位数编号按配图出现顺序,slug 用 3-5 个英文短词(连字符分隔)
  • 提示词和图片同名,只差后缀(.md vs .webp
  • 迭代:改提示词原地改同一份文件,不开 -v2.md

常见翻车模式

  • 文字压在饱和色块上 → 颜色设计里没注入对比规则 → subagent brief 里补充 Prompt Injection Block 完整内容
  • 出现三色外的颜色 → 第四节配色没字面注入 → 返工补全
  • 提示词漏掉书稿里的产品名/决策文字 → 信息榨取不到位 → 回原文段落,把所有可视词汇逐一补到元素列表里
  • 布局选错(决策图用了 hub-spoke) → 把"多选一"画成了"并列展开" → 改成 tree-branching
  • subagent 未抽检就进入出图 → 塌陷的 prompt 混进了图像生成,浪费出图资源 → 步骤四的抽检是硬流程,不要省

参考文件

| 文件 | 作用 |

|------|------|

| references/design-system.md | 必读:三色调色板、对比规则、反 AI 俗套、可读性自查、Prompt Injection Block |

| prompts/system.md | 图片生成系统提示词(出图时自动附加) |

| references/illustration-template.md | 配图提示词模板(subagent 填写的骨架) |

| references/layouts/*.md | 10 种布局的视觉语法(按需内联给 subagent) |

How to use it

Copy the folder

Take jimliu/book-illustrator from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.