Agent skill

baoyu-xhs-images

Generates Xiaohongshu (Little Red Book) infographic series with 11 visual styles and 8 layouts. Breaks content into 1-10 cartoon-style images optimized for XHS engagement. Use when user mentions "小红书图片", "XHS images", "RedNote infographics", "小红书种草", or wants social media infographics for Chinese platforms.

Stars 13,158
Forks 1,499

Install this agent skill to your Project

npx add-skill https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-xhs-images

Metadata

Additional technical details for this skill

openclaw
{
    "homepage": "https://github.com/JimLiu/baoyu-skills#baoyu-xhs-images"
}

SKILL.md

Xiaohongshu Infographic Series Generator

Break down complex content into eye-catching infographic series for Xiaohongshu with multiple style options.

Usage

bash
# Auto-select style and layout based on content
/baoyu-xhs-images posts/ai-future/article.md

# Specify style
/baoyu-xhs-images posts/ai-future/article.md --style notion

# Specify layout
/baoyu-xhs-images posts/ai-future/article.md --layout dense

# Combine style and layout
/baoyu-xhs-images posts/ai-future/article.md --style notion --layout list

# Use preset (style + layout shorthand)
/baoyu-xhs-images posts/ai-future/article.md --preset knowledge-card

# Preset with override
/baoyu-xhs-images posts/ai-future/article.md --preset poster --layout quadrant

# Direct content input
/baoyu-xhs-images
[paste content]

# Direct input with options
/baoyu-xhs-images --style bold --layout comparison
[paste content]

Options

Option Description
--style <name> Visual style (see Style Gallery)
--layout <name> Information layout (see Layout Gallery)
--preset <name> Style + layout shorthand (see Style Presets)

Two Dimensions

Dimension Controls Options
Style Visual aesthetics: colors, lines, decorations cute, fresh, warm, bold, minimal, retro, pop, notion, chalkboard, study-notes, screen-print
Layout Information structure: density, arrangement sparse, balanced, dense, list, comparison, flow, mindmap, quadrant

Style × Layout can be freely combined. Example: --style notion --layout dense creates an intellectual-looking knowledge card with high information density.

Or use presets: --preset knowledge-card → style + layout in one flag. See Style Presets.

Style Gallery

Style Description
cute (Default) Sweet, adorable, girly - classic Xiaohongshu aesthetic
fresh Clean, refreshing, natural
warm Cozy, friendly, approachable
bold High impact, attention-grabbing
minimal Ultra-clean, sophisticated
retro Vintage, nostalgic, trendy
pop Vibrant, energetic, eye-catching
notion Minimalist hand-drawn line art, intellectual
chalkboard Colorful chalk on black board, educational
study-notes Realistic handwritten photo style, blue pen + red annotations + yellow highlighter
screen-print Bold poster art, halftone textures, limited colors, symbolic storytelling

Detailed style definitions: references/presets/<style>.md

Preset Gallery

Quick-start presets by content scenario. Use --preset <name> or recommend during Step 2.

Knowledge & Learning:

Preset Style Layout Best For
knowledge-card notion dense 干货知识卡、概念科普
checklist notion list 清单、排行榜、必备清单
concept-map notion mindmap 概念图、知识脉络
swot notion quadrant SWOT分析、四象限分类
tutorial chalkboard flow 教程步骤、操作流程
classroom chalkboard balanced 课堂笔记、知识讲解
study-guide study-notes dense 学习笔记、考试重点

Lifestyle & Sharing:

Preset Style Layout Best For
cute-share cute balanced 少女风分享、日常种草
girly cute sparse 甜美封面、氛围感
cozy-story warm balanced 生活故事、情感分享
product-review fresh comparison 产品对比、测评
nature-flow fresh flow 健康流程、自然主题

Impact & Opinion:

Preset Style Layout Best For
warning bold list 避坑指南、重要提醒
versus bold comparison 正反对比、强烈对照
clean-quote minimal sparse 金句、极简封面
pro-summary minimal balanced 专业总结、商务内容

Trend & Entertainment:

