Knowledge Comic Creator
Create original knowledge comics with flexible art style × tone combinations.
Usage
/baoyu-comic posts/turing-story/source.md
/baoyu-comic article.md --art manga --tone warm
/baoyu-comic # then paste content
Options
Visual Dimensions
| Option |
Values |
Description |
--art |
ligne-claire (default), manga, realistic, ink-brush, chalk |
Art style / rendering technique |
--tone |
neutral (default), warm, dramatic, romantic, energetic, vintage, action |
Mood / atmosphere |
--layout |
standard (default), cinematic, dense, splash, mixed, webtoon |
Panel arrangement |
--aspect |
3:4 (default, portrait), 4:3 (landscape), 16:9 (widescreen) |
Page aspect ratio |
--lang |
auto (default), zh, en, ja, etc. |
Output language |
Partial Workflow Options
| Option |
Description |
--storyboard-only |
Generate storyboard only, skip prompts and images |
--prompts-only |
Generate storyboard + prompts, skip images |
--images-only |
Generate images from existing prompts directory |
--regenerate N |
Regenerate specific page(s) only (e.g., 3 or 2,5,8) |
Details: references/partial-workflows.md
Art Styles (画风)
| Style |
中文 |
Description |
ligne-claire |
清线 |
Uniform lines, flat colors, European comic tradition (Tintin, Logicomix) |
manga |
日漫 |
Large eyes, manga conventions, expressive emotions |
realistic |
写实 |
Digital painting, realistic proportions, sophisticated |
ink-brush |
水墨 |
Chinese brush strokes, ink wash effects |
chalk |
粉笔 |
Chalkboard aesthetic, hand-drawn warmth |
Tones (基调)
| Tone |
中文 |
Description |
neutral |
中性 |
Balanced, rational, educational |
warm |
温馨 |
Nostalgic, personal, comforting |
dramatic |
戏剧 |
High contrast, intense, powerful |
romantic |
浪漫 |
Soft, beautiful, decorative elements |
energetic |
活力 |
Bright, dynamic, exciting |
vintage |
复古 |
Historical, aged, period authenticity |
action |
动作 |
Speed lines, impact effects, combat |
Preset Shortcuts
Presets with special rules beyond art+tone:
| Preset |
Equivalent |
Special Rules |
--style ohmsha |
--art manga --tone neutral |
Visual metaphors, NO talking heads, gadget reveals |
--style wuxia |
--art ink-brush --tone action |
Qi effects, combat visuals, atmospheric elements |
--style shoujo |
--art manga --tone romantic |
Decorative elements, eye details, romantic beats |
Compatibility Matrix
| Art Style |
✓✓ Best |
✓ Works |
✗ Avoid |
| ligne-claire |
neutral, warm |
dramatic, vintage, energetic |
romantic, action |
| manga |
neutral, romantic, energetic, action |
warm, dramatic |
vintage |
| realistic |
neutral, warm, dramatic, vintage |
action |
romantic, energetic |
| ink-brush |
neutral, dramatic, action, vintage |
warm |
romantic, energetic |
| chalk |
neutral, warm, energetic |
vintage |
dramatic, action, romantic |
Details: references/auto-selection.md
Auto Selection
Content signals determine default art + tone + layout (or preset):
| Content Signals |
Recommended |
| Tutorial, how-to, programming, educational |
ohmsha preset |
| Pre-1950, classical, ancient |
realistic + vintage |
| Personal story, mentor |
ligne-claire + warm |
| Martial arts, wuxia |
wuxia preset |
| Romance, school life |
shoujo preset |
| Biography, balanced |
ligne-claire + neutral |
When preset is recommended: Load references/presets/{preset}.md and apply all special rules.
Details: references/auto-selection.md
Script Directory
Important: All scripts are located in the scripts/ subdirectory of this skill.
Agent Execution Instructions:
- Determine this SKILL.md file's directory path as
{baseDir}
- Script path =
{baseDir}/scripts/<script-name>.ts
- Replace all
{baseDir} in this document with the actual path
- Resolve
${BUN_X} runtime: if bun installed → bun; if npx available → npx -y bun; else suggest installing bun
Script Reference:
| Script |
Purpose |
scripts/merge-to-pdf.ts |
Merge comic pages into PDF |
File Structure
Output directory: comic/{topic-slug}/
- Slug: 2-4 words kebab-case from topic (e.g.,
alan-turing-bio)
- Conflict: append timestamp (e.g.,
turing-story-20260118-143052)
Contents:
| File |
Description |
source-{slug}.{ext} |
Source files |
analysis.md |
Content analysis |
storyboard.md |
Storyboard with panel breakdown |
characters/characters.md |
Character definitions |
characters/characters.png |
Character reference sheet |
prompts/NN-{cover|page}-[slug].md |
Generation prompts |
NN-{cover|page}-[slug].png |
Generated images |
{topic-slug}.pdf |
Final merged PDF |
Language Handling
Detection Priority:
--lang flag (explicit)
- EXTEND.md
language setting
- User's conversation language
- Source content language
Rule: Use user's input language or saved language preference for ALL interactions:
- Storyboard outlines and scene descriptions
- Image generation prompts
- User selection options and confirmations
- Progress updates, questions, errors, summaries
Technical terms remain in English.
Workflow
Progress Checklist
Comic Progress:
- [ ] Step 1: Setup & Analyze
- [ ] 1.1 Preferences (EXTEND.md) ⛔ BLOCKING
- [ ] Found → load preferences → continue
- [ ] Not found → run first-time setup → MUST complete before other steps
- [ ] 1.2 Analyze, 1.3 Check existing
- [ ] Step 2: Confirmation - Style & options ⚠️ REQUIRED
- [ ] Step 3: Generate storyboard + characters
- [ ] Step 4: Review outline (conditional)
- [ ] Step 5: Generate prompts
- [ ] Step 6: Review prompts (conditional)
- [ ] Step 7: Generate images ⚠️ CHARACTER REF REQUIRED
- [ ] 7.1 Generate character sheet FIRST → characters/characters.png
- [ ] 7.2 Generate pages WITH --ref characters/characters.png
- [ ] Step 8: Merge to PDF
- [ ] Step 9: Completion report
Flow
Input → [Preferences] ─┬─ Found → Continue
│
└─ Not found → First-Time Setup ⛔ BLOCKING
│
└─ Complete setup → Save EXTEND.md → Continue
│
┌─────────────────────────────────────────────────────────────────────┘
↓
Analyze → [Check Existing?] → [Confirm: Style + Reviews] → Storyboard → [Review?] → Prompts → [Review?] → Images → PDF → Complete
Step Summary
| Step |
Action |
Key Output |
| 1.1 |
Load EXTEND.md preferences ⛔ BLOCKING if not found |
Config loaded |
| 1.2 |
Analyze content |
analysis.md |
| 1.3 |
Check existing directory |
Handle conflicts |
| 2 |
Confirm style, focus, audience, reviews |
User preferences |
| 3 |
Generate storyboard + characters |
storyboard.md, characters/ |
| 4 |
Review outline (if requested) |
User approval |
| 5 |
Generate prompts |
prompts/*.md |
| 6 |
Review prompts (if requested) |
User approval |
| 7.1 |
Generate character sheet FIRST |
characters/characters.png |
| 7.2 |
Generate pages with character ref |
*.png files |
| 8 |
Merge to PDF |
{slug}.pdf |
| 9 |
Completion report |
Summary |
Step 7: Image Generation ⚠️ CRITICAL
Character reference is MANDATORY for visual consistency.
7.1 Generate character sheet first:
- Backup rule: If
characters/characters.png exists, rename to characters/characters-backup-YYYYMMDD-HHMMSS.png
- Invoke an installed image generation skill such as
baoyu-image-gen
- Read that skill's
SKILL.md and follow its documented interface rather than calling its scripts directly
- Use
characters/characters.md as the prompt-file input
- Save output to
characters/characters.png
- Use aspect ratio
4:3
Compress character sheet (recommended):
Compress to reduce token usage when used as reference image:
- Use available image compression skill (if any)
- Or system tools:
pngquant, optipng, sips (macOS)
- Keep PNG format, lossless compression preferred
7.2 Generate each page WITH character reference:
| Skill Capability |
Strategy |
Supports --ref |
Pass characters/characters.png with EVERY page |
No --ref support |
Prepend character descriptions to EVERY prompt file |
Backup rules for page generation:
- If prompt file exists: rename to
prompts/NN-{cover|page}-[slug]-backup-YYYYMMDD-HHMMSS.md
- If image file exists: rename to
NN-{cover|page}-[slug]-backup-YYYYMMDD-HHMMSS.png
- Invoke the installed image generation skill for each page
- Use
prompts/01-page-xxx.md as the prompt-file input
- Save output to
01-page-xxx.png
- Use aspect ratio
3:4
- If the chosen skill supports reference images, pass
characters/characters.png as --ref
Full workflow details: references/workflow.md
EXTEND.md Paths ⛔ BLOCKING
CRITICAL: If EXTEND.md not found, MUST complete first-time setup before ANY other questions or steps. Do NOT proceed to content analysis, do NOT ask about art style, do NOT ask about tone — ONLY complete the preferences setup first.
| Path |
Location |
.baoyu-skills/baoyu-comic/EXTEND.md |
Project directory |
$HOME/.baoyu-skills/baoyu-comic/EXTEND.md |
User home |
| Result |
Action |
| Found |
Read, parse, display summary → Continue |
| Not found |
⛔ BLOCKING: Run first-time setup ONLY (references/config/first-time-setup.md) → Complete and save EXTEND.md → Then continue |
EXTEND.md Supports: Watermark | Preferred art/tone/layout | Custom style definitions | Character presets | Language preference
Schema: references/config/preferences-schema.md
References
Core Templates:
- analysis-framework.md - Deep content analysis
- character-template.md - Character definition format
- storyboard-template.md - Storyboard structure
- ohmsha-guide.md - Ohmsha manga specifics
Style Definitions:
references/art-styles/ - Art styles (ligne-claire, manga, realistic, ink-brush, chalk)
references/tones/ - Tones (neutral, warm, dramatic, romantic, energetic, vintage, action)
references/presets/ - Presets with special rules (ohmsha, wuxia, shoujo)
references/layouts/ - Layouts (standard, cinematic, dense, splash, mixed, webtoon)
Workflow:
- workflow.md - Full workflow details
- auto-selection.md - Content signal analysis
- partial-workflows.md - Partial workflow options
Config:
- config/preferences-schema.md - EXTEND.md schema
- config/first-time-setup.md - First-time setup
- config/watermark-guide.md - Watermark configuration
Page Modification
| Action |
Steps |
| Edit |
Update prompt file FIRST → --regenerate N → Regenerate PDF |
| Add |
Create prompt at position → Generate with character ref → Renumber subsequent → Update storyboard → Regenerate PDF |
| Delete |
Remove files → Renumber subsequent → Update storyboard → Regenerate PDF |
IMPORTANT: When updating pages, ALWAYS update the prompt file (prompts/NN-{cover|page}-[slug].md) FIRST before regenerating. This ensures changes are documented and reproducible.
Notes
- Image generation: 10-30 seconds per page
- Auto-retry once on generation failure
- Use stylized alternatives for sensitive public figures
- Maintain style consistency via session ID
- Step 2 confirmation required - do not skip
- Steps 4/6 conditional - only if user requested in Step 2
- Step 7.1 character sheet MUST be generated before pages - ensures consistency
- Step 7.2 EVERY page MUST reference characters - use
--ref or embed descriptions
- Watermark/language configured once in EXTEND.md
1---2name: baoyu-comic3description: Knowledge comic creator supporting multiple art styles and tones. Creates original educational comics with detailed panel layouts and sequential image generation. Use when user asks to create "知识漫画", "教育漫画", "biography comic", "tutorial comic", or "Logicomix-style comic".4---5
6# Knowledge Comic Creator
7
8Create original knowledge comics with flexible art style × tone combinations.
9
10## Usage
11
12```bash
13/baoyu-comic posts/turing-story/source.md
14/baoyu-comic article.md --art manga --tone warm
15/baoyu-comic # then paste content
16```
17
18## Options
19
20### Visual Dimensions
21
22| Option | Values | Description |
23|--------|--------|-------------|
24| `--art` | ligne-claire (default), manga, realistic, ink-brush, chalk | Art style / rendering technique |
25| `--tone` | neutral (default), warm, dramatic, romantic, energetic, vintage, action | Mood / atmosphere |
26| `--layout` | standard (default), cinematic, dense, splash, mixed, webtoon | Panel arrangement |
27| `--aspect` | 3:4 (default, portrait), 4:3 (landscape), 16:9 (widescreen) | Page aspect ratio |
28| `--lang` | auto (default), zh, en, ja, etc. | Output language |
29
30### Partial Workflow Options
31
32| Option | Description |
33|--------|-------------|
34| `--storyboard-only` | Generate storyboard only, skip prompts and images |
35| `--prompts-only` | Generate storyboard + prompts, skip images |
36| `--images-only` | Generate images from existing prompts directory |
37| `--regenerate N` | Regenerate specific page(s) only (e.g., `3` or `2,5,8`) |
38
39Details: [references/partial-workflows.md](references/partial-workflows.md)
40
41### Art Styles (画风)
42
43| Style | 中文 | Description |
44|-------|------|-------------|
45| `ligne-claire` | 清线 | Uniform lines, flat colors, European comic tradition (Tintin, Logicomix) |
46| `manga` | 日漫 | Large eyes, manga conventions, expressive emotions |
47| `realistic` | 写实 | Digital painting, realistic proportions, sophisticated |
48| `ink-brush` | 水墨 | Chinese brush strokes, ink wash effects |
49| `chalk` | 粉笔 | Chalkboard aesthetic, hand-drawn warmth |
50
51### Tones (基调)
52
53| Tone | 中文 | Description |
54|------|------|-------------|
55| `neutral` | 中性 | Balanced, rational, educational |
56| `warm` | 温馨 | Nostalgic, personal, comforting |
57| `dramatic` | 戏剧 | High contrast, intense, powerful |
58| `romantic` | 浪漫 | Soft, beautiful, decorative elements |
59| `energetic` | 活力 | Bright, dynamic, exciting |
60| `vintage` | 复古 | Historical, aged, period authenticity |
61| `action` | 动作 | Speed lines, impact effects, combat |
62
63### Preset Shortcuts
64
65Presets with special rules beyond art+tone:
66
67| Preset | Equivalent | Special Rules |
68|--------|-----------|---------------|
69| `--style ohmsha` | `--art manga --tone neutral` | Visual metaphors, NO talking heads, gadget reveals |
70| `--style wuxia` | `--art ink-brush --tone action` | Qi effects, combat visuals, atmospheric elements |
71| `--style shoujo` | `--art manga --tone romantic` | Decorative elements, eye details, romantic beats |
72
73### Compatibility Matrix
74
75| Art Style | ✓✓ Best | ✓ Works | ✗ Avoid |
76|-----------|---------|---------|---------|
77| ligne-claire | neutral, warm | dramatic, vintage, energetic | romantic, action |
78| manga | neutral, romantic, energetic, action | warm, dramatic | vintage |
79| realistic | neutral, warm, dramatic, vintage | action | romantic, energetic |
80| ink-brush | neutral, dramatic, action, vintage | warm | romantic, energetic |
81| chalk | neutral, warm, energetic | vintage | dramatic, action, romantic |
82
83Details: [references/auto-selection.md](references/auto-selection.md)
84
85## Auto Selection
86
87Content signals determine default art + tone + layout (or preset):
88
89| Content Signals | Recommended |
90|-----------------|-------------|
91| Tutorial, how-to, programming, educational | **ohmsha** preset |
92| Pre-1950, classical, ancient | realistic + vintage |
93| Personal story, mentor | ligne-claire + warm |
94| Martial arts, wuxia | **wuxia** preset |
95| Romance, school life | **shoujo** preset |
96| Biography, balanced | ligne-claire + neutral |
97
98**When preset is recommended**: Load `references/presets/{preset}.md` and apply all special rules.
99
100Details: [references/auto-selection.md](references/auto-selection.md)
101
102## Script Directory
103
104**Important**: All scripts are located in the `scripts/` subdirectory of this skill.
105
106**Agent Execution Instructions**:
1071. Determine this SKILL.md file's directory path as `{baseDir}`
1082. Script path = `{baseDir}/scripts/<script-name>.ts`
1093. Replace all `{baseDir}` in this document with the actual path
1104. Resolve `${BUN_X}` runtime: if `bun` installed → `bun`; if `npx` available → `npx -y bun`; else suggest installing bun
111
112**Script Reference**:
113| Script | Purpose |
114|--------|---------|
115| `scripts/merge-to-pdf.ts` | Merge comic pages into PDF |
116
117## File Structure
118
119Output directory: `comic/{topic-slug}/`
120- Slug: 2-4 words kebab-case from topic (e.g., `alan-turing-bio`)
121- Conflict: append timestamp (e.g., `turing-story-20260118-143052`)
122
123**Contents**:
124| File | Description |
125|------|-------------|
126| `source-{slug}.{ext}` | Source files |
127| `analysis.md` | Content analysis |
128| `storyboard.md` | Storyboard with panel breakdown |
129| `characters/characters.md` | Character definitions |
130| `characters/characters.png` | Character reference sheet |
131| `prompts/NN-{cover\|page}-[slug].md` | Generation prompts |
132| `NN-{cover\|page}-[slug].png` | Generated images |
133| `{topic-slug}.pdf` | Final merged PDF |
134
135## Language Handling
136
137**Detection Priority**:
1381. `--lang` flag (explicit)
1392. EXTEND.md `language` setting
1403. User's conversation language
1414. Source content language
142
143**Rule**: Use user's input language or saved language preference for ALL interactions:
144- Storyboard outlines and scene descriptions
145- Image generation prompts
146- User selection options and confirmations
147- Progress updates, questions, errors, summaries
148
149Technical terms remain in English.
150
151## Workflow
152
153### Progress Checklist
154
155```
156Comic Progress:
157- [ ] Step 1: Setup & Analyze
158 - [ ] 1.1 Preferences (EXTEND.md) ⛔ BLOCKING
159 - [ ] Found → load preferences → continue
160 - [ ] Not found → run first-time setup → MUST complete before other steps
161 - [ ] 1.2 Analyze, 1.3 Check existing
162- [ ] Step 2: Confirmation - Style & options ⚠️ REQUIRED
163- [ ] Step 3: Generate storyboard + characters
164- [ ] Step 4: Review outline (conditional)
165- [ ] Step 5: Generate prompts
166- [ ] Step 6: Review prompts (conditional)
167- [ ] Step 7: Generate images ⚠️ CHARACTER REF REQUIRED
168 - [ ] 7.1 Generate character sheet FIRST → characters/characters.png
169 - [ ] 7.2 Generate pages WITH --ref characters/characters.png
170- [ ] Step 8: Merge to PDF
171- [ ] Step 9: Completion report
172```
173
174### Flow
175
176```
177Input → [Preferences] ─┬─ Found → Continue
178 │
179 └─ Not found → First-Time Setup ⛔ BLOCKING
180 │
181 └─ Complete setup → Save EXTEND.md → Continue
182 │
183 ┌─────────────────────────────────────────────────────────────────────┘
184 ↓
185Analyze → [Check Existing?] → [Confirm: Style + Reviews] → Storyboard → [Review?] → Prompts → [Review?] → Images → PDF → Complete
186```
187
188### Step Summary
189
190| Step | Action | Key Output |
191|------|--------|------------|
192| 1.1 | Load EXTEND.md preferences ⛔ BLOCKING if not found | Config loaded |
193| 1.2 | Analyze content | `analysis.md` |
194| 1.3 | Check existing directory | Handle conflicts |
195| 2 | Confirm style, focus, audience, reviews | User preferences |
196| 3 | Generate storyboard + characters | `storyboard.md`, `characters/` |
197| 4 | Review outline (if requested) | User approval |
198| 5 | Generate prompts | `prompts/*.md` |
199| 6 | Review prompts (if requested) | User approval |
200| **7.1** | **Generate character sheet FIRST** | `characters/characters.png` |
201| **7.2** | Generate pages **with character ref** | `*.png` files |
202| 8 | Merge to PDF | `{slug}.pdf` |
203| 9 | Completion report | Summary |
204
205### Step 7: Image Generation ⚠️ CRITICAL
206
207**Character reference is MANDATORY for visual consistency.**
208
209**7.1 Generate character sheet first**:
210- **Backup rule**: If `characters/characters.png` exists, rename to `characters/characters-backup-YYYYMMDD-HHMMSS.png`
211- Invoke an installed image generation skill such as `baoyu-image-gen`
212- Read that skill's `SKILL.md` and follow its documented interface rather than calling its scripts directly
213- Use `characters/characters.md` as the prompt-file input
214- Save output to `characters/characters.png`
215- Use aspect ratio `4:3`
216
217**Compress character sheet** (recommended):
218Compress to reduce token usage when used as reference image:
219- Use available image compression skill (if any)
220- Or system tools: `pngquant`, `optipng`, `sips` (macOS)
221- **Keep PNG format**, lossless compression preferred
222
223**7.2 Generate each page WITH character reference**:
224
225| Skill Capability | Strategy |
226|------------------|----------|
227| Supports `--ref` | Pass `characters/characters.png` with EVERY page |
228| No `--ref` support | Prepend character descriptions to EVERY prompt file |
229
230**Backup rules for page generation**:
231- If prompt file exists: rename to `prompts/NN-{cover|page}-[slug]-backup-YYYYMMDD-HHMMSS.md`
232- If image file exists: rename to `NN-{cover|page}-[slug]-backup-YYYYMMDD-HHMMSS.png`
233- Invoke the installed image generation skill for each page
234- Use `prompts/01-page-xxx.md` as the prompt-file input
235- Save output to `01-page-xxx.png`
236- Use aspect ratio `3:4`
237- If the chosen skill supports reference images, pass `characters/characters.png` as `--ref`
238
239**Full workflow details**: [references/workflow.md](references/workflow.md)
240
241### EXTEND.md Paths ⛔ BLOCKING
242
243**CRITICAL**: If EXTEND.md not found, MUST complete first-time setup before ANY other questions or steps. Do NOT proceed to content analysis, do NOT ask about art style, do NOT ask about tone — ONLY complete the preferences setup first.
244
245| Path | Location |
246|------|----------|
247| `.baoyu-skills/baoyu-comic/EXTEND.md` | Project directory |
248| `$HOME/.baoyu-skills/baoyu-comic/EXTEND.md` | User home |
249
250| Result | Action |
251|--------|--------|
252| Found | Read, parse, display summary → Continue |
253| Not found | ⛔ **BLOCKING**: Run first-time setup ONLY ([references/config/first-time-setup.md](references/config/first-time-setup.md)) → Complete and save EXTEND.md → Then continue |
254
255**EXTEND.md Supports**: Watermark | Preferred art/tone/layout | Custom style definitions | Character presets | Language preference
256
257Schema: [references/config/preferences-schema.md](references/config/preferences-schema.md)
258
259## References
260
261**Core Templates**:
262- [analysis-framework.md](references/analysis-framework.md) - Deep content analysis
263- [character-template.md](references/character-template.md) - Character definition format
264- [storyboard-template.md](references/storyboard-template.md) - Storyboard structure
265- [ohmsha-guide.md](references/ohmsha-guide.md) - Ohmsha manga specifics
266
267**Style Definitions**:
268- `references/art-styles/` - Art styles (ligne-claire, manga, realistic, ink-brush, chalk)
269- `references/tones/` - Tones (neutral, warm, dramatic, romantic, energetic, vintage, action)
270- `references/presets/` - Presets with special rules (ohmsha, wuxia, shoujo)
271- `references/layouts/` - Layouts (standard, cinematic, dense, splash, mixed, webtoon)
272
273**Workflow**:
274- [workflow.md](references/workflow.md) - Full workflow details
275- [auto-selection.md](references/auto-selection.md) - Content signal analysis
276- [partial-workflows.md](references/partial-workflows.md) - Partial workflow options
277
278**Config**:
279- [config/preferences-schema.md](references/config/preferences-schema.md) - EXTEND.md schema
280- [config/first-time-setup.md](references/config/first-time-setup.md) - First-time setup
281- [config/watermark-guide.md](references/config/watermark-guide.md) - Watermark configuration
282
283## Page Modification
284
285| Action | Steps |
286|--------|-------|
287| **Edit** | **Update prompt file FIRST** → `--regenerate N` → Regenerate PDF |
288| **Add** | Create prompt at position → Generate with character ref → Renumber subsequent → Update storyboard → Regenerate PDF |
289| **Delete** | Remove files → Renumber subsequent → Update storyboard → Regenerate PDF |
290
291**IMPORTANT**: When updating pages, ALWAYS update the prompt file (`prompts/NN-{cover|page}-[slug].md`) FIRST before regenerating. This ensures changes are documented and reproducible.
292
293## Notes
294
295- Image generation: 10-30 seconds per page
296- Auto-retry once on generation failure
297- Use stylized alternatives for sensitive public figures
298- Maintain style consistency via session ID
299- **Step 2 confirmation required** - do not skip
300- **Steps 4/6 conditional** - only if user requested in Step 2
301- **Step 7.1 character sheet MUST be generated before pages** - ensures consistency
302- **Step 7.2 EVERY page MUST reference characters** - use `--ref` or embed descriptions
303- Watermark/language configured once in EXTEND.md