Baoyu Cover Image
by @jimliu
Generates article cover images with 5 dimensions (type, palette, rendering, text, mood) combining 11 color palettes and 7 rendering styles. Supports cinemati...
clawhub install baoyu-cover-imageð About This Skill
name: baoyu-cover-image description: Generates article cover images with 5 dimensions (type, palette, rendering, text, mood) combining 11 color palettes and 7 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", or "make cover". version: 1.56.2 metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-cover-image
Cover Image Generator
Generate elegant cover images for articles with 5-dimensional customization.
User Input Tools
When this skill prompts the user, follow this tool-selection rule (priority order):
1. Prefer built-in user-input tools exposed by the current agent runtime â e.g., AskUserQuestion, request_user_input, clarify, ask_user, or any equivalent.
2. Fallback: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.
3. Batching: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.
Concrete AskUserQuestion references below are examples â substitute the local equivalent in other runtimes.
Image Generation Tools
When this skill needs to render an image, resolve the backend in this order:
1. Current-request override â if the user names a specific backend in the current message, use it.
2. Saved preference â if EXTEND.md sets preferred_image_backend to a backend available right now, use it.
3. Auto-select (when the preference is auto, unset, or the pinned backend isn't available):
- If the current runtime exposes a native image tool (e.g., Codex imagegen, Hermes image_generate), use it. Runtime-native tools are preferred by default â agents that know their own tool inventory should surface the native one here.
- Otherwise, if exactly one non-native backend is installed (e.g., baoyu-imagine), use it.
- Otherwise (multiple non-native backends with no runtime-native tool), ask the user once â batch with any other initial questions.
4. If none are available, tell the user and ask how to proceed.
Setting preferred_image_backend: ask forces the step-3 prompt every run regardless of available backends. Users change the pinned backend via the ## Changing Preferences section below.
Prompt file requirement (hard): write each image's full, final prompt to a standalone file under prompts/ (naming: NN-{type}-[slug].md) BEFORE invoking any backend. The backend receives the prompt file (or its content); the file is the reproducibility record and lets you switch backends without regenerating prompts.
Concrete tool names (imagegen, image_generate, baoyu-imagine) above are examples â substitute the local equivalents under the same rule.
Confirmation Policy
Default behavior: confirm before generation.
EXTEND.md defaults, and any documented auto-selection as recommendation inputs only. None of them authorizes skipping confirmation.--quick, "įīæĨįæ", "äļįĻįĄŪčŪĪ", "č·ģčŋįĄŪčŪĪ", "æéŧčŪĪåšåū", or equivalent wording. quick_mode: true in EXTEND.md counts as a standing explicit opt-out â set it only when you want every run to skip Step 2.Options
| Option | Description |
|--------|-------------|
| --type | hero, conceptual, typography, metaphor, scene, minimal |
| --palette | warm, elegant, cool, dark, earth, vivid, pastel, mono, retro, duotone, macaron |
| --rendering | flat-vector, hand-drawn, painterly, digital, pixel, chalk, screen-print |
| --style | Preset shorthand (see Style Presets) |
| --text | none, title-only, title-subtitle, text-rich |
| --mood | subtle, balanced, bold |
| --font | clean, handwritten, serif, display |
| --aspect | 16:9 (default), 2.35:1, 4:3, 3:2, 1:1, 3:4 |
| --lang | Title language (en, zh, ja, etc.) |
| --no-title | Alias for --text none |
| --quick | Skip confirmation, use auto-selection |
| --ref | 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 | 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 â 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
Output directory per default_output_dir preference:
same-dir: {article-dir}/imgs-subdir: {article-dir}/imgs/independent (default): cover-image/{topic-slug}//
âââ source-{slug}.{ext} # Source files
âââ refs/ # Reference images (if provided)
â âââ ref-01-{slug}.{ext}
â âââ ref-01-{slug}.md # Description file
âââ prompts/cover.md # Generation prompt
âââ cover.png # Output image
Slug: 2-4 words, kebab-case. Conflict: append -YYYYMMDD-HHMMSS
Workflow
Progress Checklist
Cover Image Progress:
[ ] Step 0: Check preferences (EXTEND.md) â BLOCKING
[ ] Step 1: Analyze content + save refs + determine output dir
[ ] Step 2: Confirm options (6 dimensions) â ïļ unless --quick
[ ] Step 3: Create prompt
[ ] Step 4: Generate image
[ ] Step 5: Completion report
Flow
Input â [Step 0: Preferences] ââŽâ Found â Continue
ââ Not found â First-Time Setup â BLOCKING â Save EXTEND.md â Continue
â
Analyze + Save Refs â [Output Dir] â [Confirm: 6 Dimensions] â Prompt â Generate â Complete
â
(skip if --quick or all specified)
Step 0: Load Preferences â BLOCKING
Check EXTEND.md in priority order â the first one found wins:
| Priority | Path | Scope |
|----------|------|-------|
| 1 | .baoyu-skills/baoyu-cover-image/EXTEND.md | Project |
| 2 | ${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-cover-image/EXTEND.md | XDG |
| 3 | $HOME/.baoyu-skills/baoyu-cover-image/EXTEND.md | User home |
| Result | Action | |--------|--------| | Found | Load, display summary â Continue | | Not found | â Run first-time setup (references/config/first-time-setup.md) â Save â Continue |
CRITICAL: If not found, complete setup BEFORE any other steps or questions.
Step 1: Analyze Content
1. Save reference images (if provided) â references/workflow/reference-images.md
2. Save source content (if pasted, save to source.md)
3. Analyze content: topic, tone, keywords, visual metaphors
4. Deep analyze references â ïļ: Extract specific, concrete elements (see reference-images.md)
5. Detect language: Compare source, user input, EXTEND.md preference
6. Determine output directory: Per File Structure rules
â ïļ People in Reference Images:
If reference images contain people who should appear in the cover:
--ref (default): Copy image to refs/, pass via --ref at generation. No description file needed â the model sees the face directly.--ref (Jimeng, Seedream 3.0): Create refs/ref-NN-{slug}.md with per-character description (hair, glasses, skin tone, clothing). Embed as MUST/REQUIRED instructions in prompt text.See reference-images.md for full decision table.
Step 2: Confirm Options â ïļ
Hard gate: this step is mandatory per the Confirmation Policy â Steps 3â4 cannot start until the user confirms here (or explicitly opts out with --quick / quick_mode: true / equivalent wording in the current request).
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
Save to prompts/cover.md. Template: references/workflow/prompt-template.md
CRITICAL - References in Frontmatter:
refs/ â Add to frontmatter references listreferences, describe in bodytest -f refs/ref-NN-{slug}.{ext}Reference elements in body MUST be detailed, prefixed with "MUST"/"REQUIRED", with integration approach.
Step 4: Generate Image
1. Backup existing cover.png if regenerating
2. Select backend via the ## Image Generation Tools rule at the top: use whatever is available; if multiple, ask the user once. Do this once per session before any generation.
3. Write the full final prompt to prompts/01-cover-[slug].md (hard requirement) BEFORE invoking the backend.
4. Process references from prompt frontmatter:
- direct usage â pass via --ref (use ref-capable backend)
- style/palette â extract traits, append to prompt
5. Generate: Call the chosen backend with the prompt file, output path, aspect ratio
6. On failure: auto-retry once
Step 5: Completion Report
Cover Generated!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: [directory path]
Files:
â source-{slug}.{ext}
â prompts/cover.md
â cover.png
Image Modification
| Action | Steps | |--------|-------| | Regenerate | Backup â Update prompt file FIRST â Regenerate | | Change dimension | Backup â Confirm new value â Update prompt â Regenerate |
Composition Principles
Changing Preferences
EXTEND.md lives at the path noted in Step 0. Three ways to change it:
preferred_image_backend: auto â default; runtime-native tool wins, falls back to the only installed backend, asks only if multiple non-native are present.
- preferred_image_backend: codex-imagegen â pin to Codex's built-in.
- preferred_image_backend: baoyu-imagine â pin to the baoyu-imagine skill.
- preferred_image_backend: ask â confirm backend every run.
- watermark.enabled: true, preferred_type, preferred_palette, preferred_rendering, default_aspect, quick_mode: true, language â shift the auto-selection defaults and confirmation flow.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
âïļ Configuration
| Option | Description |
|--------|-------------|
| --type | hero, conceptual, typography, metaphor, scene, minimal |
| --palette | warm, elegant, cool, dark, earth, vivid, pastel, mono, retro, duotone, macaron |
| --rendering | flat-vector, hand-drawn, painterly, digital, pixel, chalk, screen-print |
| --style | Preset shorthand (see Style Presets) |
| --text | none, title-only, title-subtitle, text-rich |
| --mood | subtle, balanced, bold |
| --font | clean, handwritten, serif, display |
| --aspect | 16:9 (default), 2.35:1, 4:3, 3:2, 1:1, 3:4 |
| --lang | Title language (en, zh, ja, etc.) |
| --no-title | Alias for --text none |
| --quick | Skip confirmation, use auto-selection |
| --ref | Reference images for style/composition guidance |