Preset Style Layout Best For
retro-ranking retro list 复古排行、经典盘点
throwback retro balanced 怀旧分享、老物件
pop-facts pop list 趣味冷知识、好玩的事
hype pop sparse 炸裂封面、惊叹分享

Poster & Editorial:

Preset Style Layout Best For
poster screen-print sparse 海报风封面、影评书评
editorial screen-print balanced 观点文章、文化评论
cinematic screen-print comparison 电影对比、戏剧张力

Full preset definitions: references/style-presets.md

Layout Gallery

Layout Description
sparse (Default) Minimal information, maximum impact (1-2 points)
balanced Standard content layout (3-4 points)
dense High information density, knowledge card style (5-8 points)
list Enumeration and ranking format (4-7 items)
comparison Side-by-side contrast layout
flow Process and timeline layout (3-6 steps)
mindmap Center radial mind map layout (4-8 branches)
quadrant Four-quadrant / circular section layout

Detailed layout definitions: references/elements/canvas.md

Auto Selection

Content Signals Style Layout Recommended Preset
Beauty, fashion, cute, girl, pink cute sparse/balanced cute-share, girly
Health, nature, clean, fresh, organic fresh balanced/flow product-review, nature-flow
Life, story, emotion, feeling, warm warm balanced cozy-story
Warning, important, must, critical bold list/comparison warning, versus
Professional, business, elegant, simple minimal sparse/balanced clean-quote, pro-summary
Classic, vintage, old, traditional retro balanced throwback, retro-ranking
Fun, exciting, wow, amazing pop sparse/list hype, pop-facts
Knowledge, concept, productivity, SaaS notion dense/list knowledge-card, checklist
Education, tutorial, learning, teaching, classroom chalkboard balanced/dense tutorial, classroom
Notes, handwritten, study guide, knowledge, realistic, photo study-notes dense/list/mindmap study-guide
Movie, album, concert, poster, opinion, editorial, dramatic, cinematic screen-print sparse/comparison poster, editorial, cinematic

Outline Strategies

Three differentiated outline strategies for different content goals:

Strategy A: Story-Driven (故事驱动型)

Aspect Description
Concept Personal experience as main thread, emotional resonance first
Features Start from pain point, show before/after change, strong authenticity
Best for Reviews, personal shares, transformation stories
Structure Hook → Problem → Discovery → Experience → Conclusion

Strategy B: Information-Dense (信息密集型)

Aspect Description
Concept Value-first, efficient information delivery
Features Clear structure, explicit points, professional credibility
Best for Tutorials, comparisons, product reviews, checklists
Structure Core conclusion → Info card → Pros/Cons → Recommendation

Strategy C: Visual-First (视觉优先型)

Aspect Description
Concept Visual impact as core, minimal text
Features Large images, atmospheric, instant appeal
Best for High-aesthetic products, lifestyle, mood-based content
Structure Hero image → Detail shots → Lifestyle scene → CTA

File Structure

Each session creates an independent directory named by content slug:

xhs-images/{topic-slug}/
├── source-{slug}.{ext}             # Source files (text, images, etc.)
├── analysis.md                     # Deep analysis + questions asked
├── outline-strategy-a.md           # Strategy A: Story-driven
├── outline-strategy-b.md           # Strategy B: Information-dense
├── outline-strategy-c.md           # Strategy C: Visual-first
├── outline.md                      # Final selected/merged outline
├── prompts/
│   ├── 01-cover-[slug].md
│   ├── 02-content-[slug].md
│   └── ...
├── 01-cover-[slug].png
├── 02-content-[slug].png
└── NN-ending-[slug].png

Slug Generation:

  1. Extract main topic from content (2-4 words, kebab-case)
  2. Example: "AI工具推荐" → ai-tools-recommend

Conflict Resolution: If xhs-images/{topic-slug}/ already exists:

  • Append timestamp: {topic-slug}-YYYYMMDD-HHMMSS
  • Example: ai-tools exists → ai-tools-20260118-143052

