AgentSkillOS baoyu-xhs-images
Xiaohongshu (Little Red Book) infographic series generator with multiple style options. Breaks down content into 1-10 cartoon-style infographics. Use when user asks to create "小红书图片", "XHS images", or "RedNote infographics".
git clone https://github.com/ynulihao/AgentSkillOS
T=$(mktemp -d) && git clone --depth=1 https://github.com/ynulihao/AgentSkillOS "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skill_seeds/baoyu-xhs-images" ~/.claude/skills/ynulihao-agentskillos-baoyu-xhs-images && rm -rf "$T"
data/skill_seeds/baoyu-xhs-images/SKILL.mdXiaohongshu Infographic Series Generator
Break down complex content into eye-catching infographic series for Xiaohongshu with multiple style options.
Usage
# 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 tech --layout list # Direct content input /baoyu-xhs-images [paste content] # Direct input with options /baoyu-xhs-images --style bold --layout comparison [paste content]
Options
| Option | Description |
|---|---|
| Visual style (see Style Gallery) |
| Information layout (see Layout Gallery) |
Two Dimensions
| Dimension | Controls | Options |
|---|---|---|
| Style | Visual aesthetics: colors, lines, decorations | cute, fresh, tech, warm, bold, minimal, retro, pop, notion |
| Layout | Information structure: density, arrangement | sparse, balanced, dense, list, comparison, flow |
Style × Layout can be freely combined. Example:
--style notion --layout dense creates an intellectual-looking knowledge card with high information density.
Style Gallery
| Style | Description |
|---|---|
(Default) | Sweet, adorable, girly - classic Xiaohongshu aesthetic |
| Clean, refreshing, natural |
| Modern, smart, digital |
| Cozy, friendly, approachable |
| High impact, attention-grabbing |
| Ultra-clean, sophisticated |
| Vintage, nostalgic, trendy |
| Vibrant, energetic, eye-catching |
| Minimalist hand-drawn line art, intellectual |
Detailed style definitions:
references/styles/<style>.md
Layout Gallery
| Layout | Description |
|---|---|
(Default) | Minimal information, maximum impact (1-2 points) |
| Standard content layout (3-4 points) |
| High information density, knowledge card style (5-8 points) |
| Enumeration and ranking format (4-7 items) |
| Side-by-side contrast layout |
| Process and timeline layout (3-6 steps) |
Detailed layout definitions:
references/layouts/<layout>.md
Auto Selection
| Content Signals | Style | Layout |
|---|---|---|
| Beauty, fashion, cute, girl, pink | | sparse/balanced |
| Health, nature, clean, fresh, organic | | balanced/flow |
| Tech, AI, code, digital, app, tool | | dense/list |
| Life, story, emotion, feeling, warm | | balanced |
| Warning, important, must, critical | | list/comparison |
| Professional, business, elegant, simple | | sparse/balanced |
| Classic, vintage, old, traditional | | balanced |
| Fun, exciting, wow, amazing | | sparse/list |
| Knowledge, concept, productivity, SaaS | | dense/list |
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 results ├── outline-style-[slug].md # Variant A (e.g., outline-style-tech.md) ├── outline-style-[slug].md # Variant B (e.g., outline-style-notion.md) ├── outline-style-[slug].md # Variant C (e.g., outline-style-minimal.md) ├── outline.md # Final selected ├── prompts/ │ ├── 01-cover-[slug].md │ ├── 02-content-[slug].md │ └── ... ├── 01-cover-[slug].png ├── 02-content-[slug].png └── NN-ending-[slug].png
Slug Generation:
- Extract main topic from content (2-4 words, kebab-case)
- Example: "AI工具推荐" →
ai-tools-recommend
Conflict Resolution: If
xhs-images/{topic-slug}/ already exists:
- Append timestamp:
{topic-slug}-YYYYMMDD-HHMMSS - Example:
exists →ai-toolsai-tools-20260118-143052
Source Files: Copy all sources with naming
source-{slug}.{ext}:
,source-article.md
, etc.source-photo.jpg- Multiple sources supported: text, images, files from conversation
Workflow
Step 1: Analyze Content → analysis.md
analysis.mdRead source content, save it if needed, and perform deep analysis.
Actions:
- Save source content (if not already a file):
- If user provides a file path: use as-is
- If user pastes content: save to
in target directorysource.md
- Read source content
- Deep analysis following
:references/analysis-framework.md- Content type classification (种草/干货/测评/教程/避坑...)
- Hook analysis (爆款标题潜力)
- Target audience identification
- Engagement potential (收藏/分享/评论)
- Visual opportunity mapping
- Swipe flow design
- Detect source language
- Determine recommended image count (2-10)
- Select 3 style+layout combinations
- Save to
analysis.md
Step 2: Generate 3 Outline Variants
Based on analysis, create three distinct style variants.
For each variant:
- Generate outline (
):outline-style-[slug].md- YAML front matter with style, layout, image_count
- Cover design with hook
- Each image: layout, core message, text content, visual concept
- Written in user's preferred language
- Reference:
references/outline-template.md
| Variant | Selection Logic | Example Filename |
|---|---|---|
| A | Primary recommendation | |
| B | Alternative style | |
| C | Different audience/mood | |
All variants are preserved after selection for reference.
Step 3: User Confirms All Options
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 variant | Always (required) |
| Default layout | Only if user might want to override |
| Language | Only if |
Language handling:
- If source language = user language: Just inform user (e.g., "Images will be in Chinese")
- If different: Ask which language to use
AskUserQuestion format:
Question 1 (Style): Which style variant? - A: tech + dense (Recommended) - 专业科技感,适合干货 - B: notion + list - 清爽知识卡片 - C: minimal + balanced - 简约高端风格 - Custom: 自定义风格描述 Question 2 (Layout) - only if relevant: - Keep variant default (Recommended) - sparse / balanced / dense / list / comparison / flow Question 3 (Language) - only if mismatch: - 中文 (匹配原文) - English (your preference)
After confirmation:
- Copy selected
→outline-style-[slug].mdoutline.md - Update YAML front matter with confirmed options
- If custom style: regenerate outline with that style
- User may edit
directly for fine-tuningoutline.md
Step 4: Generate Images
With confirmed outline + style + layout:
For each image (cover + content + ending):
- Save prompt to
(in user's preferred language)prompts/NN-{type}-[slug].md - Generate image using confirmed style and layout
- Report progress after each generation
Image Generation Skill Selection:
- Check available image generation skills
- If multiple skills available, ask user preference
Session Management: If image generation skill supports
--sessionId:
- Generate unique session ID:
xhs-{topic-slug}-{timestamp} - Use same session ID for all images
- Ensures visual consistency across generated images
Step 5: Completion Report
Xiaohongshu Infographic Series Complete! Topic: [topic] Style: [style name] Layout: [layout name or "varies"] Location: [directory path] Images: N total ✓ analysis.md ✓ outline-style-tech.md ✓ outline-style-notion.md ✓ outline-style-minimal.md ✓ outline.md (selected: tech + dense) 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
Edit Single Image
- Identify image to edit (e.g.,
)03-content-chatgpt.png - Update prompt in
if neededprompts/03-content-chatgpt.md - Regenerate image using same session ID
Add New Image
- Specify insertion position (e.g., after image 3)
- Create new prompt with appropriate slug
- Generate new image
- Renumber files: All subsequent images increment NN by 1
- Update
with new image entryoutline.md
Delete Image
- Remove image file and prompt file
- Renumber files: All subsequent images decrement NN by 1
- Update
to remove image entryoutline.md
Content Breakdown Principles
- Cover (Image 1): Hook + visual impact →
layoutsparse - Content (Middle): Core value per image →
/balanced
/dense
/list
/comparisonflow - Ending (Last): CTA / summary →
orsparsebalanced
Style × Layout Matrix (✓✓ = highly recommended, ✓ = works well):
| sparse | balanced | dense | list | comparison | flow | |
|---|---|---|---|---|---|---|
| cute | ✓✓ | ✓✓ | ✓ | ✓✓ | ✓ | ✓ |
| fresh | ✓✓ | ✓✓ | ✓ | ✓ | ✓ | ✓✓ |
| tech | ✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
| warm | ✓✓ | ✓✓ | ✓ | ✓ | ✓✓ | ✓ |
| bold | ✓✓ | ✓ | ✓ | ✓✓ | ✓✓ | ✓ |
| minimal | ✓✓ | ✓✓ | ✓✓ | ✓ | ✓ | ✓ |
| retro | ✓✓ | ✓✓ | ✓ | ✓✓ | ✓ | ✓ |
| pop | ✓✓ | ✓✓ | ✓ | ✓✓ | ✓✓ | ✓ |
| notion | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
References
Detailed templates and guidelines in
references/ directory:
- XHS-specific content analysisanalysis-framework.md
- Outline format and examplesoutline-template.md
- Detailed style definitionsstyles/<style>.md
- Detailed layout definitionslayouts/<layout>.md
- Base prompt templatebase-prompt.md
Notes
- Image generation typically takes 10-30 seconds per image
- Auto-retry once on generation failure
- Use cartoon alternatives for sensitive public figures
- All prompts and text use confirmed language preference
- Maintain style consistency across all images in series
Extension Support
Custom styles and configurations via EXTEND.md.
Check paths (priority order):
(project).baoyu-skills/baoyu-xhs-images/EXTEND.md
(user)~/.baoyu-skills/baoyu-xhs-images/EXTEND.md
If found, load before Step 1. Extension content overrides defaults.