Analyze articles, identify illustration positions, generate images with Type × Style consistency.
DimensionControlsExamplesTypeInformation structureinfographic, scene, flowchart, comparison, framework, timelineStyleVisual aestheticsnotion, warm, minimal, blueprint, watercolor, elegant
Combine freely: --type infographic --style blueprint
Or use presets: --preset tech-explainer → type + style in one flag. See Style Presets.
TypeBest ForinfographicData, metrics, technicalsceneNarratives, emotionalflowchartProcesses, workflowscomparisonSide-by-side, optionsframeworkModels, architecturetimelineHistory, evolution
See references/styles.md for Core Styles, full gallery, and Type × Style compatibility.
text
- [ ] Step 1: Pre-check (EXTEND.md, references, config)
- [ ] Step 2: Analyze content
- [ ] Step 3: Confirm settings (AskUserQuestion)
- [ ] Step 4: Generate outline
- [ ] Step 5: Generate images
- [ ] Step 6: Finalize
1.5 Load Preferences (EXTEND.md) ⛔ BLOCKING
bash
# macOS, Linux, WSL, Git Bash
test -f .baoyu-skills/baoyu-article-illustrator/EXTEND.md && echo "project"
test -f "${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-article-illustrator/EXTEND.md" && echo "xdg"
test -f "$HOME/.baoyu-skills/baoyu-article-illustrator/EXTEND.md" && echo "user"
powershell
# PowerShell (Windows)
if (Test-Path .baoyu-skills/baoyu-article-illustrator/EXTEND.md) { "project" }
$xdg = if ($env:XDG_CONFIG_HOME) { $env:XDG_CONFIG_HOME } else { "$HOME/.config" }
if (Test-Path "$xdg/baoyu-skills/baoyu-article-illustrator/EXTEND.md") { "xdg" }
if (Test-Path "$HOME/.baoyu-skills/baoyu-article-illustrator/EXTEND.md") { "user" }
ResultActionFoundRead, parse, display summaryNot found⛔ Run first-time-setup
Full procedures: references/workflow.md
AnalysisOutputContent typeTechnical / Tutorial / Methodology / NarrativePurposeinformation / visualization / imaginationCore arguments2-5 main pointsPositionsWhere illustrations add value
CRITICAL: Metaphors → visualize underlying concept, NOT literal image.
Full procedures: references/workflow.md
ONE AskUserQuestion, max 4 Qs. Q1-Q2 REQUIRED. Q3 required unless preset chosen.
QOptionsQ1: Preset or Type[Recommended preset], [alt preset], or manual: infographic, scene, flowchart, comparison, framework, timeline, mixedQ2: Densityminimal (1-2), balanced (3-5), per-section (Recommended), rich (6+)Q3: Style[Recommended], minimal-flat, sci-fi, hand-drawn, editorial, scene, poster, Other — skip if preset chosenQ4: LanguageWhen article language ≠ EXTEND.md setting
Full procedures: references/workflow.md
Save outline.md with frontmatter (type, density, style, image_count) and entries:
yaml
## Illustration 1
**Position**: [section/paragraph]
**Purpose**: [why]
**Visual Content**: [what]
**Filename**: 01-infographic-concept-name.png
Full template: references/workflow.md
⛔ BLOCKING: Prompt files MUST be saved before ANY image generation.
Execution strategy: When multiple illustrations have saved prompt files and the task is now plain generation, prefer baoyu-image-gen batch mode ( build-batch.ts → --batchfile) over spawning subagents. Use subagents only when each image still needs separate prompt iteration or creative exploration.
prompts/NN-{type}-{slug}.md with YAML frontmatter--prompt without saving prompt files firstdirect/ style/ palette)Full procedures: references/workflow.md
Insert  after paragraphs. Path computed relative to article file based on output directory setting.
text
Article Illustration Complete!
Article: [path] | Type: [type] | Density: [level] | Style: [style]
Images: X/N generated
Output directory is determined by default_output_dir in EXTEND.md (set during first-time setup):
default_output_dirOutput PathMarkdown Insert Pathimgs-subdir (default){article-dir}/imgs/``imgs/NN-{type}-{slug}.png``same-dir``{article-dir}/``NN-{type}-{slug}.png``illustrations-subdir``{article-dir}/illustrations/``illustrations/NN-{type}-{slug}.png``independent``illustrations/{topic-slug}/``illustrations/{topic-slug}/NN-{type}-{slug}.png (relative to cwd)
All auxiliary files (outline, prompts) are saved inside the output directory:
text
{output-dir}/
├── outline.md
├── prompts/
│ └── NN-{type}-{slug}.md
└── NN-{type}-{slug}.png
When input is pasted content (no file path), always uses illustrations/{topic-slug}/ with source-{slug}.{ext} saved alongside.
Slug: 2-4 words, kebab-case. Conflict: append -YYYYMMDD-HHMMSS.
ActionStepsEditUpdate prompt → Regenerate → Update referenceAddPosition → Prompt → Generate → Update outline → InsertDeleteDelete files → Remove reference → Update outline
FileContentreferences/workflow.mdDetailed proceduresreferences/usage.mdCommand syntaxreferences/styles.mdStyle galleryreferences/style-presets.mdPreset shortcuts (type + style)references/prompt-construction.mdPrompt templatesreferences/config/first-time-setup.mdFirst-time setup