Source Files: Copy all sources with naming source-{slug}.{ext}:

  • source-article.md, source-photo.jpg, etc.
  • Multiple sources supported: text, images, files from conversation

Workflow

Progress Checklist

Copy and track progress:

XHS Infographic Progress:
- [ ] Step 0: Check preferences (EXTEND.md) ⛔ BLOCKING
  - [ ] Found → load preferences → continue
  - [ ] Not found → run first-time setup → MUST complete before Step 1
- [ ] Step 1: Analyze content → analysis.md
- [ ] Step 2: Smart Confirm ⚠️ REQUIRED
  - [ ] Path A: Quick confirm → generate recommended outline
  - [ ] Path B: Customize → adjust then generate outline
  - [ ] Path C: Detailed → 3 outlines → second confirm → generate outline
- [ ] Step 3: Generate images (sequential)
- [ ] Step 4: Completion report

Flow

Input → [Step 0: Preferences] ─┬─ Found → Continue
                               │
                               └─ Not found → First-Time Setup ⛔ BLOCKING
                                              │
                                              └─ Complete setup → Save EXTEND.md → Continue
                                                                                      │
        ┌───────────────────────────────────────────────────────────────────────────┘
        ↓
Analyze → [Smart Confirm] ─┬─ Quick: confirm recommended → outline.md → Generate → Complete
                           │
                           ├─ Customize: adjust options → outline.md → Generate → Complete
                           │
                           └─ Detailed: 3 outlines → [Confirm 2] → outline.md → Generate → Complete

Step 0: Load Preferences (EXTEND.md) ⛔ BLOCKING

Purpose: Load user preferences or run first-time setup.

CRITICAL: If EXTEND.md not found, MUST complete first-time setup before ANY other questions or steps. Do NOT proceed to content analysis, do NOT ask about style, do NOT ask about layout — ONLY complete the preferences setup first.

Check EXTEND.md existence (priority order):

bash
# macOS, Linux, WSL, Git Bash
test -f .baoyu-skills/baoyu-xhs-images/EXTEND.md && echo "project"
test -f "${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-xhs-images/EXTEND.md" && echo "xdg"
test -f "$HOME/.baoyu-skills/baoyu-xhs-images/EXTEND.md" && echo "user"
powershell
# PowerShell (Windows)
if (Test-Path .baoyu-skills/baoyu-xhs-images/EXTEND.md) { "project" }
$xdg = if ($env:XDG_CONFIG_HOME) { $env:XDG_CONFIG_HOME } else { "$HOME/.config" }
if (Test-Path "$xdg/baoyu-skills/baoyu-xhs-images/EXTEND.md") { "xdg" }
if (Test-Path "$HOME/.baoyu-skills/baoyu-xhs-images/EXTEND.md") { "user" }

┌────────────────────────────────────────────────────┬───────────────────┐ │ Path │ Location │ ├────────────────────────────────────────────────────┼───────────────────┤ │ .baoyu-skills/baoyu-xhs-images/EXTEND.md │ Project directory │ ├────────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.baoyu-skills/baoyu-xhs-images/EXTEND.md │ User home │ └────────────────────────────────────────────────────┴───────────────────┘

┌───────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Result │ Action │ ├───────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ Found │ Read, parse, display summary → Continue to Step 1 │ ├───────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ Not found │ ⛔ BLOCKING: Run first-time setup ONLY (see below) → Complete and save EXTEND.md → Then Step 1 │ └───────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────┘

First-Time Setup (when EXTEND.md not found):

Language: Use user's input language or saved language preference.

Use AskUserQuestion with ALL questions in ONE call. See references/config/first-time-setup.md for question details.

EXTEND.md Supports: Watermark | Preferred style/layout | Custom style definitions | Language preference

Schema: references/config/preferences-schema.md

Step 1: Analyze Content → analysis.md

Read source content, save it if needed, and perform deep analysis.

