# Edu Subject Infographic

> 将任意学科知识点转化为竖版教育信息图(9:16)。用户只需要输入一个知识点名称(如"声现象"、"勾股定理"、"光合作用"),Skill 自动完成:识别学科/年级/章节、拆解3-5个核心子概念、分配主题色系、为每个子概念生成具体插图描述、构建完整提示词并调用 ai-image-generator 生图。内置双层学科准确性检查:生图前按分学科清单自检提示词,生图后读回 PNG 视觉复核(文字/公式/图示),不通过自动重试,确保交付给学生的内容准确。内置物理(声/光/热/力/电/透镜/机械运动)、数学、化学、生物、语文、历史、英语等学科的插图指引。支持批量生成——"初二物理上学期全部章节"会逐章生成,每章不同色系,风格统一。触发词包括:做一张信息图、知识卡片、学科图解、物理信息图、化学信息图、做张知识图、画个知识卡片、把这个知识点做成图。不要用于动态交互演示(走交互演示 Skill)、文章封面图(走 mp-cover-generator)、手绘风文章配图(走 tech-article-diagram)。

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

---


# 学科知识信息图生成

## 依赖

本 Skill 依赖 `ai-image-generator` 作为生图执行层。确保已安装：

```bash
npx skills add wwwzhouhui/skills_collection -s ai-teaching-media
```

需要设置对应环境变量：`MULERUN_API_KEY`、`APIMART_API_KEY`、`ATLASCLOUD_API_KEY` 或 `AGNES_API_KEY`（设一个即可；多个时请显式指定 `--provider`）。

## 工作流程

### Step 1：解析用户输入

用户输入示例：
- `"声现象"` → 自动推断：初二物理 · 第二章
- `"初二物理 光现象"` → 直接提取：初二物理 · 第四章
- `"帮我做一张关于杠杆原理的知识卡片"` → 推断：初二物理 · 简单机械
- `"勾股定理"` → 推断：初二数学
- `"光合作用"` → 推断：初一生物

提取字段：
- `topic`：知识点名称
- `subject`：学科
- `grade`：年级（未提供则自动推断）
- `edition`：教材版本（默认人教版；不同版本章节编排不同，用户指定了版本就按用户的）
- `chapter`：章节号（未提供则按 `edition` 推断；不确定时宁可省略章节号，也不要标一个错的印在图上）
- `key_concepts`：3-5 个核心子概念（自动拆解）

### Step 2：确定视觉主题色

**全线走低饱和（莫兰迪）色调**——不给生图模型"蓝色系"这种粗粒度色名（它会默认输出高饱和的
"AI 信息图蓝"），而是给**具体色卡**：主色 + 底色 + 中性色各带 hex 锚点。同学科不同章节在
可选色卡里轮换主色，同一批次不重复。

| 色卡 | 主色 (accent) | 底色 (bg tint) | 中性 (neutral) | 适用 |
|------|--------------|---------------|---------------|------|
| 陶土橙 | terracotta `#C97E4E` | cream `#F7F1E6` | slate blue-grey `#3A506B` | 物理(声/热)、化学(有机) |
| 深灰蓝 | slate blue `#3A506B` | misty blue-white `#EDF3F8` | warm grey `#8A7D6B` | 物理(电/力)、英语 |
| 柔青绿 | muted teal `#4A9E9B` | pale green-white `#EAF1E3` | grey olive `#8E9678` | 物理(光/透镜)、化学 |
| 雾紫 | misty purple `#7A6296` | ivory `#F7F3ED` | grey blue `#6B7889` | 数学 (与教学视频 math 主题同源) |
| 深茶绿 | deep tea green `#5F6B4F` | pale green-white `#EAF1E3` | light khaki `#D9C9A3` | 生物 |
| 焦糖棕 | caramel brown `#8A624A` | cream beige `#F4E6C8` | grey coffee `#6F5F4A` | 语文、历史 |
| 鼠尾草绿 | sage green `#8FA08A` | oat `#F2EAD9` | grey olive `#8E9678` | 生物(植物)、英语 |

规则：
- 主色只用在**标题、编号徽章、关键词、公式高亮**上（约 10% 画面），卡片底和背景走底色的浅变体
- 中性色给次级文字、结构线、说明性标注
- 禁止高饱和糖果色、霓虹色、纯 `#FF` 系色相
- 与 `edu-teaching-animation` 做同一知识点时，选同源色卡（如勾股定理 → 雾紫），信息图、动图、视频风格统一

### Step 3：构建提示词

读取 `references/prompt_template.md` 获取提示词骨架，填入以下变量：

- `{topic}` → 知识点名称
- `{grade}` → 年级
- `{subject}` → 学科
- `{chapter}` → 章节
- `{theme_color}` → 主色（英文名 + hex，取自 Step 2 色卡，如 `misty purple #7A6296`）
- `{bg_tint}` → 底色（英文名 + hex）
- `{neutral_color}` → 中性色（英文名 + hex）
- `{num_sections}` → 子概念数量
- `{sections_content}` → 各子概念的标题、插图描述、说明文字（从 `references/illustration_guide.md` 中匹配，无匹配则自动生成）

