# Xiaohu Illustrator

> 用"挑认知锚点 → 现编隐喻 → 反 PPT 自检"的方法,为中文深度文/方法拆解生成锁定专属风格的正文配图(不是通用插画,不是样式库选风格)。当用户说"隐喻配图""正文配图""小互配图""给这篇编几张隐喻图""配图引擎""挑哪里该配图""配图 shot list"时使用。小互 IP 锁定(红框眼镜/齐刘海/橙红毛衣/狐狸),画风多皮肤可选(3D盲盒/黑白线稿/扁平),表情随内容情绪变化。与 baoyu-article-illustrator(无固定角色、纯样式库)并存:本技能角色锁定+隐喻驱动,画风可换皮肤。

- Skill: `xiaohuailabs/xiaohu-illustrator` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add xiaohuailabs/xiaohu-illustrator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/xiaohuailabs/xiaohu-illustrator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: xiaohuailabs (https://skillmd.com/u/xiaohuailabs)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/xiaohuailabs/xiaohu-illustrator

---


# 小互隐喻配图引擎

> 借鉴自 helloianneo/ian-xiaohei-illustrations(小黑 Codex Skill)的方法骨架,换成小互自己的画风与场景。血统留痕见 references/血统.md。

## 核心定位

为中文**深度文 / 方法拆解 / 产品解读**生成锁定专属风格的正文配图。目标**不是**:商业插画、PPT 信息图、样式库随机选风格、可爱卡通。目标**是**:把文章里的一个关键判断 / 流程 / 状态 / 隐喻,变成一张锁定专属风格、有记忆点、一眼怪但一秒懂的解释图。

**画幅**:**比例按每张图的内容结构逐张判断,不套固定默认**。公众号手机端阅读基准偏竖(`3:4`/`4:3`),`16:9` 只留给横向内容——见下「工作流 · 2.5 定比例」。常用 `16:9 / 9:16 / 4:3 / 3:4 / 1:1 / 3:2`。

## 依赖(装好技能后唯一要自备的东西)

本技能只负责「想清楚画什么」+「组好提示词」,**实际生图用你环境里任何支持「文生图 + 参考图」的途径**:API 脚本、MCP 工具、生图技能都行。硬要求只有两条:
1. **能传 1-2 张参考图**(锁 IP 角色用,见 ip-character.md)——推荐 GPT-image 系列(中文标注准确率高,传 `image_urls` 锁角色)或 Gemini
2. **能指定画幅比例**

按情况三选一(详细对比见 README「生图途径怎么解决」):
- **已有 API** → 让 Claude Code 写个调用脚本,一次写好反复用。OpenAI 兼容中转端点同样能跑
- **没有 API** → 对 Claude Code 说"帮我写一个调 OpenAI 图像 API 的生图脚本",key 申请、脚本、落盘目录一次配好
- **不想花钱** → 走「纯提示词模式」:用户明说"只出提示词不生图"时,跳过步骤 3 的 API 调用,把每张图的完整提示词 + 该传哪张参考图,逐张输出为清单,用户自己贴到 ChatGPT / Gemini 网页版手动生成。后续 QA / 交付步骤照走(用户把图存回来后)

和 baoyu-article-illustrator 的分工:
- **baoyu-article-illustrator** → 每篇从样式库选不同风格,灵活但不统一
- **本技能** → 锁定一套小互专属画风 + (可选)固定 IP,换辨识度。读者一眼认出"这是小互出品"

## ✅ 已定调(2026-05-31 v3):角色锁定 + 多画风皮肤

- **IP 锁定**(跨画风不变):小互——红框圆眼镜 + **黑色齐刘海 bob(⛔无丸子)** + 橙红毛衣牛仔背带裤 + "小互"名牌 + 耷拉狐狸搭档。详见 `references/ip-character.md`
- **画风可选皮肤**:3D盲盒 / 黑白线稿 / 扁平,每篇按调性选一种(默认 3D)。详见 `references/style-dna.md`
- **⛔ 表情/动作随内容情绪变化**(最核心一条):每张小互的脸和动作必须演出这张的情绪,禁止全套一张呆脸。映射表见 ip-character.md
- **形象锚点图**:`examples/xiaohu-ip-正面挥手.png`、`笑脸特写.png`(齐刘海版)。生图时传作参考图锁角色
- **想换成你自己的角色?** 装上就能用小互跑通,但强烈建议定义自己的 IP——辨识度才是你的。三步替换法见 `references/customize-your-ip.md`

演进:v1 手绘线稿/deadpan → v2 3D 锁定 → v3 角色锁定+多皮肤+齐刘海。

## 先读这些参考

**出 shot list 前必读这四个**(理解力+分流靠它们,不是"按需"):`cognitive-anchors` + `deep-reading` + `explanatory-diagrams` + `comic-strip`。其余按需读取,不要一次塞满上下文:
- `references/cognitive-anchors.md` — 该配图的点怎么挑(认知锚点清单 + 四品类差异)
- `references/deep-reading.md` — **挑完锚点后的深层提炼**(三问:真意/张力/灵魂话,防表面图解;+ Q4 内容锁定,防"传神但不准")
- `references/metaphor-method.md` — 每张图怎么现编一个生活化隐喻(三步法 + 物件池/动作池 + 反复刻)
- `references/expression-method.md` — **表情怎么演到位**(情境描述+演技锚点双图法 + 情绪→摸鱼记对照表)
- `references/explanatory-diagrams.md` — **解释图示**(流程/信息/对比/阶梯/关系图 + 小互当讲解员;难懂处用,不只情绪图)
- `references/comic-strip.md` — **四格漫画**(第三轨;有时间线/转折/心路历程的内容用,起承转合 + 表情递进,一张图讲完一个故事)
- `references/anti-ppt-qa.md` — 怎么防止画成 PPT(负向清单 + 失败信号 + 迭代修法)
- `references/style-dna.md` — 专属画风(占位待填)
- `references/ip-character.md` — 专属 IP(占位待填)
- `references/prompt-template.md` — 单张生图提示词模板(画风变量待填)

## 工作流

### 1. 消化正文 → 逐节枚举计划表(强制,替代"凭感觉挑点";2026-06-10 借 baoyu 改)

读文章(路径 / 粘贴 / Markdown)。**不要"挑几个顺眼的点"——"挑"是漏斗,会漏掉枯燥但难懂的机制段(MoE / 内存 / 路由这种)。改成逐节枚举:把文章每一节(到二/三级小标题粒度)都列进下表,每节一行,不许跳。**

| 小节 | 内容信号(数据/流程/对比/架构机制/时间线/纯叙事) | 非专家会不会卡 | 该走哪轨 + type | 配 / 不配 + 一句理由 |
|---|---|---|---|---|

- **每节都要有行,包括判"不配"的**——把理由写出来(如"纯叙事,文字已说透")。漏一节 = 静默省略,这正是过去配图偏少的根因。
- "配 / 不配" 判据见下方双向第一性原则。判"配"的行继续走 1.3 深层提炼 + 1.5 分轨;判"不配"的行停在表里。
- 表是步骤 2 的 shot list 和一次确认的底稿——**先有表,再有图**。

⛔ **第一性原则(双向,高于本技能所有数量规则;2026-06-07 立"天花板",2026-06-10 补"地板"):配图唯一目的是帮读者搞懂内容、尤其难懂的概念。两个方向都要守:**

**天花板(不许多配 / 凑数):**
- 文字已说透、不抽象的点不配图(图是浪费)。一句话能讲清的分工 / 关系,别硬画。
- 真实截图 / 官方图能说明问题时,自造插图是辅助不是主角,不为"配够"硬加。
- 判据:"删了它读者会更难懂吗?"——不会 → 砍。

**地板(不许漏配难懂机制,2026-06-10 加):**
- **每个抽象机制 / 难懂结构 / 关键对比,至少配 1 张解释图**(架构、内存、算法、数据流、MoE 这类,对小白几乎永远"没说透")。
- 判"不配"前必须证明:这节没有一个非专家会卡的抽象点。**别拿"我觉得说透了"当借口——判的是读者卡不卡,不是你(已经懂的人)觉得清不清楚(知识诅咒)。**
- 张数仍无默认值,但技术深度文的解释图数 ≈ 文中独立抽象机制数(通常 4-8);明显低于这个数 → 多半漏了,回表复查。

### 1.3 ⛔ 深层提炼(挑完锚点后、分轨前,强制,不能跳)

挑出认知锚点只是"找到了在哪配图"。这一步要回答"这张图到底要让读者感受到什么"——**理解文字背后的含义,不是图解文字表面**。见 `references/deep-reading.md`。

对每个锚点逐个回答三个问题(内心独白,不用写给用户看,但必须想清楚再进 1.5):

1. **作者的真意是什么?** 不是这段在说什么(表面),而是作者为什么在这里说这个(底层)。是在做判断?在纠偏?在制造反差?在暗示一个没直说的结论?
2. **张力在哪?** 每个值得配图的点背后都有一个张力——旧认知 vs 新事实、期望 vs 现实、简单表象 vs 复杂真相、大众直觉 vs 反直觉判断。找到这个张力,图才有戏剧性
3. **读者看完这张图,脑子里应该留下的一句话是什么?** 不是标题,不是段落摘要,是一个能让人"啊原来是这样"的顿悟。这句话就是这张图的灵魂——后面编隐喻、选构图、写标注全围绕它

**判据**:如果三个问题答完,发现这个锚点的"真意"跟段落表面说的差不多(比如"三家公司在竞争"→画三条赛道),说明没挖到底层。逼自己再想一层:竞争的真正赌注是什么?谁的姿态反映了什么战略?哪个细节暴露了真实意图?——把这个更深的东西画出来,而不是画"三个人跑步"。

**⛔ 三问之后必须再做 Q4「内容锁定」(见 deep-reading.md):** 回原文锁这张图的"必现内容清单"(真实部件 / 数字 / 步骤,逐条 grep 原文确认)。三问保证传神,Q4 保证准确——两个都做完才进 1.5,缺了 Q4 图就容易"好看但对不上内容"。

### 1.5 图类型分流(强制门槛,不能跳)

挑完锚点,**每个点先判定走哪一轨,再进 shot list**。这是硬门槛——跳过它,所有图都会滑成"小互+隐喻物件"一种形态(2026-06-01 踩坑根治:6 张全做成角色隐喻,信息图/流程图/四格漫画一张没出)。

**三轨判定**(问:这一段读者卡在哪?):
- **没共鸣 / 缺钩子** → 情绪锚点图(小互演情绪;走 `metaphor-method` + `expression-method`,双图法传演技锚)
- **没看懂结构 / 流程 / 组成 / 对比 / 关系** → 解释图示(boxes+arrows+icons,小互当讲解员;走 `explanatory-diagrams`,传长相锚**不**传演技锚)
- **有时间线 / 转折 / 心路历程**("以前X→后来Y""踩坑→解决") → 四格漫画(2x2 起承转合;走 `comic-strip`,传长相锚**不**传单一演技锚)

信号速记:讲"一串步骤 / 几个组成 / 两种对比 / 谁触发谁"=解释图;讲"前因后果 / 翻转 / 演变"=四格漫画;只为态度共鸣=情绪图。

⛔ **分布 gate(出 shot list 后自检)——这是否决项,不是配额(2026-06-07 改:别读成"每类来一张")**:
- **否决·全是情绪图**:情绪锚点图占一半以上 → 多半是没分流、在用小互演情绪凑数,打回重判(全篇确实只需钩子、没难懂结构时例外,但要说得出理由)
- **否决·形态选错(该解释图用了情绪图)**:某点是"几个组成 / 一串流程 / 对比 / 进阶"且文字没说透,却画成小互演表情 → 换解释图。⚠️ **不是"有结构就必须配 1 张解释图"——文字已说透就不配**
- **否决·形态选错(该四格用了单张)**:某段是完整时间线 / 转折,单张讲不出过程 → 用四格。⚠️ 同样**不是"有时间线就必须来一张四格"**
- **核心**:gate 只拦"形态选错"和"全是情绪图凑数",**不强制任何类型的最小张数**。一篇可以只有 1 张解释图、0 情绪图、0 四格——只要那张是内容真需要的

### 2. 出 shot list + 一次确认(强制 AskUserQuestion,不能跳)

shot list = 步骤 1 表里判"配"的那些行展开。每张写清:
- 放在哪段后 / 主题 / 核心意思(填 1.3 的灵魂话) / **图类型(三轨六类必填:情绪锚点 / 解释图[流程·信息·对比·阶梯·关系] / 四格漫画——见 1.5)** / **必现内容点(来自原文的真实结构/数字/部件,见 1.3 的 Q4 内容锁定)** / (IP 动作或当讲解员) / 建议中文标注词 / **比例(逐张按内容判断,见 2.5)**

**配图密度**:`--density` 是用户显式覆盖(精简 1-2 / 均衡 3-5 / 每节至少 1 / 丰富 6+)。不传时张数 = 步骤 1 表判"配"的行数,走双向第一性原则(既不凑数,也不漏难懂机制)。⛔ 别默认往某个数凑,但也别因"我觉得说透了"把难懂机制压到 0。

⛔ **一次确认(借 baoyu,2026-06-10 加):生图前必须把步骤 1 的整张枚举表(含判"不配"的行 + 理由)+ 这份 shot list,用 AskUserQuestion 给用户过一遍**——让用户在烧 API 前就拦住"这节怎么没配""这张形态选错了""这节确实不用配"。用户确认 / 调整后才进生图。批量赶稿用户说"你定"可跳过确认,但表和 shot list 还是要产出。

**画风未定调 → 同一轮一起定(见 2.8),别多问一次。**

### 2.5 定比例(我按内容判断 + 公众号偏竖,用户可覆盖)

**不套固定默认**。shot list 里每张都按内容结构判断比例,逐张标出:

- **内容 → 比例(判断逻辑)**:
  - 横向流程 / 左右前后对比 / 系统全景 → `16:9` 或 `4:3`(信息天然横向流动)
  - 单角色情绪图 / 单物件 / 概念隐喻 → `3:4` 或 `1:1`(主体大、标注清)
  - 纵向分层 / 上下台阶 / 信息密集长图 → `3:4` 或 `9:16`
- **为什么基准偏竖**:公众号正文图宽度被微信撑满,`16:9` 在手机上高度只 ~1/4 屏,小互角色 + 中文标注显得小;`3:4`/`4:3` 更大更舒展、标注看得清。所以 `16:9` 退化成"横向内容专用",**不是默认值**。`9:16` 信息最满但太高、打断阅读,只给真正信息密集的长图。
- **用户覆盖**(优先于我的判断):
  - `--ratio 4:3` = 强制全篇统一某比例(版式最齐,覆盖逐张判断)
  - 单张直接说"图N 改竖版/横版"即可
- ⚠️ **横竖混排取舍**:同篇正文横竖混排,读者滚动时图宽忽大忽小。逐张判断时若多数图性质相近,尽量收敛到 1-2 种比例;真要混,让它服务内容不是炫技。
- ⛔ **比例数值与 prompt 方向词必须联动**(改漏会变形):见 `prompt-template.md` 的 orientation 映射——`16:9/4:3/3:2`→horizontal,`9:16/3:4`→vertical,`1:1`→square。

### 2.8 ⛔ 画风选择(硬停顿,品味节点,不能跳)

用户 `--style` 已指定 → 直接用。**没指定 → 必须 AskUserQuestion 让用户选**,给 2-3 个按文章调性推荐的皮肤候选(附 `examples/皮肤样张/` 对应预览图描述),不能默认 3D 就往下走。判断依据见 `style-dna.md`"怎么选皮肤"。

这是品味节点,和封面文案/标题同级——默认 Top 1 生成是禁止的(2026-04-24 封面踩坑同根因)。

### 3. 单张生成

> 生图推荐走 **GPT-image 系列**(质感最强,中文标注准,传参考图锁角色);Gemini 备选。3D 皮肤尤其推荐 GPT。用你自己的生图途径,见上方「依赖」一节。

> **⛔ 用 GPT-image-2 的正确姿势(2026-06-10,瘦渲染留编辑):它中文字符级 ~99% 准、"先想后画"自己会规划版面。所以——版面用语义描述("左内存右闪存、中间分隔"),别抠像素坐标;中文标注放心让它写,别再搞叠字 workaround(见 prompt-template 文字层方案已废弃)。省下的功夫全压到"内容对不对":版面 / 文字 / 风格交给模型 + 锚点参考图,你只把关"配几张、配哪、每张的真实内容 / 机制对不对"(步骤 1 枚举表 + deep-reading Q4 内容锁定)。渲染器越强,内容把关越重要——一张好看但机制画错的图,比丑图更骗人。**

**3.0 基准图先行(定调,防全篇风格漂移)**:正式批量前先只生 **1 张基准图**(建议信息图或主角色图),确认背景/光影/精致度符合视觉契约(见 style-dna)。基准对了再批量,后续所有图沿用同一皮肤 + 同一视觉契约句(可把基准图当 style reference 传),保证一篇统一;基准不对先调 prompt 别批量。

**皮肤已在 2.8 确定**,这里直接用。一篇内所有图同一皮肤 **+ 同一视觉契约**(六维统一,见 style-dna;每张 prompt 粘 prompt-template 的视觉契约句)。

每张图按 `metaphor-method.md` 现编隐喻 → 套 `prompt-template.md` 组提示词(STYLE_DNA 注入选定皮肤,IP 段注入角色)→ **调你的生图途径出图落盘**。一张一张生,不拼图。比例参数必须填这张定的比例(全篇默认或单张覆盖值),**同时把 prompt 第一句的方向词改成对应 orientation**(见 `prompt-template.md`),数值和方向词不一致会出图变形。

**生表情走双图法**(见 `expression-method.md`):每张传**两张 --reference** = 长相锚点(`examples/xiaohu-ip-正面挥手.png`)+ 演技锚点(`examples/演技锚点/` 按本张情绪挑)。表情靠情境描述 + 演技锚点,**不写死面部**。黑白/扁平皮肤 prompt 强调"keep character from ref1, expression from ref2, render in [皮肤] style"。

⛔ 不复刻旧图构图,每张从当前文章重新发明隐喻(见 metaphor-method.md 反复刻规则)。

### 4. QA 自检

按 `anti-ppt-qa.md` 检查:白底/留白/隐喻成立/非 PPT/中文可读/IP 承担动作。命中失败信号 → 优先局部编辑或重生成。

### 5. 交付

- 图按 `YYYY-MM-DD-关键词/` 文件夹归档到你的图片目录,文章里按你的发布管线引用(本地路径 / 图床 CDN URL 都行)
- 如果走图床:上传后端到端验证——curl 确认 200 → 下载确认是有效图,别只看"上传成功"
- 交付报告:几张、每张用途、保存路径、哪些最稳哪些可选。不长篇讲风格理论,让图说话

## 流程原则

- **简单可重复**:每次走完整流程,不加锁定/批量/记忆上次。`--style` 快捷可有但不自动记。
- **API 最多 2 次**:生图失败最多 2 次,不在挂掉的 API 上耗。
- **审美不固化成硬规则**:style-dna 存方向和判断力,不写成关键词替换表。衍生是延伸提高不是模仿。

## 自修复

步骤失败 / 过时 / 产出不符预期 → 立即告知哪步出问题并提议修改,不默默绕过。