Actions:

  1. Save source content (if not already a file):
    • If user provides a file path: use as-is
    • If user pastes content: save to source.md in target directory
    • Backup rule: If source.md exists, rename to source-backup-YYYYMMDD-HHMMSS.md
  2. Read source content
  3. Deep analysis following references/workflows/analysis-framework.md:
    • Content type classification (种草/干货/测评/教程/避坑...)
    • Hook analysis (爆款标题潜力)
    • Target audience identification
    • Engagement potential (收藏/分享/评论)
    • Visual opportunity mapping
    • Swipe flow design
  4. Detect source language
  5. Determine recommended image count (2-10)
  6. Auto-recommend best strategy + style + layout based on content signals
  7. Save to analysis.md

Step 2: Smart Confirm ⚠️

Purpose: Present auto-recommended plan, let user confirm or adjust. Do NOT skip.

Auto-Recommendation Logic:

  1. Use Auto Selection table to match content signals → best strategy + style + layout
  2. Infer optimal image count from content density
  3. Load style's default elements from preset

Display (analysis summary + recommended plan):

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 内容分析
  主题:[topic] | 类型:[content_type]
  要点:[key points summary]
  受众:[target audience]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎨 推荐方案(自动匹配)
  策略:[A/B/C] [strategy name]([reason])
  风格:[style] · 布局:[layout] · 预设:[preset]
  图片:[N]张(封面+[N-2]内容+结尾)
  元素:[background] / [decorations] / [emphasis]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Use AskUserQuestion with single question:

Option Description
1. ✅ 确认,直接生成(推荐) Trust auto-recommendation, proceed immediately
2. 🎛️ 自定义调整 Modify strategy/style/layout/count in one step
3. 📋 详细模式 Generate 3 outlines, then choose (two confirmations)

Path A: Quick Confirm (Option 1)

Generate single outline using recommended strategy + style → save to outline.md → Step 3.

Path B: Customize (Option 2)

Use AskUserQuestion with adjustable options (leave blank = keep recommended):

  1. 策略风格: Current: [strategy + style]. Options: A Story-Driven(warm) | B Information-Dense(notion) | C Visual-First(screen-print). Or specify style directly: cute/fresh/warm/bold/minimal/retro/pop/notion/chalkboard/study-notes/screen-print. Or use preset: knowledge-card / checklist / tutorial / poster / cinematic / etc.
  2. 布局: Current: [layout]. Options: sparse | balanced | dense | list | comparison | flow | mindmap | quadrant
  3. 图片数量: Current: [N]. Range: 2-10
  4. 补充说明(可选): Selling point emphasis, audience adjustment, color preference, etc.

After response: Generate single outline with user's choices → save to outline.md → Step 3.

Path C: Detailed Mode (Option 3)

Full two-confirmation flow for maximum control:

Step 2a: Content Understanding

Use AskUserQuestion for:

  1. Core selling point (multiSelect: true)
  2. Target audience
  3. Style preference: Authentic sharing / Professional review / Aesthetic mood / Auto
  4. Additional context (optional)

After response: Update analysis.md.

Step 2b: Generate 3 Outline Variants

Strategy Filename Outline Recommended Style
A outline-strategy-a.md Story-driven: emotional, before/after warm, cute, fresh
B outline-strategy-b.md Information-dense: structured, factual notion, minimal, chalkboard
C outline-strategy-c.md Visual-first: atmospheric, minimal text bold, pop, retro, screen-print

Outline format (YAML front matter + content):

yaml
---
strategy: a  # a, b, or c
name: Story-Driven
style: warm  # recommended style for this strategy
style_reason: "Warm tones enhance emotional storytelling and personal connection"
elements:  # from style preset, can be customized
  background: solid-pastel
  decorations: [clouds, stars-sparkles]
  emphasis: star-burst
  typography: highlight
layout: balanced  # primary layout
image_count: 5
---

## P1 Cover
**Type**: cover
**Hook**: "入冬后脸不干了🥹终于找到对的面霜"
**Visual**: Product hero shot with cozy winter atmosphere
**Layout**: sparse

## P2 Problem
**Type**: pain-point
**Message**: Previous struggles with dry skin
**Visual**: Before state, relatable scenario
**Layout**: balanced

...

