Cover Image Prompt Generator
Generate structured prompts for article cover images with 5-dimensional customization.
Usage
# Auto-select dimensions based on content
/cover-image path/to/article.md
# Quick mode: skip confirmation
/cover-image article.md --quick
# Specify dimensions
/cover-image article.md --type conceptual --palette warm --rendering flat-vector
# Style presets (shorthand for palette + rendering)
/cover-image article.md --style blueprint
# With reference images
/cover-image article.md --ref style-ref.png
# Direct content input
/cover-image --palette mono --aspect 1:1 --quick
[paste content]
Options
| Option | Description |
|---|---|
--type <name> |
hero, conceptual, typography, metaphor, scene, minimal |
--palette <name> |
warm, elegant, cool, dark, earth, vivid, pastel, mono, retro, duotone, macaron |
--rendering <name> |
flat-vector, hand-drawn, painterly, digital, pixel, chalk, screen-print, line-sketch |
--style <name> |
Preset shorthand (see Style Presets) |
--text <level> |
none, title-only, title-subtitle, text-rich |
--mood <level> |
subtle, balanced, bold |
--font <name> |
clean, handwritten, serif, display |
--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 |
--ref <files...> |
Reference images for style/composition guidance |
Five Dimensions
| Dimension | Values | Default |
|---|---|---|
| Type | hero, conceptual, typography, metaphor, scene, minimal | auto |
| Palette | warm, elegant, cool, dark, earth, vivid, pastel, mono, retro, duotone, macaron | auto |
| Rendering | flat-vector, hand-drawn, painterly, digital, pixel, chalk, screen-print, line-sketch | auto |
| Text | none, title-only, title-subtitle, text-rich | title-only |
| Mood | subtle, balanced, bold | balanced |
| Font | clean, handwritten, serif, display | clean |
Auto-selection rules: references/auto-selection.md
Galleries
Types: hero, conceptual, typography, metaphor, scene, minimal → Details: references/types.md
Palettes: warm, elegant, cool, dark, earth, vivid, pastel, mono, retro, duotone, macaron → Details: references/palettes/
Renderings: flat-vector, hand-drawn, painterly, digital, pixel, chalk, screen-print, line-sketch → Details: references/renderings/
Text Levels: none (pure visual) | title-only (default) | title-subtitle | text-rich (with tags) → Details: references/dimensions/text.md
Mood Levels: subtle (low contrast) | balanced (default) | bold (high contrast) → Details: references/dimensions/mood.md
Fonts: clean (sans-serif) | handwritten | serif | display (bold decorative) → Details: references/dimensions/font.md
File Structure
Cover prompt is generated in the same directory as the article. Do NOT copy articles to other directories.
{article-dir}/
├── article.md # Original article (not copied)
├── cover.md # Generated prompt
├── cover-1.md # Conflict variant (if cover.md exists)
├── refs/ # Reference images (if provided)
│ ├── ref-01-{slug}.{ext}
│ └── ref-01-{slug}.md # Description file
└── ...
Cover filename: cover.md. If exists: cover-1.md, cover-2.md, etc.
For direct content input (no article file): generate in current working directory.
Workflow
Progress Checklist
Cover Image Progress:
- [ ] Step 0: Check preferences (EXTEND.md) ⛔ BLOCKING
- [ ] Step 1: Analyze content + save refs
- [ ] Step 2: Confirm options (6 dimensions) ⚠️ unless --quick
- [ ] Step 3: Create prompt
- [ ] Step 4: Completion report
Flow
Input → [Step 0: Preferences] ─┬─ Found → Continue
└─ Not found → First-Time Setup ⛔ BLOCKING → Save EXTEND.md → Continue
↓
Analyze + Save Refs → [Confirm: 6 Dimensions] → Prompt → Complete
↓
(skip if --quick or all specified)
Step 0: Load Preferences ⛔ BLOCKING
Check EXTEND.md in project root only:
test -f EXTEND.md && echo "found"
| Result | Action |
|---|---|
| Found | Load, display summary → Continue |
| Not found | Ask user for preferences → Generate EXTEND.md → Continue |
CRITICAL: If not found, complete setup BEFORE any other steps or questions. Do NOT check other directories.
Step 1: Analyze Content
- Save reference images (if provided) → references/workflow/reference-images.md
- Analyze content: topic, tone, keywords, visual metaphors
- Deep analyze references ⚠️: Extract specific, concrete elements (see reference-images.md)
- Detect language: Compare source, user input, EXTEND.md preference
⚠️ People in Reference Images — MUST follow all 3 rules:
If reference images contain people who should appear in the cover:
usage: direct— MUST set in refs description file. NEVER usestyleorpalettewhen people need to appear- Per-character description — MUST describe each person's distinctive features (hair, glasses, skin tone, clothing) in
refs/ref-NN-{slug}.md. Vague descriptions like "a man" will fail - Prompt inclusion — MUST include reference image paths in prompt frontmatter
referenceslist so the downstream image generator can access them
See reference-images.md § Character Analysis for description format.
Step 2: Confirm Options ⚠️
MUST use AskUserQuestion tool to present options as interactive selection — NOT plain text tables. Present up to 4 questions in a single AskUserQuestion call (Type, Palette, Rendering, Font + Settings). Each question shows the recommended option first with reason, followed by alternatives.
Full confirmation flow and question format: references/workflow/confirm-options.md
| Condition | Skipped | Still Asked |
|---|---|---|
--quick or quick_mode: true |
6 dimensions | Aspect ratio (unless --aspect) |
All 6 + --aspect specified |
All | None |
Step 3: Create Prompt
Read the selected palette and rendering references. Include their concrete colors and rendering rules in the prompt, plus the constraint that color names, hex codes, and palette labels must not appear as visible text.
Save to article directory as cover.md. Template: references/workflow/prompt-template.md
Filename conflict: If cover.md exists, use cover-1.md, cover-2.md, etc. Check before writing.
CRITICAL - References in Frontmatter:
- Files saved to
refs/→ Add to frontmatterreferenceslist - Style extracted verbally (no file) → Omit
references, describe in body - Before writing → Verify:
test -f refs/ref-NN-{slug}.{ext}
Reference elements in body MUST be detailed, prefixed with "MUST"/"REQUIRED", with integration approach.
Step 4: Completion Report
Prompt Ready!
Topic: [topic]
Type: [type] | Palette: [palette] | Rendering: [rendering]
Text: [text] | Mood: [mood] | Font: [font] | Aspect: [ratio]
Title: [title or "visual only"]
Language: [lang] | Watermark: [enabled/disabled]
References: [N images or "extracted style" or "none"]
Location: [article directory path]
Files:
✓ cover.md (or cover-N.md)
Composition Principles
- Whitespace: 40-60% breathing room
- Visual anchor: Main element centered or offset left
- Characters: Simplified silhouettes; NO realistic humans
- Title: Use exact title from user/source; never invent
Extension Support
Custom configurations via EXTEND.md. See Step 0 for paths.
Supports: Watermark | Preferred dimensions | Default aspect | Quick mode | Custom palettes | Language
Schema: references/config/preferences-schema.md
References
Dimensions: text.md | mood.md | font.md Palettes: references/palettes/ Renderings: references/renderings/ Types: references/types.md Auto-Selection: references/auto-selection.md Style Presets: references/style-presets.md Compatibility: references/compatibility.md Visual Elements: references/visual-elements.md Workflow: confirm-options.md | prompt-template.md | reference-images.md Config: preferences-schema.md | first-time-setup.md | watermark-guide.md
