Cover Image Generator
Generate elegant cover images for articles with 5-dimensional customization.
Usage
# Auto-select all dimensions based on content
/baoyu-cover-image path/to/article.md
# Quick mode: skip confirmation, use auto-selection
/baoyu-cover-image article.md --quick
# Specify dimensions (new 5D system)
/baoyu-cover-image article.md --type conceptual --palette warm --rendering flat-vector
/baoyu-cover-image article.md --text title-subtitle --mood bold
# Style presets (backward-compatible shorthand for palette + rendering)
/baoyu-cover-image article.md --style blueprint
/baoyu-cover-image article.md --style blueprint --rendering hand-drawn # override rendering
# Visual only (no title text)
/baoyu-cover-image article.md --no-title
# Direct content input
/baoyu-cover-image
[paste content]
# Direct input with options
/baoyu-cover-image --palette mono --rendering digital --aspect 1:1 --quick
[paste content]
Options
| Option |
Description |
--type <name> |
Cover type: hero, conceptual, typography, metaphor, scene, minimal |
--palette <name> |
Color palette: warm, elegant, cool, dark, earth, vivid, pastel, mono, retro |
--rendering <name> |
Rendering style: flat-vector, hand-drawn, painterly, digital, pixel, chalk |
--style <name> |
Preset shorthand (expands to palette + rendering, see Style Presets) |
--text <level> |
Text density: none, title-only, title-subtitle, text-rich |
--mood <level> |
Emotional intensity: subtle, balanced, bold |
--aspect <ratio> |
16:9 (default), 2.35:1, 4:3, 3:2, 1:1, 3:4 |
--lang <code> |
Title language (en, zh, ja, etc.) |
--no-title |
Alias for --text none |
--quick |
Skip confirmation, use auto-selection for missing dimensions |
Five Dimensions
| Dimension |
Controls |
Values |
Default |
| Type |
Visual composition, information structure |
hero, conceptual, typography, metaphor, scene, minimal |
auto |
| Palette |
Colors, color scheme, decorative hints |
warm, elegant, cool, dark, earth, vivid, pastel, mono, retro |
auto |
| Rendering |
Line quality, texture, depth, element style |
flat-vector, hand-drawn, painterly, digital, pixel, chalk |
auto |
| Text |
Text density, information hierarchy |
none, title-only, title-subtitle, text-rich |
title-only |
| Mood |
Emotional intensity, visual weight |
subtle, balanced, bold |
balanced |
Dimensions can be freely combined. Auto-selection rules: references/auto-selection.md
Type Gallery
| Type |
Description |
Best For |
hero |
Large visual impact, title overlay |
Product launch, brand promotion, major announcements |
conceptual |
Concept visualization, abstract core ideas |
Technical articles, methodology, architecture design |
typography |
Text-focused layout, prominent title |
Opinion pieces, quotes, insights |
metaphor |
Visual metaphor, concrete expressing abstract |
Philosophy, growth, personal development |
scene |
Atmospheric scene, narrative feel |
Stories, travel, lifestyle |
minimal |
Minimalist composition, generous whitespace |
Zen, focus, core concepts |
Type composition details: references/types.md
Palette Gallery
| Palette |
Vibe |
Primary Colors |
warm |
Friendly, approachable |
Orange, golden yellow, terracotta |
elegant |
Sophisticated, refined |
Soft coral, muted teal, dusty rose |
cool |
Technical, professional |
Engineering blue, navy, cyan |
dark |
Cinematic, premium |
Electric purple, cyan, magenta |
earth |
Natural, organic |
Forest green, sage, earth brown |
vivid |
Energetic, bold |
Bright red, neon green, electric blue |
pastel |
Gentle, whimsical |
Soft pink, mint, lavender |
mono |
Clean, focused |
Black, near-black, white |
retro |
Nostalgic, vintage |
Muted orange, dusty pink, maroon |
Palette definitions: references/palettes/
Rendering Gallery
| Rendering |
Description |
Key Characteristics |
flat-vector |
Clean modern vector |
Uniform outlines, flat fills, geometric icons |
hand-drawn |
Sketchy organic illustration |
Imperfect strokes, paper texture, doodles |
painterly |
Soft watercolor/paint |
Brush strokes, color bleeds, soft edges |
digital |
Polished modern digital |
Precise edges, subtle gradients, UI components |
pixel |
Retro 8-bit pixel art |
Pixel grid, dithering, chunky shapes |
chalk |
Chalk on blackboard |
Chalk strokes, dust effects, board texture |
Rendering definitions: references/renderings/
Text & Mood
| Text Level |
Title |
Subtitle |
Tags |
Use Case |
none |
- |
- |
- |
Pure visual, no text |
title-only |
✓ (≤8 字) |
- |
- |
Simple headline (default) |
title-subtitle |
✓ |
✓ (≤15 字) |
- |
Title + supporting context |
text-rich |
✓ |
✓ |
✓ (2-4) |
Information-dense |
| Mood |
Contrast |
Saturation |
Weight |
Use Case |
subtle |
Low |
Muted |
Light |
Corporate, thought leadership |
balanced |
Medium |
Normal |
Medium |
General articles (default) |
bold |
High |
Vivid |
Heavy |
Announcements, promotions |
Full guides: references/dimensions/text.md | references/dimensions/mood.md
Style Presets & Compatibility
- Style Presets:
--style X expands to palette + rendering. See references/style-presets.md
- Compatibility Matrices: Palette×Rendering, Type×Rendering, Type×Text, Type×Mood. See references/compatibility.md
- ✓✓ = highly recommended | ✓ = compatible | ✗ = not recommended
File Structure
Output directory depends on default_output_dir preference:
| Preference |
Output Path |
same-dir |
{article-dir}/ |
imgs-subdir |
{article-dir}/imgs/ |
independent (default) |
cover-image/{topic-slug}/ |
| Pasted content |
cover-image/{topic-slug}/ (always) |
<output-dir>/
├── source-{slug}.{ext} # Source files (text, images, etc.)
├── prompts/cover.md # Generation prompt
└── cover.png # Output image
Slug: Extract main topic (2-4 words, kebab-case). Example: "The Future of AI" → future-of-ai
Conflict: If directory exists, append timestamp: {topic-slug}-YYYYMMDD-HHMMSS
Source Files: Copy all sources with naming source-{slug}.{ext} (multiple supported)
Workflow
Progress Checklist
Cover Image Progress:
- [ ] Step 0: Check preferences (EXTEND.md) ⚠️ REQUIRED if not found
- [ ] Step 1: Analyze content + determine output directory ⚠️ MUST ask if not configured
- [ ] Step 2: Confirm options (5 dimensions) ⚠️ REQUIRED unless --quick or all specified
- [ ] Step 3: Create prompt
- [ ] Step 4: Generate image
- [ ] Step 5: Completion report
Flow
Input → [Step 0: Preferences/Setup] → Analyze → [Output Dir ⚠️] → [Confirm: 5 Dimensions] → Prompt → Generate → Complete
↓
(skip if --quick or all specified)
Step 0: Load Preferences (EXTEND.md) ⚠️
Purpose: Load user preferences or run first-time setup. Do NOT skip setup if EXTEND.md not found.
Use Bash to check EXTEND.md existence (priority order):
# Check project-level first
test -f .baoyu-skills/baoyu-cover-image/EXTEND.md && echo "project"
# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
test -f "$HOME/.baoyu-skills/baoyu-cover-image/EXTEND.md" && echo "user"
| Result |
Action |
| Found |
Read, parse, display preferences summary → Continue to Step 1 |
| Not found |
⚠️ MUST run first-time setup (references/config/first-time-setup.md) → Then continue to Step 1 |
Preferences Summary (when found):
Preferences loaded from [project/user]:
• Watermark: [enabled/disabled] [content if enabled]
• Type/Palette/Rendering: [value or "auto"]
• Text: [value or "title-only"] | Mood: [value or "balanced"]
• Aspect: [default_aspect] | Output: [dir or "not set — will ask in Step 1.5"]
• Quick mode: [enabled/disabled] | Language: [value or "auto"]
EXTEND.md Supports: Watermark | Preferred type | Preferred palette | Preferred rendering | Preferred text | Preferred mood | Default aspect ratio | Default output directory | Quick mode | Custom palette definitions | Language preference
Schema: references/config/preferences-schema.md
Step 1: Analyze Content
- Save source content (if pasted, save to
source.md in target directory; if file path, use as-is)
- Content analysis: Extract topic, core message, tone, keywords; identify visual metaphors; detect content type
- Language detection: Detect source language, note user's input language, compare with EXTEND.md preference
- Determine output directory per File Structure rules. If no
default_output_dir preference + file path input, include in Step 2 Q4
Step 2: Confirm Options ⚠️
Validate all 5 dimensions + aspect ratio. Full confirmation flow: references/workflow/confirm-options.md
Skip Conditions:
| Condition |
Skipped |
Still Asked |
--quick or quick_mode: true |
5 dimensions |
Aspect ratio (unless --aspect) |
All 5 + --aspect specified |
All |
None |
Step 3: Create Prompt
Save to prompts/cover.md. Full template: references/workflow/prompt-template.md
Step 4: Generate Image
- Backup existing
cover.png → cover-backup-YYYYMMDD-HHMMSS.png (if regenerating)
- Check available image generation skills; if multiple, ask user preference
- Call selected skill with prompt file path, output path (
cover.png), aspect ratio
- On failure: auto-retry once before reporting error
Step 5: Completion Report
Cover Generated!
Topic: [topic]
Type: [type] | Palette: [palette] | Rendering: [rendering]
Text: [text] | Mood: [mood] | Aspect: [ratio]
Title: [title text or "visual only"]
Language: [lang] | Watermark: [enabled/disabled]
Location: [directory path]
Files:
✓ source-{slug}.{ext}
✓ prompts/cover.md
✓ cover.png
[✓ cover-backup-{timestamp}.png (if regenerated)]
Image Modification
| Action |
Steps |
| Regenerate |
Backup existing → Update prompt file FIRST → Regenerate with same settings |
| Change dimension |
Backup existing → Confirm new value → Update prompt file FIRST → Regenerate |
IMPORTANT: When regenerating, ALWAYS update the prompt file (prompts/cover.md) FIRST before regenerating. This ensures changes are documented and reproducible.
All modifications automatically backup existing cover.png before regenerating.
Notes
- Cover must be readable at small preview sizes
- Visual metaphors > literal representations
- Title: max 8 chars, readable, impactful
- Two confirmation points: Step 0 (first-time setup) + Step 2 (options) - skip Step 2 with
--quick
- Use confirmed language for title text
- Maintain watermark consistency if enabled
- Check compatibility matrices when selecting combinations
--no-title is alias for --text none
--style presets are backward-compatible; explicit --palette/--rendering override preset values
References
Dimensions: text.md | mood.md
Palettes: references/palettes/
Renderings: references/renderings/
Auto-Selection: references/auto-selection.md
Style Presets: references/style-presets.md
Compatibility: references/compatibility.md
Types: references/types.md
Workflow: confirm-options.md | prompt-template.md
Config: preferences-schema.md | first-time-setup.md | watermark-guide.md
1---2name: baoyu-cover-image3description: Generates article cover images with 5 dimensions (type, palette, rendering, text, mood) combining 9 color palettes and 6 rendering styles. Supports cinematic (2.35:1), widescreen (16:9), and square (1:1) aspects. Use when user asks to "generate cover image", "create article cover", "make cover", or mentions "封面图".4---5
6# Cover Image Generator
7
8Generate elegant cover images for articles with 5-dimensional customization.
9
10## Usage
11
12```bash
13# Auto-select all dimensions based on content
14/baoyu-cover-image path/to/article.md
15
16# Quick mode: skip confirmation, use auto-selection
17/baoyu-cover-image article.md --quick
18
19# Specify dimensions (new 5D system)
20/baoyu-cover-image article.md --type conceptual --palette warm --rendering flat-vector
21/baoyu-cover-image article.md --text title-subtitle --mood bold
22
23# Style presets (backward-compatible shorthand for palette + rendering)
24/baoyu-cover-image article.md --style blueprint
25/baoyu-cover-image article.md --style blueprint --rendering hand-drawn # override rendering
26
27# Visual only (no title text)
28/baoyu-cover-image article.md --no-title
29
30# Direct content input
31/baoyu-cover-image
32[paste content]
33
34# Direct input with options
35/baoyu-cover-image --palette mono --rendering digital --aspect 1:1 --quick
36[paste content]
37```
38
39## Options
40
41| Option | Description |
42|--------|-------------|
43| `--type <name>` | Cover type: hero, conceptual, typography, metaphor, scene, minimal |
44| `--palette <name>` | Color palette: warm, elegant, cool, dark, earth, vivid, pastel, mono, retro |
45| `--rendering <name>` | Rendering style: flat-vector, hand-drawn, painterly, digital, pixel, chalk |
46| `--style <name>` | Preset shorthand (expands to palette + rendering, see [Style Presets](references/style-presets.md)) |
47| `--text <level>` | Text density: none, title-only, title-subtitle, text-rich |
48| `--mood <level>` | Emotional intensity: subtle, balanced, bold |
49| `--aspect <ratio>` | 16:9 (default), 2.35:1, 4:3, 3:2, 1:1, 3:4 |
50| `--lang <code>` | Title language (en, zh, ja, etc.) |
51| `--no-title` | Alias for `--text none` |
52| `--quick` | Skip confirmation, use auto-selection for missing dimensions |
53
54## Five Dimensions
55
56| Dimension | Controls | Values | Default |
57|-----------|----------|--------|---------|
58| **Type** | Visual composition, information structure | hero, conceptual, typography, metaphor, scene, minimal | auto |
59| **Palette** | Colors, color scheme, decorative hints | warm, elegant, cool, dark, earth, vivid, pastel, mono, retro | auto |
60| **Rendering** | Line quality, texture, depth, element style | flat-vector, hand-drawn, painterly, digital, pixel, chalk | auto |
61| **Text** | Text density, information hierarchy | none, title-only, title-subtitle, text-rich | title-only |
62| **Mood** | Emotional intensity, visual weight | subtle, balanced, bold | balanced |
63
64Dimensions can be freely combined. Auto-selection rules: [references/auto-selection.md](references/auto-selection.md)
65
66## Type Gallery
67
68| Type | Description | Best For |
69|------|-------------|----------|
70| `hero` | Large visual impact, title overlay | Product launch, brand promotion, major announcements |
71| `conceptual` | Concept visualization, abstract core ideas | Technical articles, methodology, architecture design |
72| `typography` | Text-focused layout, prominent title | Opinion pieces, quotes, insights |
73| `metaphor` | Visual metaphor, concrete expressing abstract | Philosophy, growth, personal development |
74| `scene` | Atmospheric scene, narrative feel | Stories, travel, lifestyle |
75| `minimal` | Minimalist composition, generous whitespace | Zen, focus, core concepts |
76
77Type composition details: [references/types.md](references/types.md)
78
79## Palette Gallery
80
81| Palette | Vibe | Primary Colors |
82|---------|------|----------------|
83| `warm` | Friendly, approachable | Orange, golden yellow, terracotta |
84| `elegant` | Sophisticated, refined | Soft coral, muted teal, dusty rose |
85| `cool` | Technical, professional | Engineering blue, navy, cyan |
86| `dark` | Cinematic, premium | Electric purple, cyan, magenta |
87| `earth` | Natural, organic | Forest green, sage, earth brown |
88| `vivid` | Energetic, bold | Bright red, neon green, electric blue |
89| `pastel` | Gentle, whimsical | Soft pink, mint, lavender |
90| `mono` | Clean, focused | Black, near-black, white |
91| `retro` | Nostalgic, vintage | Muted orange, dusty pink, maroon |
92
93Palette definitions: [references/palettes/](references/palettes/)
94
95## Rendering Gallery
96
97| Rendering | Description | Key Characteristics |
98|-----------|-------------|---------------------|
99| `flat-vector` | Clean modern vector | Uniform outlines, flat fills, geometric icons |
100| `hand-drawn` | Sketchy organic illustration | Imperfect strokes, paper texture, doodles |
101| `painterly` | Soft watercolor/paint | Brush strokes, color bleeds, soft edges |
102| `digital` | Polished modern digital | Precise edges, subtle gradients, UI components |
103| `pixel` | Retro 8-bit pixel art | Pixel grid, dithering, chunky shapes |
104| `chalk` | Chalk on blackboard | Chalk strokes, dust effects, board texture |
105
106Rendering definitions: [references/renderings/](references/renderings/)
107
108## Text & Mood
109
110| Text Level | Title | Subtitle | Tags | Use Case |
111|------------|:-----:|:--------:|:----:|----------|
112| `none` | - | - | - | Pure visual, no text |
113| `title-only` | ✓ (≤8 字) | - | - | Simple headline (default) |
114| `title-subtitle` | ✓ | ✓ (≤15 字) | - | Title + supporting context |
115| `text-rich` | ✓ | ✓ | ✓ (2-4) | Information-dense |
116
117| Mood | Contrast | Saturation | Weight | Use Case |
118|------|:--------:|:----------:|:------:|----------|
119| `subtle` | Low | Muted | Light | Corporate, thought leadership |
120| `balanced` | Medium | Normal | Medium | General articles (default) |
121| `bold` | High | Vivid | Heavy | Announcements, promotions |
122
123Full guides: [references/dimensions/text.md](references/dimensions/text.md) | [references/dimensions/mood.md](references/dimensions/mood.md)
124
125## Style Presets & Compatibility
126
127- **Style Presets**: `--style X` expands to palette + rendering. See [references/style-presets.md](references/style-presets.md)
128- **Compatibility Matrices**: Palette×Rendering, Type×Rendering, Type×Text, Type×Mood. See [references/compatibility.md](references/compatibility.md)
129 - ✓✓ = highly recommended | ✓ = compatible | ✗ = not recommended
130
131## File Structure
132
133Output directory depends on `default_output_dir` preference:
134
135| Preference | Output Path |
136|------------|-------------|
137| `same-dir` | `{article-dir}/` |
138| `imgs-subdir` | `{article-dir}/imgs/` |
139| `independent` (default) | `cover-image/{topic-slug}/` |
140| Pasted content | `cover-image/{topic-slug}/` (always) |
141
142```
143<output-dir>/
144├── source-{slug}.{ext} # Source files (text, images, etc.)
145├── prompts/cover.md # Generation prompt
146└── cover.png # Output image
147```
148
149**Slug**: Extract main topic (2-4 words, kebab-case). Example: "The Future of AI" → `future-of-ai`
150**Conflict**: If directory exists, append timestamp: `{topic-slug}-YYYYMMDD-HHMMSS`
151**Source Files**: Copy all sources with naming `source-{slug}.{ext}` (multiple supported)
152
153## Workflow
154
155### Progress Checklist
156
157```
158Cover Image Progress:
159- [ ] Step 0: Check preferences (EXTEND.md) ⚠️ REQUIRED if not found
160- [ ] Step 1: Analyze content + determine output directory ⚠️ MUST ask if not configured
161- [ ] Step 2: Confirm options (5 dimensions) ⚠️ REQUIRED unless --quick or all specified
162- [ ] Step 3: Create prompt
163- [ ] Step 4: Generate image
164- [ ] Step 5: Completion report
165```
166
167### Flow
168
169```
170Input → [Step 0: Preferences/Setup] → Analyze → [Output Dir ⚠️] → [Confirm: 5 Dimensions] → Prompt → Generate → Complete
171 ↓
172 (skip if --quick or all specified)
173```
174
175### Step 0: Load Preferences (EXTEND.md) ⚠️
176
177**Purpose**: Load user preferences or run first-time setup. **Do NOT skip setup if EXTEND.md not found.**
178
179Use Bash to check EXTEND.md existence (priority order):
180
181```bash
182# Check project-level first
183test -f .baoyu-skills/baoyu-cover-image/EXTEND.md && echo "project"
184
185# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
186test -f "$HOME/.baoyu-skills/baoyu-cover-image/EXTEND.md" && echo "user"
187```
188
189| Result | Action |
190|--------|--------|
191| Found | Read, parse, display preferences summary → Continue to Step 1 |
192| Not found | ⚠️ MUST run first-time setup ([references/config/first-time-setup.md](references/config/first-time-setup.md)) → Then continue to Step 1 |
193
194**Preferences Summary** (when found):
195
196```
197Preferences loaded from [project/user]:
198• Watermark: [enabled/disabled] [content if enabled]
199• Type/Palette/Rendering: [value or "auto"]
200• Text: [value or "title-only"] | Mood: [value or "balanced"]
201• Aspect: [default_aspect] | Output: [dir or "not set — will ask in Step 1.5"]
202• Quick mode: [enabled/disabled] | Language: [value or "auto"]
203```
204
205**EXTEND.md Supports**: Watermark | Preferred type | Preferred palette | Preferred rendering | Preferred text | Preferred mood | Default aspect ratio | Default output directory | Quick mode | Custom palette definitions | Language preference
206
207Schema: [references/config/preferences-schema.md](references/config/preferences-schema.md)
208
209### Step 1: Analyze Content
210
2111. **Save source content** (if pasted, save to `source.md` in target directory; if file path, use as-is)
2122. **Content analysis**: Extract topic, core message, tone, keywords; identify visual metaphors; detect content type
2133. **Language detection**: Detect source language, note user's input language, compare with EXTEND.md preference
2144. **Determine output directory** per File Structure rules. If no `default_output_dir` preference + file path input, include in Step 2 Q4
215
216### Step 2: Confirm Options ⚠️
217
218Validate all 5 dimensions + aspect ratio. Full confirmation flow: [references/workflow/confirm-options.md](references/workflow/confirm-options.md)
219
220**Skip Conditions**:
221
222| Condition | Skipped | Still Asked |
223|-----------|---------|-------------|
224| `--quick` or `quick_mode: true` | 5 dimensions | Aspect ratio (unless `--aspect`) |
225| All 5 + `--aspect` specified | All | None |
226
227### Step 3: Create Prompt
228
229Save to `prompts/cover.md`. Full template: [references/workflow/prompt-template.md](references/workflow/prompt-template.md)
230
231### Step 4: Generate Image
232
2331. Backup existing `cover.png` → `cover-backup-YYYYMMDD-HHMMSS.png` (if regenerating)
2342. Check available image generation skills; if multiple, ask user preference
2353. Call selected skill with prompt file path, output path (`cover.png`), aspect ratio
2364. On failure: auto-retry once before reporting error
237
238### Step 5: Completion Report
239
240```
241Cover Generated!
242
243Topic: [topic]
244Type: [type] | Palette: [palette] | Rendering: [rendering]
245Text: [text] | Mood: [mood] | Aspect: [ratio]
246Title: [title text or "visual only"]
247Language: [lang] | Watermark: [enabled/disabled]
248Location: [directory path]
249
250Files:
251✓ source-{slug}.{ext}
252✓ prompts/cover.md
253✓ cover.png
254[✓ cover-backup-{timestamp}.png (if regenerated)]
255```
256
257## Image Modification
258
259| Action | Steps |
260|--------|-------|
261| **Regenerate** | Backup existing → **Update prompt file FIRST** → Regenerate with same settings |
262| **Change dimension** | Backup existing → Confirm new value → **Update prompt file FIRST** → Regenerate |
263
264**IMPORTANT**: When regenerating, ALWAYS update the prompt file (`prompts/cover.md`) FIRST before regenerating. This ensures changes are documented and reproducible.
265
266All modifications automatically backup existing `cover.png` before regenerating.
267
268## Notes
269
270- Cover must be readable at small preview sizes
271- Visual metaphors > literal representations
272- Title: max 8 chars, readable, impactful
273- Two confirmation points: Step 0 (first-time setup) + Step 2 (options) - skip Step 2 with `--quick`
274- Use confirmed language for title text
275- Maintain watermark consistency if enabled
276- Check compatibility matrices when selecting combinations
277- `--no-title` is alias for `--text none`
278- `--style` presets are backward-compatible; explicit `--palette`/`--rendering` override preset values
279
280## References
281
282**Dimensions**: [text.md](references/dimensions/text.md) | [mood.md](references/dimensions/mood.md)
283**Palettes**: [references/palettes/](references/palettes/)
284**Renderings**: [references/renderings/](references/renderings/)
285**Auto-Selection**: [references/auto-selection.md](references/auto-selection.md)
286**Style Presets**: [references/style-presets.md](references/style-presets.md)
287**Compatibility**: [references/compatibility.md](references/compatibility.md)
288**Types**: [references/types.md](references/types.md)
289**Workflow**: [confirm-options.md](references/workflow/confirm-options.md) | [prompt-template.md](references/workflow/prompt-template.md)
290**Config**: [preferences-schema.md](references/config/preferences-schema.md) | [first-time-setup.md](references/config/first-time-setup.md) | [watermark-guide.md](references/config/watermark-guide.md)