B

baoyu-cover-image

Verified

by JimLiu · Updated Apr 16, 2026

opus
3in23out
$1.215s

Generates article cover images with 5 dimensions (type, palette, rendering, text, mood) combining 10 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".

cover-imageimage-generationarticle-assetspromptingdesigncontent

See It In Action

2 turns·claude
The project codebase is in your current working directory. Explore the files to understand the code before making changes. hey can you make the cover image for our engineering launch recap post today? use the article + the saved reference style and keep it widescreen

Let me check the project files and any saved style references.

Step 0 -- Preferences loaded from .baoyu-skills/baoyu-cover-image/EXTEND.md:

cool palette | flat-vector | conceptual | title-only | balanced | clean font | 16:9 | quick mode | brand blue #2563EB

Step 1 -- Analyzing content and setting up output directory.

Now let me set up the output directory and save the reference image.

Now let me deep-analyze the reference image and verify the file was saved.

Reference analysis: Blue gradient with a lighter horizontal band across the center on a deeper blue field. Clean, minimal, flat — perfect alignment with cool/flat-vector preferences.

Step 2 -- Skipped (quick mode + aspect specified).

Step 3 -- Creating the generation prompt.

Step 4 -- Generating the cover image.

Image generation is running. Let me wait for it to complete.

The subprocess generated a Python script approach. Let me generate the image directly.

The cover looks solid but the network lines are a bit dense behind the title. Let me refine that for better text legibility.

That's much cleaner — title reads clearly on the band with the network elements framing it nicely. Let me wrap up.

Step 5 -- Completion report.

Cover Generated!

Topic: Engineering launch recap — 90 days from prototype to 14K users
Type: conceptual | Palette: cool | Rendering: flat-vector
Text: title-only | Mood: balanced | Font: clean | Aspect: 16:9
Title: "Shipping doany.ai: A 90-Day Engineering Launch Recap"
Language: en | Watermark: disabled
References: 1 image (style-ref.png — blue gradient band)
Location: cover-image/engineering-launch-recap/

Files:
  source-launch-recap.md
  refs/ref-01-style-ref.png
  prompts/cover.md
  cover.png

Cover is at cover-image/engineering-launch-recap/cover.png — 1920x1080 widescreen, cool palette with the reference blue-band style, network nodes and hexagons suggesting the technical architecture theme from the article. Let me know if you'd like any adjustments (colors, text size, layout, etc.).

<task-notification> <task-id>bu1345xpr</task-id> <tool-use-id>toolu_012N5SPFjBVSTZNkjcdNBrye</tool-use-id> <output-file>/private/tmp/claude-501/-private-var-folders-t6--sx-03q50-v9w2jpnq683jmw0000gn-T-claude-run-0u2786m-/987b5ea6-773e-4cdf-8be8-da2b95aee97e/tasks/bu1345xpr.output</output-file> <status>completed</status> <summary>Background command "Generate cover image using Claude with reference" completed (exit code 0)</summary> </task-notification>

The background task from earlier finished too — we already have the final image in place. All set!

Claude Sonnet 4.6

Permissions

ScopeDescription
filesystem:read
filesystem:write

SKILL.md

Cover Image Generator

Generate elegant cover images for articles with 5-dimensional customization.

Usage

# Auto-select dimensions based on content
/baoyu-cover-image path/to/article.md

# Quick mode: skip confirmation
/baoyu-cover-image article.md --quick

# Specify dimensions
/baoyu-cover-image article.md --type conceptual --palette warm --rendering flat-vector

# Style presets (shorthand for palette + rendering)
/baoyu-cover-image article.md --style blueprint

# With reference images
/baoyu-cover-image article.md --ref style-ref.png

# Direct content input
/baoyu-cover-image --palette mono --aspect 1:1 --quick
[paste content]

Options

OptionDescription
--type <name>hero, conceptual, typography, metaphor, scene, minimal
--palette <name>warm, elegant, cool, dark, earth, vivid, pastel, mono, retro, duotone
--rendering <name>flat-vector, hand-drawn, painterly, digital, pixel, chalk, screen-print
--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-titleAlias for --text none
--quickSkip confirmation, use auto-selection
--ref <files...>Reference images for style/composition guidance

