# Gimi Illustration

> Multi-style illustrations from Chinese article text (配图 / illustration): quirky sketch, warm storybook, product proposal; OR custom IP enrollment (自定义 IP / 录入 IP / 上传形象 / 新建 IP). When the user is enrolling a custom IP: do NOT generate a poster or illustration first — load references/ip/_template.md and run Step 0 (plan confirm before freeform image gen). Use for 配图, 给文章配图, 帮我配图, illustration, 自定义 IP, 录入 IP, 上传形象, 新建 IP, 怪诞手绘, 暖调绘本, 产品方案.

- Skill: `fangzhengjin/gimi-illustration` (Agent Skill, multi-file: 44 files)
- Install (CLI): `npx skillmds@latest add fangzhengjin/gimi-illustration`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fangzhengjin/gimi-illustration/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Design & Media
- Author: fangzhengjin (https://skillmd.com/u/fangzhengjin)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/fangzhengjin/gimi-illustration

---


# gimi-illustration · 配图 Skill

> **Public 3.0** = 产品 **v3.0**（多风格：怪诞手绘 / 暖调绘本 / 产品方案 + 自定义 IP）  


> 换窗口：有 `docs/` 时先读 `docs/INDEX.md` → `docs/roadmap.md`；执行以本文件 + `references/ip/_template.md` 为准

## ⚠ 路由分流（先读 · 防 ImageGen 抢跑）

触发含 **`自定义 IP` / `录入 IP` / `上传形象` / `新建 IP`**（可附图）时：

1. **立刻**加载 `references/ip/_template.md`，走 **Step 0**；**不要**先当「配图 / 海报」生图  
2. **本回合禁止**调用任何生图工具（`image_gen` / `GenerateImage` / ImageGen 等），直到用户已回答「按这个形象方案录入吗？」  
   - **半身/全身相同**：首轮**只**出形象方案 + 收尾问；**零例外**  
   - 确认后：半身才允许 0.2b 全身设定稿；再 0.4 校准  
3. **禁止**把录入理解成「生成一张 IP 主题海报 / 原创插画海报」  
4. 细则与话术以 `_template` 为准；本段与之冲突时，**以本段路由为准**（先拦抢跑）

触发仅为 **`配图` / `illustration`** 等、且非录入 IP → 走下方 Quick Mode / Step 1–5。

---

输入文章内容，生成配图。默认风格「怪诞手绘」（`quirky-sketch`），可切换已录入风格（如「暖调绘本」）；IP 为 `gimi` / `none` / 自定义实例，默认 16:9。

---

## 触发词

配图：`配图` / `给文章配图` / `帮我配图` / `illustration`  
自定义 IP：`自定义 IP` / `录入 IP` / `上传形象` / `新建 IP`

---

## 参考文件（按需加载）

| 文件 | 何时加载 |
|------|---------|
| `docs/INDEX.md` | 换窗口文档导航（先读） |
| `docs/roadmap.md` | 换窗口工作台 / 要改规则时 |
| `docs/spec.md` | 产品规划（防跑偏）；非执行协议 |
| `references/styles/{$STYLE}.md` | 生图 / 校准 / 风格 QA 时 |
| `references/styles/_template.md` | 批量录入新风格时（非配图热路径） |
| `references/composition-patterns.md` | 出策略时（**非** Step 0） |
| `references/visual-promise.md` | Step 2 判视觉承诺 / 结构·外参·域物件（**SSOT**；细则不抄进本文件） |
| `references/shot-config.md` | 出策略时（**非** Step 0） |
| `references/prompt-template.md` | 组装 prompt 时 |
| `references/qa-checklist.md` | 质检时 |
| `references/ip/_template.md` | **自定义 IP / Step 0（优先于生图）** |
| `references/ip/gimi/ip.md` | `$IP` = gimi |
| `references/ip/none.md` | `$IP` = none |
| `references/ip/{id}/ip.md` | `$IP` 为已存在的自定义 id |

---

## 生图能力

调用当前 AI 软件**内置的生图工具**（如 Codex `@Image Gen`、Cursor `GenerateImage` 等）。Skill 负责策略、prompt 组装、参考图附件、QA；生图由平台工具执行。接口语义：文本 prompt + 可选图片附件。

**Step 0 录入中：** 遵守文首「路由分流」；未满足允许条件前**不得**调用生图工具。

平台适配优先级：

1. 支持显式图片附件的平台：把参考图作为 image reference 附件传入。
2. Codex `image_gen`：已有 IP 的正式配图一律传「设定图 + 当前 `(IP, STYLE)` 校准图」；先跑 Step 1.5，缺任一张不得生正式图；再 `image_gen`
3. 不支持图片输入且无法把图片放入上下文时，暂停说明原因；已有 IP 不得降级为仅文字锚点的正式配图。

---

## 核心变量

| 变量 | 默认值 | 说明 |
|------|--------|------|
| `$STYLE` | `quirky-sketch` | 默认怪诞手绘；可按主人语言切换为已录入风格（见 Step 1） |
| `$RATIO` | `16:9` | 宽高比；用户可指定任意比例 |
| `$IP` | `gimi` | `gimi` / `none` / 其他：若存在 `references/ip/{id}/`（非 `_template`）则加载该实例 |
| `$REF_MODE` | 解析得出 | `dual` / `style-single` / `none`；已有 IP 缺当前风格校准时为 `lazy` 门禁，不是可交付参考模式 |
| `$TITLE` | 无 | 用户要求时顶部手写标题 |
| `$COUNT` | 自动推断 | 配图张数 |
| `$OUTPUT_SIZE` | 无 | **可选**；仅用户明确要求具体像素时记录 |

**推荐像素（非强制）：** 16:9 → 建议 1920×1080；3:4 → 建议 1080×1440。

---

## 工作流

### Quick Mode

用户已给正文且变量可推断 → 不多问，直接生图。以下情况才确认：用户说「先别生图」、变量冲突、新 IP 尚无 `ip.md`（先走 Step 0）、或 Step 1.5 判为 `lazy`。
**Step 0 进行中：关闭 Quick Mode**（不得跳过确认话术）。  
**录入触发词出现时：不适用 Quick Mode 生图。**

### Step 0 · 自定义 IP（按需）

用户要新建/录入 IP 时：加载 `references/ip/_template.md`，严格按其中 Step 0 填槽（用户只需附图 +「录入 IP」，不必写 Step 编号）。  
**双层：** 协议走 0.1–0.5；对用户只用「用户层话术」（见 `_template`），称当前 `$STYLE` 的 `display_name`（录入默认多为「怪诞手绘」），不暴露 Step 编号。  

**硬门禁（0.5 完成前）——与文首路由分流一致：**

1. **入口（半身/全身相同）**：首轮只出形象方案 +「按这个形象方案录入吗？」；**一律禁生图**；禁海报式成稿  
2. **禁止配图抢跑**：不得进 Step 1–5；不得写 `shot-config.md`  
3. **出图后必须提问**：同轮追加收尾问；**图 ≠ 闭合**（仅 0.2 确认之后才允许生图）  
4. 半身：确认后 0.2b 须头到脚；落盘 `reference-character.png` 一律 full  
5. 0.4 标准风格样板镜（读 `styles/{$STYLE}.md`）；「像吗？」未闭合前不得进配图  

`examples/{$STYLE}/` 空且要用该风格配图时 → lazy 补 0.4（**已启用**，见 `_template` 多风格细则）。  
完成后才进入配图；配图时 `$IP={id}`。

### Step 1 · 意图确认

记录：`$RATIO` · `$IP` · `$STYLE` · `$TITLE` · `$COUNT` ·（可选）`$OUTPUT_SIZE`

Quick Mode 推断：竖版/小红书 → 3:4；否则 → 16:9。

**`$STYLE` 解析（主人语言，不要求用户写 id）：**

1. 扫描 `references/styles/*.md`（排除 `_template.md`）的 `display_name` / `aliases`
2. 明确命中 → 锁定对应 `id`
3. 软命中 → 一句确认（例：「你是说「暖调绘本」那种纸纹暖色吗？」）
4. 未命中或「换个风格」→ 人情味菜单：每项 `display_name` + `tagline`（默认可标「常用」）
5. 未提风格 → `quirky-sketch`；**本会话首次配图**追加一句轻提示（不打断）：  
   「这次先用怪诞手绘。若想换成暖调绘本（纸纹暖色、旅行手帐感），直接说就行。」
6. 用户描述未录入风格 → 不现场发明；说明目前仅已录入风格，问用默认或以后再录

口语优先；`$STYLE=…` 仅进阶。对用户称 `display_name`，不说路径。

### Step 1.5 · 当前参考解析（IP 与无 IP）

在进入 Step 2、写 `shot-config.md` 或生成正式图**之前**，对当前 `(IP, STYLE)` 只判一次：

1. `$IP=none` 且当前风格「无 IP 校准策略」为 `required style-single` → 必须按 `references/ip/none.md` 选择 `assets/none/examples/{$STYLE}/` 中 1 张，记为 `$REF_MODE=style-single`；缺目录 / 缺选图是发布包资产问题，停止并修复，不向用户索图、不降级为纯文本。
2. `$IP=none` 且当前风格没有 required 策略 → `$REF_MODE=none`，保持既有 none 行为；若该风格声明 optional 且有资产，可按 `none.md` 选 1 张作质量收敛。
3. 已有全身设定图且 `assets/ip/{$IP}/examples/{$STYLE}/` 至少有 1 张可用校准图 → `$REF_MODE=dual`，可进 Step 2。
4. 已有全身设定图但当前风格校准目录为空 / 缺文件 → `$REF_MODE=lazy`；只按当前风格 0.4 生成样板，QA 后问「像吗？」；**禁止**写 `shot-config.md`、生成正式图、或附其他风格校准图充当双参考。用户催图也不降级；应说明「这个风格的样板还没定，确认样板后才能正式配图」。
5. 设定图缺失或不可用 → 路由到现有 IP 录入；不得 single 降级或生成正式图。

用户确认「像」后才将该样板落盘到当前 `$STYLE` 目录；后续正式请求重新解析为 `dual`。**已有 IP 的正式配图不允许 single，必须 dual。** IP 文件不维护全局 `ref_mode`；当前风格的目录事实是唯一依据。

### Step 2 · 消化内容 + 出策略

> 仅 `$REF_MODE` 已被 Step 1.5 判为 `dual` / `style-single` / `none` 时可进入。策略：`composition-patterns.md` · 视觉承诺：**必载** `visual-promise.md`（SSOT）· 落盘：`shot-config.md`。

1. 加载 composition + shot-config + **visual-promise**
2. 按 composition **Step 2 决策流程**（二轴 → 创意生成法八步 → 构图库）
3. **每张 shot** 填视觉承诺全家桶（`visual-promise.md`）+ **density / 阅读顺序**（composition「阅读动线语法」；`scenic` 强制）
4. `外参参考`：按 visual-promise §B（主锚预算 + 默认特征锁不附图）；失败/超时静默降级 `意象`（不问用户）
5. Quick Mode：默认落盘进 Step 3；用户说「先看策略」时先展示摘要

### Step 3 · 组装 Prompt + 生图

1. 加载 `styles/{$STYLE}.md`、`prompt-template.md`、对应 `ip/*.md`
2. 只消费 Step 1.5 已解析的 `$REF_MODE`：
   - `dual` → 设定图 + `examples/{$STYLE}/` 中 1 张校准图（两张都存在才可组装）
   - `style-single` → `$IP=none`，必传 `assets/none/examples/{$STYLE}/` 中按 `none.md` 选定的 1 张；prompt 明示只匹配画法，不复制构图、标题、物件排列或业务内容
   - `none` → 仍按 none 规则（无角色设定图，也无 required 风格资产）
   - 参考图未进上下文，不得声称已执行有 IP 流程
3. 按 `visual-promise.md` / `prompt-template`：追加承诺锁；`外参参考` **默认不附**地标图（特征进 SUBJECT）；仅「外参附图=是」才附；`scenic` 追加阅读动线意涵（composition SSOT）
4. 填充变量槽，调用生图工具（`IP_DESC` 在 `STYLE_DNA` 之前，见 `prompt-template.md`）

### Step 4 · QA 质检

加载 `qa-checklist.md`（承诺 → `visual-promise`；动线 → composition「阅读动线语法」）。`$OUTPUT_SIZE` 有值时 → 等比缩放 + 白底留白，禁止裁切。不通过 → 重试，最多 2 次。

### Step 5 · 交付

```
outputs/{YYYYMMDD}-{slug}/
  shot-config.md      ← 配图策略 + 插入位置（与图片同时交付）
  01-{slug}.png
  02-{slug}.png       ← 多张时继续编号
```

---

## 版本

Public / 产品 `3.0` · 三风格可选 + 自定义 IP · visual-promise SSOT

