cover-image
Skill339 starsChanged 8 months agoMITView on GitHub
Generate article cover images with 5 dimensions (type, palette, rendering, text, mood). 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'.
- Reads credentials
8 other projects use a version of this, 2 of them edited.
Adopted by
Most recently taken up by
- sugarforever/01coder-agent-skillstheir own version, first seen Nov 1, 2026
- maroffo/claude-forgetheir own version, first seen Oct 25, 2026
- rootazero/Skillstheir own version, first seen Oct 17, 2026
- waterblower/Omni-Art-Skillstheir own version, first seen Aug 7, 2026
- xingkaixin/skillsedited, first seen Jul 18, 2026
- gracetey-zhang/Omni-Art-Skillstheir own version, first seen Jun 27, 2026
Other versions8 projects use a version of this.
Word for word · 1
- notedit/happy-skills★ 340100% same
Edited · 2
- GPTtang/skill-atlas★ 463% same
- xingkaixin/skills★ 042% same
Wrote their own version · 5
- sugarforever/01coder-agent-skills★ 139same name
- waterblower/Omni-Art-Skills★ 47same name
- gracetey-zhang/Omni-Art-Skills★ 32same name
- maroffo/claude-forge★ 17same name
- rootazero/Skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- feature-analyzerSkill
- feature-devSkill
- feature-pipelineSkill
- issue-flowSkill
- screenshot-analyzerSkill
- skill-creation-guideSkill
- tts-skillSkill
- gsap-animationSkill
- react-animationSkill
- spring-animationSkill
- video-producerSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 198
Before writing -> Verify: test -f refs/ref-NN-{slug}.{ext}
- Distinctive: line 200
Reference elements in body: MUST be detailed, prefixed with "MUST"/"REQUIRED", with integration approach.
- Distinctive: line 211
OpenAI: Use ImageGen tool or API
- Distinctive: line 212
Google: Use ImageGen tool with reference images
- Distinctive: line 252
Title: Use exact title from user/source.
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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
| Option | Description |
--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-title | Alias for --text none |
--n <count> | Number of images to generate (1-4) |
--quick | Skip confirmation, use auto-selection |
--ref <files...> | Reference images for style/composition guidance |
Providers
| Provider | Model | Text Rendering | Chinese Support | Price |
qwen | qwen-image-plus | Excellent | Native Chinese | 0.2 CNY/image |
openai | gpt-image-1 | Good | Limited | ~$0.04/image |
google | gemini-2.0-flash-exp | Good | Limited | Free tier available |
Provider Selection Logic
--providerspecified -> use it- Chinese title detected -> auto-select
qwen - Reference images provided -> use
googleoropenai - 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
Good for multimodal generation with reference images.
Environment Variable: GOOGLE_API_KEY
Supported Sizes: Various aspect ratios supported
Five Dimensions
| Dimension | Values | Default |
| Type | hero, conceptual, typography, metaphor, scene, minimal | auto |
| Palette | warm, elegant, cool, dark, earth, vivid, pastel, mono, retro | auto |
| Rendering | flat-vector, hand-drawn, painterly, digital, pixel, chalk | 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 -> 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 imageSlug: 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 reportStep 1: Analyze Content
- Save reference images (if provided) -> references/workflow/reference-images.md
- Save source content (if pasted, save to
source.md) - Analyze content: topic, tone, keywords, visual metaphors
- Deep analyze references: Extract specific, concrete elements
- Detect language: Compare source, user input
- Determine output directory: Per File Structure rules
- Auto-select provider: Based on language and references
Step 2: Confirm Options
Full confirmation flow: references/workflow/confirm-options.md
| Condition | Skipped | Still Asked |
--quick | 6 dimensions + provider | Aspect ratio (unless --aspect) |
All 6 + --aspect + --provider specified | All | None |
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 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: Generate Image
- Backup existing
cover.pngif regenerating - Select provider based on language and options
- Process references from prompt frontmatter:
directusage -> pass reference images directly (google/openai only)style/palette-> extract traits, append to prompt
- 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
- On failure: auto-retry once
Step 5: Resize for Platform
Resize generated image to target platform size:
| Platform | Target Size | Aspect Ratio |
| 公众号封面 | 900x383 | 2.35:1 |
| 博客/视频 | 1920x1080 | 16:9 |
| 小红书 | 1080x1080 | 1:1 |
| 手机海报 | 1080x1440 | 3: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
| Ratio | Platform | Use Case |
2.35:1 | 微信公众号封面 | 公众号首图,900x383px |
16:9 | 通用宽屏 | 博客、视频封面 |
1:1 | 社交媒体 | 微博、小红书、Instagram |
4:3 | 经典比例 | 演示文稿、传统媒体 |
3:2 | 摄影标准 | 照片风格封面 |
3:4 | 竖版 | 手机端、海报 |
Environment Variables
| Variable | Required For | Get From |
DASHSCOPE_API_KEY | Qwen (default) | https://bailian.console.aliyun.com |
OPENAI_API_KEY | OpenAI | https://platform.openai.com |
GOOGLE_API_KEY | https://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
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

