# Comic Maker

教程漫画「小课堂」：你的 IP 当老师（没有就先生成一个），3:4 竖版，一期默认 6, 9 页（用户要几页就几页），固定有「开课」封面和「下课」结尾，交给 Codex 内置...

- Repository: https://github.com/yunshu0909/yunshu_skillshub (788 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-11
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add yunshu0909/yunshu_skillshub --skill comic-maker -g -a claude-code -y`
Codex: `npx skills add yunshu0909/yunshu_skillshub --skill comic-maker -g -a codex -y`
Cursor: `npx skills add yunshu0909/yunshu_skillshub --skill comic-maker -g -a cursor -y`
Gemini CLI: `npx skills add yunshu0909/yunshu_skillshub --skill comic-maker -g -a gemini-cli -y`

## Description

教程漫画「小课堂」：你的 IP 当老师（没有就先生成一个），3:4 竖版，一期默认 6, 9 页（用户要几页就几页），固定有「开课」封面和「下课」结尾，交给 Codex 内置 imagegen 出图并核对。当用户说"画漫画"、"做一套漫画讲XXX"、"用漫画解释"、"小课堂"、"换个老师 / 换角色"时触发。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 漫画小课堂（comic-maker）

一个固定的老师角色，用一期漫画讲清一个概念。当前助手（Claude 或 Codex）写故事和每页提示词、交付前逐页看图；出图交给 Codex 内置 imagegen 原样执行；脚本负责检查和核对。

下文 `S` 指本 skill 的脚本目录：

```bash
S=<本 SKILL.md 所在目录>/scripts
```

## 默认配置

```
风格：小课堂（styles/classroom.md）；画风跟着角色参考图走
比例：3:4（提示词第二句写 A vertical 3:4 manga comic page…，见「提示词铁律」；实测 1086×1448）
主角：默认角色（~/.comic-maker/characters/<角色ID>/，settings.py 管理）；讲 AI 时配角用 AI Helper 小机器人
每期：封面「开课」+ 正文 4, 7 页 + 结尾「下课」
出图：Codex 内置 imagegen（scripts/render_codex.py），默认用你 Codex 自己配置的模型
```

## 第 0 步：角色（每次开工先看）

`python3 $S/settings.py get default`（打印出角色档 JSON = 有默认角色；报「没有默认角色」= 还没有）：

- **有默认角色**：告诉用户「本期老师是 X（系列名），要换说一声」，直接往下做。
- **没有**（第一次用）：先跑 `python3 $S/doctor.py` 自检，再按 `templates/character.md` 准备角色, , - 有自己的 IP：给一张图 + 名字，写角色档（字段表在 `templates/character.md`），给用户确认后保存。
  - 没有：问三件事（画什么、配饰、画风，默认彩铅水彩）→ 出 3, 4 个候选 → 用户挑 → 保存。
- **「这期用团团」**：`settings.py get <角色ID>` 读那个角色，只这期用；**「以后都用团团」**：`settings.py use <角色ID>`。

## 启动：先定协作模式

- **快速模式**（用户说「直接做」「你定」「随便选个主题」）：不逐项问，直接给故事线表格 + 每页布局，一次展示后出图；只在出图后请用户看。
- **确认模式**（默认）：在这几处停下来等用户：① 新建角色时，角色档（名字、外貌、系列名）；② 故事线和布局；③ 第一次用 / 刚换角色时的封面试图。其余不打断。

## 工作流程

### 步骤 1：物料理解

- 用户给了文章 / 文件：先读完，提炼核心定义和 3, 5 个关键点；数字、事实只用原文的。
- 只给了主题：基于常识讲，事实拿不准的不写进对白。
- 原文里的真人（作者朋友、名人）不画成角色；产品名可以写成字，但不要画品牌标志。

### 步骤 2：故事线 + 布局（用户拍板一次）

1. 按 `templates/story-structure.md` 选结构（问题-方案 / 教程 / 故事），默认 6, 9 页（用户指定页数就照用户的，3, 5 页用「压缩版」），**第一页固定封面「开课」、最后一页固定结尾「下课」**（见 `styles/classroom.md`「系列固定页」）。
2. 每页按 `templates/layout-patterns.md` 选布局，ASCII 示意。
3. 每格写：画面（谁在做什么、具体道具）、对话气泡、旁白 / 标注。
4. 原则：每格是一个**场景**不是信息点；有连贯故事线（问题 → 解决 → 结果）；元素丰富；字不多不少（每页 2, 5 处指定文字）。

### 步骤 3：写提示词

- 按 `templates/prompt-template.md` 写，每页一个文件：`<任务目录>/prompts/00.txt、01.txt …`（00 = 封面）。角色英文名、外貌、系列名从角色档原样填入；`<hand>` 按角色换成 paw / hand / wing；**不讲 AI 的主题删掉 AI 小机器人那一行**。
- 好例子：`examples/mcp/`（MCP 一期 8 页，示例角色橘子，3 张缩略图），写新一期前先看一份。
- 每份写完对照模板末尾的自检表。

### 步骤 4：出图 + 核对

The rest: https://github.com/yunshu0909/yunshu_skillshub/blob/HEAD/visualization/comic-maker/SKILL.md