Differentiation requirements:

  • Each strategy MUST have different outline structure AND different recommended style
  • Adapt page count: A typically 4-6, B typically 3-5, C typically 3-4
  • Include style_reason explaining why this style fits the strategy

Reference: references/workflows/outline-template.md

Step 2c: Outline & Style Selection

Use AskUserQuestion with three questions:

Q1: Outline Strategy: A / B / C / Combine (specify pages from each)

Q2: Visual Style: Use recommended | Select preset | Select style | Custom description

Q3: Visual Elements: Use defaults (Recommended) | Adjust background | Adjust decorations | Custom

After response: Save selected/merged outline to outline.md with confirmed style and elements → Step 3.

Step 3: Generate Images

With confirmed outline + style + layout:

Visual Consistency — Reference Image Chain: To ensure character/style consistency across all images in a series:

  1. Generate image 1 (cover) FIRST — without --ref
  2. Use image 1 as --ref for ALL remaining images (2, 3, ..., N)
    • This anchors the character design, color rendering, and illustration style
    • Command pattern: --ref <path-to-image-01.png> added to every subsequent generation

This is critical for styles that use recurring characters, mascots, or illustration elements. Image 1 becomes the visual anchor for the entire series.

For each image (cover + content + ending):

  1. Save prompt to prompts/NN-{type}-[slug].md (in user's preferred language)
    • Backup rule: If prompt file exists, rename to prompts/NN-{type}-[slug]-backup-YYYYMMDD-HHMMSS.md
  2. Generate image:
    • Image 1: Generate without --ref (this establishes the visual anchor)
    • Images 2+: Generate with --ref <image-01-path> for consistency
    • Backup rule: If image file exists, rename to NN-{type}-[slug]-backup-YYYYMMDD-HHMMSS.png
  3. Report progress after each generation

Watermark Application (if enabled in preferences): Add to each image generation prompt:

Include a subtle watermark "[content]" positioned at [position].
The watermark should be legible but not distracting from the main content.

Reference: references/config/watermark-guide.md

Image Generation Skill Selection:

  • Check available image generation skills
  • If multiple skills available, ask user preference

Session Management: If image generation skill supports --sessionId:

  1. Generate unique session ID: xhs-{topic-slug}-{timestamp}
  2. Use same session ID for all images
  3. Combined with reference image chain, ensures maximum visual consistency

Step 4: Completion Report

Xiaohongshu Infographic Series Complete!

Topic: [topic]
Mode: [Quick / Custom / Detailed]
Strategy: [A/B/C/Combined]
Style: [style name]
Layout: [layout name or "varies"]
Location: [directory path]
Images: N total

✓ analysis.md
✓ outline.md
✓ outline-strategy-a/b/c.md (detailed mode only)

Files:
- 01-cover-[slug].png ✓ Cover (sparse)
- 02-content-[slug].png ✓ Content (balanced)
- 03-content-[slug].png ✓ Content (dense)
- 04-ending-[slug].png ✓ Ending (sparse)

Image Modification

Action Steps
Edit Update prompt file FIRST → Regenerate with same session ID
Add Specify position → Create prompt → Generate → Renumber subsequent files (NN+1) → Update outline
Delete Remove files → Renumber subsequent (NN-1) → Update outline

IMPORTANT: When updating images, ALWAYS update the prompt file (prompts/NN-{type}-[slug].md) FIRST before regenerating. This ensures changes are documented and reproducible.

Content Breakdown Principles

  1. Cover (Image 1): Hook + visual impact → sparse layout
  2. Content (Middle): Core value per image → balanced/dense/list/comparison/flow
  3. Ending (Last): CTA / summary → sparse or balanced

Style × Layout Matrix (✓✓ = highly recommended, ✓ = works well):

sparse balanced dense list comparison flow mindmap quadrant
cute ✓✓ ✓✓ ✓✓
fresh ✓✓ ✓✓ ✓✓
warm ✓✓ ✓✓ ✓✓
bold ✓✓ ✓✓ ✓✓ ✓✓
minimal ✓✓ ✓✓ ✓✓
retro ✓✓ ✓✓ ✓✓
pop ✓✓ ✓✓ ✓✓ ✓✓
notion ✓✓ ✓✓ ✓✓ ✓✓ ✓✓ ✓✓ ✓✓ ✓✓
chalkboard ✓✓ ✓✓ ✓✓ ✓✓ ✓✓ ✓✓
study-notes ✓✓ ✓✓ ✓✓
screen-print ✓✓ ✓✓ ✓✓ ✓✓

References

Detailed templates in references/ directory:

Elements (Visual building blocks):

  • elements/canvas.md - Aspect ratios, safe zones, grid layouts
  • elements/image-effects.md - Cutout, stroke, filters
  • elements/typography.md - Decorated text (花字), tags, text direction
  • elements/decorations.md - Emphasis marks, backgrounds, doodles, frames

Presets (Style presets):

  • presets/<name>.md - Element combination definitions (cute, notion, warm...)
  • style-presets.md - Preset shortcuts (style + layout combos)

Workflows (Process guides):

  • workflows/analysis-framework.md - Content analysis framework
  • workflows/outline-template.md - Outline template with layout guide
  • workflows/prompt-assembly.md - Prompt assembly guide

Config (Settings):

  • config/preferences-schema.md - EXTEND.md schema
  • config/first-time-setup.md - First-time setup flow
  • config/watermark-guide.md - Watermark configuration

Notes

  • Auto-retry once on failure | Cartoon alternatives for sensitive figures
  • Use confirmed language preference | Maintain style consistency
  • Smart Confirm required (Step 2) - do not skip; detailed mode uses two sub-confirmations

Extension Support

Custom configurations via EXTEND.md. See Step 0 for paths and supported options.

Expand your agent's capabilities with these related and highly-rated skills.

JimLiu/baoyu-skills

release-skills

Universal release workflow. Auto-detects version files and changelogs. Supports Node.js, Python, Rust, Claude Plugin, and generic projects. Use when user says "release", "发布", "new version", "bump version", "push", "推送".

13,158 1,499
Explore
JimLiu/baoyu-skills

baoyu-post-to-weibo

Posts content to Weibo (微博). Supports regular posts with text, images, and videos, and headline articles (头条文章) with Markdown input via Chrome CDP. Use when user asks to "post to Weibo", "发微博", "发布微博", "publish to Weibo", "share on Weibo", "写微博", or "微博头条文章".

13,158 1,499
Explore
JimLiu/baoyu-skills

baoyu-post-to-x

Posts content and articles to X (Twitter). Supports regular posts with images/videos and X Articles (long-form Markdown). Uses real Chrome with CDP to bypass anti-automation. Use when user asks to "post to X", "tweet", "publish to Twitter", or "share on X".

13,158 1,499
Explore
JimLiu/baoyu-skills

baoyu-danger-gemini-web

Generates images and text via reverse-engineered Gemini Web API. Supports text generation, image generation from prompts, reference images for vision input, and multi-turn conversations. Use when other skills need image generation backend, or when user requests "generate image with Gemini", "Gemini text generation", or needs vision-capable AI generation.

13,158 1,499
Explore
JimLiu/baoyu-skills

baoyu-post-to-wechat

Posts content to WeChat Official Account (微信公众号) via API or Chrome CDP. Supports article posting (文章) with HTML, markdown, or plain text input, and image-text posting (贴图, formerly 图文) with multiple images. Markdown article workflows default to converting ordinary external links into bottom citations for WeChat-friendly output. Use when user mentions "发布公众号", "post to wechat", "微信公众号", or "贴图/图文/文章".

13,158 1,499
Explore
JimLiu/baoyu-skills

baoyu-imagine

AI image generation with OpenAI, Azure OpenAI, Google, OpenRouter, DashScope, MiniMax, Jimeng, Seedream and Replicate APIs. Supports text-to-image, reference images, aspect ratios, and batch generation from saved prompt files. Sequential by default; use batch parallel generation when the user already has multiple prompts or wants stable multi-image throughput. Use when user asks to generate, create, or draw images.

13,158 1,499
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results