### Step 4：学科准确性自检（提示词层）

在调用生图之前，对构建好的提示词做检查。这是第一道防线，挡"提示词本身写错"。

**数据源：** 同时读取以下三个文件，与当前提示词交叉比对：
- `references/accuracy_checklist.md`：通用检查清单 + 分学科检查清单
- `references/illustration_guide.md`：各知识点的"必须包含"和"常见错误"列，逐项核对
- `references/errata.md`：历史勘误记录，确认没有重复踩坑

**检查顺序：**
1. **通用检查**（所有学科）：错别字、公式变量标注、年级匹配（超纲检查）、章节号与教材版本一致、数值合理性
2. **分学科检查**：按 accuracy_checklist.md 中对应学科的清单逐项过。不同学科的出错模式不同——物理查控制变量条件/电路规范/标量矢量，数学查定理适用条件/图形标注一致，化学查配平/反应条件/↑↓符号，生物查过程四要素/箭头方向，语文查名句原文/作者朝代对应，历史查年代/人物事件对应，英语查拼写/词性/例句语法

如果发现问题，先修正提示词再调用生图。

### Step 5：调用 ai-image-generator 生图

将构建好的提示词传递给 `ai-image-generator` 执行生图：

```bash
# 单张生成（提示词较长，建议写入文件用 --prompt-file 传入）
python ../ai-image-generator/scripts/generate.py --provider agnes --mode generation \
  --prompt-file "<提示词文件路径>" \
  --aspect-ratio "9:16" \
  --output-dir "output" \
  --name-tag "{topic}"

# 批量生成（多个知识点）
# 逐张调用，每张使用不同主题色和 --name-tag
```

> CLI 必填 `--mode generation`；输出用 `--output-dir`（目录）+ `--name-tag`（文件名前缀），脚本自动加时间戳，不是 `--output` 单文件路径。

输出规格：
- 比例：9:16 竖版
- 格式：PNG
- 输出路径：`output/` 目录

### Step 6：成图视觉复核（图像层）

这是第二道防线，挡"提示词对但图画错"——生图模型可能渲染出乱码、错别字、公式上下标错乱、箭头画反、电路画混。**每张图生成后必须复核，不复核不交付。**

1. 用 Read 工具读取生成的 PNG
2. 对照 `references/accuracy_checklist.md` 底部"成图视觉复核要点"，逐项核对图中**实际渲染出来**的内容：
   - 所有中文文字：无乱码、无错别字、无缺笔画的伪汉字
   - 公式/方程式/数字：与提示词完全一致，上下标正确，单位没丢
   - 图示逻辑：箭头方向、标注位置、结构关系与提示词描述一致
   - 再按该学科的分学科清单过一遍图中内容
3. 判定与处理：
   - **通过** → 交付
   - **不通过** → 在提示词中针对出错点追加强调指令（如 `The formula must read exactly "a² + b² = c²" with correct superscripts`），重新生成。最多重试 2 次
   - 重试 2 次仍不通过 → 交付其中最好的一张，但**必须明确告知用户图中哪里有错**，绝不静默交付错图给学生
4. **勘误回流**：复核中发现的知识性错误（提示词层漏掉的，不含纯渲染乱码），按格式追加到 `references/errata.md`，让下次生成自动避坑

### Step 7：批量生成

用户请求多个知识点时（如"初二物理上学期全部章节"）：
1. 自动拆解为独立知识点列表
2. 为每张图分配不同主题色（同一批次不重复）
3. 逐张调用 `ai-image-generator`，保持风格统一但色彩各异
4. **每张图独立走完 Step 4 自检和 Step 6 视觉复核**，不因批量而跳过；复核结果在最终汇总中逐张报告（通过/重试后通过/带瑕疵交付）

## 使用示例

```bash
# 单个知识点
"声现象，做张信息图"
"帮我做一张物态变化的知识卡片"

# 指定学科和年级
"初二物理 光现象"

# 跨学科
"勾股定理"
"光合作用"

# 批量
"帮我把初二物理上学期的知识点全部做成信息图"
"初二物理 声现象、物态变化、光现象、透镜，分别做一张"
```

## 注意事项

- 所有文字必须为中文
- 插图以简洁图解为主，不使用真实照片
- 每张信息图的子概念控制在 3-5 个
- 公式必须清晰标注变量含义
- 底部总结区域三选一：关键术语徽章 / 学习提示框 / 生活实例条
- 同一批次生成的多张图，色系必须不同
- **受众是学生，准确性优先于美观**：每张图必须走完 Step 4 提示词自检 + Step 6 成图视觉复核才能交付；发现无法修复的知识性错误必须告知用户，不静默交付
- 章节号默认按人教版标注；用户用其他版本教材时请在输入中说明
- 此 Skill 仅生成静态信息图；动态交互演示请使用对应 Skill

