Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
notedit avatar

Cover Image

  • 77 installs
  • 340 repo stars
  • Updated March 3, 2026
  • notedit/happy-skills

Helps with ai & agent building tasks.

About

cover-image is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.

  • cover-image
  • AI & Agent Building
  • AI-coding skill

Cover Image by the numbers

  • 77 all-time installs (skills.sh)
  • +3 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #5,386 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/notedit/happy-skills --skill cover-image

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs77
repo stars340
Last updatedMarch 3, 2026
Repositorynotedit/happy-skills

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

Cover Image Generator

Generate elegant cover images for articles with 5-dimensional customization. Supports Chinese text rendering.

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

# WeChat Official Account cover
/cover-image article.md --aspect 2.35:1

# Specify provider
/cover-image article.md --provider qwen

# Use style preset
/cover-image article.md --style tech-dark

# Large font for better visibility
/cover-image article.md --font-size large

# Generate multiple options
/cover-image article.md --n 3

# With reference images (Google/OpenAI only)
/cover-image article.md --ref style-ref.png

# Direct content input
/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
--rendering <name>flat-vector, hand-drawn, painterly, digital, pixel, chalk
--text <level>none, title-only, title-subtitle, text-rich
--mood <level>subtle, balanced, bold
--font <name>clean, handwritten, serif, display
--font-size <size>small, medium (default), large, xlarge
--aspect <ratio>16:9 (default), 2.35:1 (公众号封面), 4:3, 3:2, 1:1, 3:4
--provider <name>qwen (default), openai, google
--style <preset>tech-dark, tech-clean, lifestyle-warm, business-elegant, announcement-bold, minimal-zen, creative-playful, retro-vintage
--lang <code>Title language (en, zh, ja, etc.)
--no-titleAlias for --text none
--n <count>Number of images to generate (1-4)
--quickSkip confirmation, use auto-selection
--ref <files...>Reference images for style/composition guidance

Providers

ProviderModelText RenderingChinese SupportPrice
qwenqwen-image-plusExcellentNative Chinese0.2 CNY/image
openaigpt-image-1GoodLimited~$0.04/image
googlegemini-2.0-flash-expGoodLimitedFree tier available

Provider Selection Logic

1. --provider specified -> use it 2. Chinese title detected -> auto-select qwen 3. Reference images provided -> use google or openai 4. Default -> qwen

Qwen-Image (Default)

Best for Chinese text rendering. Native support for Chinese characters.

API Endpoint: https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis

Environment Variable: DASHSCOPE_API_KEY

Supported Sizes: 1664*928, 1024*1024, 928*1664, 1472*1104, 1104*1472

OpenAI

Good for English text and creative designs.

Environment Variable: OPENAI_API_KEY

Supported Sizes: 1024x1024, 1536x1024, 1024x1536

Google

Good for multimodal generation with reference images.

Environment Variable: GOOGLE_API_KEY

Supported Sizes: Various aspect ratios supported

Five Dimensions

DimensionValuesDefault
Typehero, conceptual, typography, metaphor, scene, minimalauto
Palettewarm, elegant, cool, dark, earth, vivid, pastel, mono, retroauto
Renderingflat-vector, hand-drawn, painterly, digital, pixel, chalkauto
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 -> Details: references/palettes/

Renderings: flat-vector, hand-drawn, painterly, digital, pixel, chalk -> 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 1: Analyze content + save refs + determine output dir
- [ ] Step 2: Confirm options (6 dimensions + provider) unless --quick
- [ ] Step 3: Create prompt
- [ ] Step 4: Generate image
- [ ] Step 5: Resize for platform (if needed)
- [ ] Step 6: Completion report

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 5. Detect language: Compare source, user input 6. Determine output directory: Per File Structure rules 7. Auto-select provider: Based on language and references

Step 2: Confirm Options

Full confirmation flow: references/workflow/confirm-options.md

ConditionSkippedStill Asked
--quick6 dimensions + providerAspect ratio (unless --aspect)
All 6 + --aspect + --provider 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. Select provider based on language and options 3. Process references from prompt frontmatter:

  • direct usage -> pass reference images directly (google/openai only)
  • style/palette -> extract traits, append to prompt

4. Generate via provider API:

  • Qwen: POST to dashscope API, poll for result
  • OpenAI: Use ImageGen tool or API
  • Google: Use ImageGen tool with reference images

5. On failure: auto-retry once

Step 5: Resize for Platform

Resize generated image to target platform size:

PlatformTarget SizeAspect Ratio
公众号封面900x3832.35:1
博客/视频1920x108016:9
小红书1080x10801:1
手机海报1080x14403:4

Step 6: Completion Report

Cover Generated!

Provider: [provider]
Topic: [topic]
Type: [type] | Palette: [palette] | Rendering: [rendering]
Text: [text] | Mood: [mood] | Font: [font] | Aspect: [ratio]
Title: [title or "visual only"]
Language: [lang]
References: [N images or "extracted style" or "none"]
Location: [directory path]

Files:
- source-{slug}.{ext}
- prompts/cover.md
- cover.png
- cover-{platform}.png (if resized)

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

Aspect Ratios

RatioPlatformUse Case
2.35:1微信公众号封面公众号首图,900x383px
16:9通用宽屏博客、视频封面
1:1社交媒体微博、小红书、Instagram
4:3经典比例演示文稿、传统媒体
3:2摄影标准照片风格封面
3:4竖版手机端、海报

Environment Variables

VariableRequired ForGet From
DASHSCOPE_API_KEYQwen (default)https://bailian.console.aliyun.com
OPENAI_API_KEYOpenAIhttps://platform.openai.com
GOOGLE_API_KEYGooglehttps://aistudio.google.com

References

Dimensions: text.md | mood.md | font.md Palettes: references/palettes/ Renderings: references/renderings/ Types: references/types.md Style Presets: references/style-presets.md Auto-Selection: references/auto-selection.md Visual Elements: references/visual-elements.md Workflow: confirm-options.md | prompt-template.md | reference-images.md | qwen-api.md

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.