baoyu-cover-image
💡 摘要
根据内容分析生成优雅的手绘风格文章封面图像。
🎯 适合人群
🤖 AI 吐槽: “看起来很能打,但别让配置把人劝退。”
风险:Medium。建议检查:是否执行 shell/命令行指令;文件读写范围与路径穿越风险。以最小权限运行,并在生产环境启用前审计代码与依赖。
name: baoyu-cover-image description: Generate elegant cover images for articles. Analyzes content and creates eye-catching hand-drawn style cover images with multiple style options. Use when user asks to "generate cover image", "create article cover", or "make a cover for article".
Cover Image Generator
Generate hand-drawn style cover images for articles with multiple style options.
Usage
# From markdown file (auto-select style based on content) /baoyu-cover-image path/to/article.md # Specify a style /baoyu-cover-image path/to/article.md --style blueprint /baoyu-cover-image path/to/article.md --style warm /baoyu-cover-image path/to/article.md --style dark-atmospheric # Without title text /baoyu-cover-image path/to/article.md --no-title # Combine options /baoyu-cover-image path/to/article.md --style minimal --no-title # From direct text input /baoyu-cover-image [paste content or describe the topic] # Direct input with style /baoyu-cover-image --style playful [paste content]
Options
| Option | Description |
|--------|-------------|
| --style <name> | Specify cover style (see Style Gallery below) |
| --aspect <ratio> | Aspect ratio: 2.35:1 (cinematic, default), 16:9 (widescreen), 1:1 (social) |
| --lang <code> | Output language for title text (en, zh, ja, etc.) |
| --no-title | Generate cover without title text (visual only) |
Style Gallery
| Style | Description |
|-------|-------------|
| elegant (Default) | Refined, sophisticated, understated |
| flat-doodle | Bold outlines, pastel colors, cute rounded shapes |
| blueprint | Technical schematics, engineering precision |
| bold-editorial | Magazine cover impact, dramatic typography |
| chalkboard | Black chalkboard, colorful chalk drawings |
| dark-atmospheric | Cinematic dark mode, glowing accents |
| editorial-infographic | Magazine explainer, visual storytelling |
| fantasy-animation | Ghibli/Disney inspired, whimsical charm |
| intuition-machine | Technical briefing, bilingual labels |
| minimal | Ultra-clean, zen-like, focused |
| nature | Organic, calm, earthy |
| notion | Clean SaaS dashboard, productivity styling |
| pixel-art | Retro 8-bit, nostalgic gaming aesthetic |
| playful | Fun, creative, whimsical |
| retro | Halftone dots, vintage badges, classic |
| sketch-notes | Hand-drawn, educational, warm |
| vector-illustration | Flat vector, black outlines, retro colors |
| vintage | Aged paper, historical, expedition style |
| warm | Friendly, approachable, human-centered |
| watercolor | Soft hand-painted, natural warmth |
Detailed style definitions: references/styles/<style>.md
Auto Style Selection
When no --style is specified, the system analyzes content to select the best style:
| Content Signals | Selected Style |
|----------------|----------------|
| Architecture, system design, engineering | blueprint |
| Product launch, keynote, marketing, brand | bold-editorial |
| Education, classroom, tutorial, teaching | chalkboard |
| Entertainment, creative, premium, cinematic | dark-atmospheric |
| Technology explainer, science, research | editorial-infographic |
| Storytelling, children, fantasy, magical | fantasy-animation |
| Technical docs, academic, bilingual | intuition-machine |
| Personal story, emotion, growth, life | warm |
| Simple, zen, focus, essential | minimal |
| Fun, easy, beginner, casual | playful |
| Nature, eco, wellness, health, organic | nature |
| Pop culture, 80s/90s nostalgia, badges | retro |
| Product, SaaS, dashboard, productivity | notion |
| Productivity, workflow, app, tools, cute | flat-doodle |
| Gaming, retro tech, developer, 8-bit | pixel-art |
| Educational, tutorial, knowledge sharing | sketch-notes |
| Creative proposals, brand, toy-like | vector-illustration |
| History, exploration, heritage, biography | vintage |
| Lifestyle, travel, food, personal | watercolor |
| Business, professional, strategy, analysis | elegant |
File Management
Output Directory
Each session creates an independent directory named by content slug:
cover-image/{topic-slug}/
├── source-{slug}.{ext} # Source files (text, images, etc.)
├── prompts/
│ └── cover.md
└── cover.png
Slug Generation:
- Extract main topic from content (2-4 words, kebab-case)
- Example: "The Future of AI" →
future-of-ai
Conflict Resolution
If cover-image/{topic-slug}/ already exists:
- Append timestamp:
{topic-slug}-YYYYMMDD-HHMMSS - Example:
ai-futureexists →ai-future-20260118-143052
Source Files
Copy all sources with naming source-{slug}.{ext}:
source-article.md(main text content)source-logo.png(image from conversation)
Multiple sources supported: text, images, files from conversation.
Workflow
Step 1: Analyze Content
-
Save source content (if not already a file):
- If user provides a file path: use as-is
- If user pastes content: save to
source.mdin target directory
-
Extract key information:
- Main topic: What is the article about?
- Core message: What's the key takeaway?
- Tone: Serious, playful, inspiring, educational?
- Keywords: Identify style-signaling words
-
Language detection:
- Detect source language from content
- Detect user language from conversation context
- Note if source_language ≠ user_language (will ask in Step 3)
Step 2: Determine Options
-
Style selection:
- If
--stylespecified, use that style - Otherwise, scan content for style signals and auto-select 3 candidates
- Default to
elegantif no clear signals
- If
-
Aspect ratio:
- If
--aspectspecified, use that ratio - Otherwise, prepare options: 2.35:1 (cinematic), 16:9 (widescreen), 1:1 (social)
- If
Step 3: Confirm Options
Purpose: Let user confirm all options in a single step before generation.
IMPORTANT: Present ALL options in a single confirmation step using AskUserQuestion. Do NOT interrupt workflow with multiple separate confirmations.
Determine which questions to ask:
| Question | When to Ask |
|----------|-------------|
| Style | Always (required) |
| Aspect ratio | Always (offer common options) |
| Language | Only if source_language ≠ user_language |
Present options (use AskUserQuestion with all applicable questions):
Question 1 (Style) - always:
- Style A (recommended): [style name] - [brief description]
- Style B: [style name] - [brief description]
- Style C: [style name] - [brief description]
- Custom: Provide custom style reference
Question 2 (Aspect) - always:
- 2.35:1 Cinematic (Recommended) - ultra-wide, dramatic
- 16:9 Widescreen - standard video/presentation
- 1:1 Square - social media optimized
Question 3 (Language) - only if source ≠ user language:
- [Source language] (matches content)
- [User language] (your preference)
Language handling:
- If source language = user language: Just inform user (e.g., "Title will be in Chinese")
- If different: Ask which language to use for title text
Step 4: Generate Cover Concept
Create a cover image concept based on selected style:
Title (if included, max 8 characters):
- Distill the core message into a punchy headline
- Use hooks: numbers, questions, contrasts, pain points
- Skip if
--no-titleflag is used
Visual Elements:
- Style-appropriate imagery and icons
- 1-2 symbolic elements representing the topic
- Metaphors or analogies that fit the style
Step 5: Create Prompt File
Save prompt to prompts/cover.md with confirmed options.
All prompts are written in the user's confirmed language preference.
Prompt Format:
Cover theme: [topic in 2-3 words] Style: [selected style name] Aspect ratio: [confirmed aspect ratio] [If title included:] Title text: [8 characters or less, in confirmed language] Subtitle: [optional, in confirmed language] Visual composition: - Main visual: [description matching style] - Layout: [positioning based on title inclusion and aspect ratio] - Decorative elements: [style-appropriate elements] Color scheme: - Primary: [style primary color] - Background: [style background color] - Accent: [style accent color] Style notes: [specific style characteristics to emphasize] [If no title:] Note: No title text, pure visual illustration only.
Step 6: Generate Image
Image Generation Skill Selection:
- Check available image generation skills
- If multiple skills available, ask user to choose
Generation: Call selected image generation skill with prompt file, output path, and confirmed aspect ratio.
Step 7: Output Summary
Cover Image Generated!
Topic: [topic]
Style: [style name]
Aspect: [aspect ratio]
Title: [cover title] (or "No title - visual only")
Language: [confirmed language]
Location: [output path]
Preview the image to verify it matches your expectations.
Notes
- Cover should be instantly understandable at small preview sizes
- Title (if included) must be readable and impactful
- Visual metaphors work better than literal representations
- Maintain style consistency throughout the cover
- Image generation typically takes 10-30 seconds
- Title text uses user's confirmed language preference
- Aspect ratio: 2.35:1 for cinematic/dramatic, 16:9 for widescreen, 1:1 for social media
Extension Support
Custom styles and configurations via EXTEND.md.
Check paths (priority order):
.baoyu-skills/baoyu-cover-image/EXTEND.md(project)~/.baoyu-skills/baoyu-cover-image/EXTEND.md(user)
If found, load before Step 1. Extension content overrides defaults.
优点
- 提供多种风格选项
- 根据内容自动选择风格
- 支持多种输入格式
- 系统地组织输出文件
缺点
- 仅限于预定义风格
- 可能需要用户输入以获得最佳结果
- 依赖内容分析的准确性
相关技能
免责声明:本内容来源于 GitHub 开源项目,仅供展示和评分分析使用。
版权归原作者所有 JimLiu.