Five Dimensions

DimensionValuesDefault
Typehero, conceptual, typography, metaphor, scene, minimalauto
Palettewarm, elegant, cool, dark, earth, vivid, pastel, mono, retro, duotoneauto
Renderingflat-vector, hand-drawn, painterly, digital, pixel, chalk, screen-printauto
Textnone, title-only, title-subtitle, text-richtitle-only
Moodsubtle, balanced, boldbalanced
Fontclean, handwritten, serif, displayclean

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 → 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}/
<output-dir>/
├── 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 existence (priority: project → user):

# macOS, Linux, WSL, Git Bash
test -f .baoyu-skills/baoyu-cover-image/EXTEND.md && echo "project"
test -f "${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-cover-image/EXTEND.md" && echo "xdg"
test -f "$HOME/.baoyu-skills/baoyu-cover-image/EXTEND.md" && echo "user"
# PowerShell (Windows)
if (Test-Path .baoyu-skills/baoyu-cover-image/EXTEND.md) { "project" }
$xdg = if ($env:XDG_CONFIG_HOME) { $env:XDG_CONFIG_HOME } else { "$HOME/.config" }
if (Test-Path "$xdg/baoyu-skills/baoyu-cover-image/EXTEND.md") { "xdg" }
if (Test-Path "$HOME/.baoyu-skills/baoyu-cover-image/EXTEND.md") { "user" }
ResultAction
FoundLoad, 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:

  • Model supports --ref (default): Copy image to refs/, pass via --ref at generation. No description file needed — the model sees the face directly.
  • Model does NOT support --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 ⚠️

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

ConditionSkippedStill Asked
--quick or quick_mode: true6 dimensionsAspect ratio (unless --aspect)
All 6 + --aspect specifiedAllNone

Step 3: Create Prompt

Save to prompts/cover.md. Template: references/workflow/prompt-template.md

CRITICAL - References in Frontmatter:

  • Files saved to refs/ → Add to frontmatter references list
  • 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: Generate Image

  1. Backup existing cover.png if regenerating
  2. Check image generation skills; if multiple, ask preference
  3. Process references from prompt frontmatter:
    • direct usage → pass via --ref (use ref-capable backend)
    • style/palette → extract traits, append to prompt
  4. Generate: Call skill with prompt file, output path, aspect ratio
  5. 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

ActionSteps
RegenerateBackup → Update prompt file FIRST → Regenerate
Change dimensionBackup → Confirm new value → Update prompt → Regenerate

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/output | 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

FAQ

What does baoyu-cover-image do?

Generates article cover images with 5 dimensions (type, palette, rendering, text, mood) combining 10 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".

When should I use baoyu-cover-image?

Use it when you need a repeatable workflow that produces image output, text report.

What does baoyu-cover-image output?

In the evaluated run it produced image output, text report.

How do I install or invoke baoyu-cover-image?

Ask the agent to use this skill when the task matches its documented workflow.

Which agents does baoyu-cover-image support?

Agent support is inferred from the source, but not explicitly declared.

What tools, channels, or permissions does baoyu-cover-image need?

It uses no extra tools; channels commonly include image, text; permissions include filesystem:read, filesystem:write.

Is baoyu-cover-image safe to install?

Static analysis marked this skill as medium risk; review side effects and permissions before enabling it.

How is baoyu-cover-image different from an MCP or plugin?

A skill packages instructions and workflow conventions; tools, MCP servers, and plugins are dependencies the skill may call during execution.

Does baoyu-cover-image outperform not using a skill?

About baoyu-cover-image

When to use baoyu-cover-image

When you need a cover image workflow for a markdown article or pasted article content. When you want the agent to organize references, build a generation prompt, and save image assets in a consistent directory structure. When you want guided selection of visual style dimensions like palette, rendering, mood, and aspect ratio.

When baoyu-cover-image is not the right choice

When you need direct integration with a specific external image-generation service defined by this skill, because no concrete backend dependency is specified here. When you only need simple image editing rather than a full article-cover generation workflow.

What it produces

Produces image output and text report.