{"id":"ca32b530-1393-4de2-9ecb-fe6a58cf2fb5","shortId":"apuqWX","kind":"skill","title":"baoyu-xhs-images","tagline":"[Deprecated: use baoyu-image-cards] Generates Xiaohongshu (Little Red Book) image card series with 12 visual styles, 8 layouts, and 3 color palettes. Breaks content into 1-10 cartoon-style image cards optimized for XHS engagement. Use when user mentions \"小红书图片\", \"XHS images\", \"Re","description":"# Image Card Series Generator\n\nBreak down complex content into eye-catching image card series with multiple style options.\n\n## User Input Tools\n\nWhen this skill prompts the user, follow this tool-selection rule (priority order):\n\n1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.\n2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.\n3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.\n\nConcrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.\n\n## Image Generation Tools\n\nWhen this skill needs to render an image, resolve the backend in this order:\n\n1. **Current-request override** — if the user names a specific backend in the current message, use it.\n2. **Saved preference** — if `EXTEND.md` sets `preferred_image_backend` to a backend available right now, use it.\n3. **Auto-select** (when the preference is `auto`, unset, or the pinned backend isn't available):\n   - If the current runtime exposes a native image tool (e.g., Codex `imagegen`, Hermes `image_generate`), use it. Runtime-native tools are preferred by default — agents that know their own tool inventory should surface the native one here.\n   - Otherwise, if exactly one non-native backend is installed (e.g., `baoyu-imagine`), use it.\n   - Otherwise (multiple non-native backends with no runtime-native tool), ask the user once — batch with any other initial questions.\n4. **If none are available**, tell the user and ask how to proceed.\n\nSetting `preferred_image_backend: ask` forces the step-3 prompt every run regardless of available backends. Users change the pinned backend via the `## Changing Preferences` section below.\n\n**Prompt file requirement (hard)**: write each image's full, final prompt to a standalone file under `prompts/` (naming: `NN-{type}-[slug].md`) BEFORE invoking any backend. The file is the reproducibility record and lets you switch backends without regenerating prompts.\n\nConcrete tool names (`imagegen`, `image_generate`, `baoyu-imagine`) above are examples — substitute the local equivalents under the same rule.\n\n## Confirmation Policy\n\nDefault behavior: **confirm before generation**.\n\n- Treat explicit skill invocation, a file path, matched signals/presets, and `EXTEND.md` defaults as **recommendation inputs only**. None of them authorizes skipping confirmation.\n- Do **not** start Step 3 until the user completes Step 2.\n- Skip confirmation only when the current request explicitly says to do so, for example: `--yes`, \"直接生成\", \"不用确认\", \"跳过确认\", \"按默认出图\", or equivalent wording.\n- If confirmation is skipped explicitly, state the assumed strategy / style / layout / palette / count / backend in the next user-facing update before generating.\n\n## Language\n\nRespond in the user's language across questions, progress, errors, and completion summary. Keep technical tokens (style names, file paths, code) in English.\n\n## Options\n\n| Option | Description |\n|--------|-------------|\n| `--style <name>` | Visual style (see Styles below) |\n| `--layout <name>` | Information layout (see Layouts below) |\n| `--palette <name>` | Color override: macaron / warm / neon |\n| `--preset <name>` | Style + layout + optional palette shorthand (see Presets below; per-preset prompt fragments in `references/style-presets.md`) |\n| `--ref <files...>` | Reference images applied to image 1 as the series anchor |\n| `--yes` | Non-interactive: skip all confirmations, use EXTEND.md or built-in defaults, auto-confirm recommended plan (Path A) |\n\n## Dimensions\n\nThree independent knobs combine freely:\n\n| Dimension | Controls | Options |\n|-----------|----------|---------|\n| **Style** | Visual aesthetics (lines, decorations, rendering) | 12 styles (see Styles below) |\n| **Layout** | Information structure (density, arrangement) | 8 layouts (see Layouts below) |\n| **Palette** (optional) | Color override, replaces the style's default colors | macaron / warm / neon (see Palettes below) |\n\nExample: `--style notion --layout dense` makes an intellectual knowledge card; add `--palette macaron` to soften the colors without changing notion's rendering rules. A `--preset` is a shorthand for style + layout (+ optional palette).\n\n**Palette behavior**: no `--palette` → style's built-in colors; `--palette <name>` → overrides colors only, rendering rules unchanged. Some styles declare a `default_palette` (e.g., sketch-notes defaults to macaron).\n\n## Styles (12)\n\n| Style | Description |\n|-------|-------------|\n| `cute` (Default) | Sweet, adorable, girly aesthetic |\n| `fresh` | Clean, refreshing, natural |\n| `warm` | Cozy, friendly, approachable |\n| `bold` | High impact, attention-grabbing |\n| `minimal` | Ultra-clean, sophisticated |\n| `retro` | Vintage, nostalgic, trendy |\n| `pop` | Vibrant, energetic, eye-catching |\n| `notion` | Minimalist hand-drawn line art, intellectual |\n| `chalkboard` | Colorful chalk on black board, educational |\n| `study-notes` | Realistic handwritten photo style, blue pen + red annotations + yellow highlighter |\n| `screen-print` | Bold poster art, halftone textures, limited colors, symbolic storytelling |\n| `sketch-notes` | Hand-drawn educational infographic, macaron pastels on warm cream, wobble lines |\n\nPer-style specifications: `references/presets/<style>.md`.\n\n## Layouts (8)\n\n| Layout | Description |\n|--------|-------------|\n| `sparse` (Default) | 1-2 points, maximum impact |\n| `balanced` | 3-4 points, standard |\n| `dense` | 5-8 points, knowledge-card style |\n| `list` | Enumeration / ranking (4-7 items) |\n| `comparison` | Side-by-side contrast |\n| `flow` | Process / timeline (3-6 steps) |\n| `mindmap` | Center-radial (4-8 branches) |\n| `quadrant` | Four-quadrant / circular sections |\n\nLayout specs: `references/elements/canvas.md`.\n\n## Palettes (optional override)\n\nReplaces the style's colors while keeping rendering rules (line treatment, textures) intact.\n\n| Palette | Background | Zone Colors | Accent | Feel |\n|---------|------------|-------------|--------|------|\n| `macaron` | Warm cream #F5F0E8 | Blue #A8D8EA, Lavender #D5C6E0, Mint #B5E5CF, Peach #F8D5C4 | Coral #E8655A | Soft, educational |\n| `warm` | Soft peach #FFECD2 | Orange #ED8936, Terracotta #C05621, Golden #F6AD55, Rose #D4A09A | Sienna #A0522D | Earth tones, cozy |\n| `neon` | Dark purple #1A1025 | Cyan #00F5FF, Magenta #FF00FF, Green #39FF14, Pink #FF6EC7 | Yellow #FFFF00 | High-energy, futuristic |\n\nPalette specs: `references/palettes/<palette>.md`.\n\n## Presets (style + layout shortcuts)\n\nQuick-start combos, grouped by scenario. Use `--preset <name>` or recommend during Step 2.\n\n**Knowledge & Learning**:\n\n| Preset | Style | Layout | Best For |\n|--------|-------|--------|----------|\n| `knowledge-card` | notion | dense | 干货知识卡、概念科普 |\n| `checklist` | notion | list | 清单、排行榜 |\n| `concept-map` | notion | mindmap | 概念图、知识脉络 |\n| `swot` | notion | quadrant | SWOT 分析、四象限 |\n| `tutorial` | chalkboard | flow | 教程步骤、操作流程 |\n| `classroom` | chalkboard | balanced | 课堂笔记、知识讲解 |\n| `study-guide` | study-notes | dense | 学习笔记、考试重点 |\n| `hand-drawn-edu` | sketch-notes | flow | 手绘教程、流程图解 |\n| `sketch-card` | sketch-notes | dense | 手绘知识卡 |\n| `sketch-summary` | sketch-notes | balanced | 手绘总结、图文笔记 |\n\n**Lifestyle & Sharing**:\n\n| Preset | Style | Layout | Best For |\n|--------|-------|--------|----------|\n| `cute-share` | cute | balanced | 少女风分享、日常种草 |\n| `girly` | cute | sparse | 甜美封面、氛围感 |\n| `cozy-story` | warm | balanced | 生活故事、情感分享 |\n| `product-review` | fresh | comparison | 产品对比、测评 |\n| `nature-flow` | fresh | flow | 健康流程、自然主题 |\n\n**Impact & Opinion**:\n\n| Preset | Style | Layout | Best For |\n|--------|-------|--------|----------|\n| `warning` | bold | list | 避坑指南、重要提醒 |\n| `versus` | bold | comparison | 正反对比 |\n| `clean-quote` | minimal | sparse | 金句、极简封面 |\n| `pro-summary` | minimal | balanced | 专业总结、商务内容 |\n\n**Trend & Entertainment**:\n\n| Preset | Style | Layout | Best For |\n|--------|-------|--------|----------|\n| `retro-ranking` | retro | list | 复古排行、经典盘点 |\n| `throwback` | retro | balanced | 怀旧分享 |\n| `pop-facts` | pop | list | 趣味冷知识 |\n| `hype` | pop | sparse | 炸裂封面、惊叹分享 |\n\n**Poster & Editorial**:\n\n| Preset | Style | Layout | Best For |\n|--------|-------|--------|----------|\n| `poster` | screen-print | sparse | 海报风封面、影评书评 |\n| `editorial` | screen-print | balanced | 观点文章、文化评论 |\n| `cinematic` | screen-print | comparison | 电影对比、戏剧张力 |\n\nFull prompt-fragment definitions: `references/style-presets.md`.\n\n## Auto-Selection\n\nMatch content signals to the best combo. First row whose keywords appear wins; fall back to `cute-share` if nothing matches.\n\n| Signals in source | Style | Layout | Recommended preset |\n|-------------------|-------|--------|--------------------|\n| beauty, fashion, cute, girl, pink | `cute` | sparse/balanced | `cute-share`, `girly` |\n| health, nature, fresh, organic | `fresh` | balanced/flow | `product-review`, `nature-flow` |\n| life, story, emotion, warm | `warm` | balanced | `cozy-story` |\n| warning, important, must, critical | `bold` | list/comparison | `warning`, `versus` |\n| professional, business, elegant | `minimal` | sparse/balanced | `clean-quote`, `pro-summary` |\n| classic, vintage, traditional | `retro` | balanced | `throwback`, `retro-ranking` |\n| fun, exciting, wow, amazing | `pop` | sparse/list | `hype`, `pop-facts` |\n| knowledge, concept, productivity, SaaS | `notion` | dense/list | `knowledge-card`, `checklist` |\n| education, tutorial, learning, classroom | `chalkboard` | balanced/dense | `tutorial`, `classroom` |\n| notes, handwritten, study guide, realistic | `study-notes` | dense/list/mindmap | `study-guide` |\n| movie, poster, opinion, editorial, cinematic | `screen-print` | sparse/comparison | `poster`, `editorial`, `cinematic` |\n| hand-drawn, infographic, workflow, 手绘, 图解 | `sketch-notes` | flow/balanced/dense | `hand-drawn-edu`, `sketch-card`, `sketch-summary` |\n\n## Style × Layout Matrix\n\nCompatibility scores (✓✓ highly recommended, ✓ works well, ✗ avoid). Use when the user picks a non-default combo and you want to flag a poor match.\n\n|              | sparse | balanced | dense | list | comparison | flow | mindmap | quadrant |\n|--------------|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|\n| cute         | ✓✓ | ✓✓ | ✓  | ✓✓ | ✓  | ✓  | ✓  | ✓  |\n| fresh        | ✓✓ | ✓✓ | ✓  | ✓  | ✓  | ✓✓ | ✓  | ✓  |\n| warm         | ✓✓ | ✓✓ | ✓  | ✓  | ✓✓ | ✓  | ✓  | ✓  |\n| bold         | ✓✓ | ✓  | ✓  | ✓✓ | ✓✓ | ✓  | ✓  | ✓✓ |\n| minimal      | ✓✓ | ✓✓ | ✓✓ | ✓  | ✓  | ✓  | ✓  | ✓  |\n| retro        | ✓✓ | ✓✓ | ✓  | ✓✓ | ✓  | ✓  | ✓  | ✓  |\n| pop          | ✓✓ | ✓✓ | ✓  | ✓✓ | ✓✓ | ✓  | ✓  | ✓  |\n| notion       | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |\n| chalkboard   | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓  | ✓✓ | ✓✓ | ✓  |\n| study-notes  | ✗  | ✓  | ✓✓ | ✓✓ | ✓  | ✓  | ✓✓ | ✓  |\n| screen-print | ✓✓ | ✓✓ | ✗  | ✓  | ✓✓ | ✓  | ✗  | ✓✓ |\n| sketch-notes | ✓  | ✓✓ | ✓✓ | ✓✓ | ✓  | ✓✓ | ✓✓ | ✓  |\n\n## Outline Strategies\n\nThree differentiated approaches — each produces a structurally different outline. The workflow recommends one; Path C generates all three and lets the user choose.\n\n| Strategy | Concept | Best for | Structure |\n|----------|---------|----------|-----------|\n| **A — Story-Driven** | Personal experience as the thread, emotional resonance first | Reviews, personal shares, transformation | Hook → Problem → Discovery → Experience → Conclusion |\n| **B — Information-Dense** | Value-first, efficient information delivery | Tutorials, comparisons, checklists | Core conclusion → Info card → Pros/Cons → Recommendation |\n| **C — Visual-First** | Visual impact as core, minimal text | High-aesthetic products, lifestyle, mood content | Hero image → Detail shots → Lifestyle scene → CTA |\n\n## Reference Images\n\nUser-supplied refs are **separate from** the internal \"image-1 as anchor\" chain (Step 3) — they layer on top of it.\n\n**Intake**: via `--ref <files...>` or paths pasted in conversation.\n- File path → copy to `refs/NN-ref-{slug}.{ext}`\n- Pasted with no path → ask for the path, or extract style traits as a text fallback\n\n**Usage modes** (per reference):\n\n| Usage | Effect |\n|-------|--------|\n| `direct` | Pass the file to the backend (typically on image 1 only, so the anchor propagates through the chain) |\n| `style` | Extract style traits and append to every card's prompt body |\n| `palette` | Extract hex colors and append to every card's prompt body |\n\nRecord refs in each affected card's prompt frontmatter:\n\n```yaml\nreferences:\n  - ref_id: 01\n    filename: 01-ref-brand.png\n    usage: direct\n```\n\nAt generation time: verify files exist. Image 1 with `usage: direct` + backend that accepts refs → pass via the backend's ref parameter (becomes the chain anchor). Images 2+ keep using image-1 as `--ref` per Step 3 — do NOT re-stack user refs on top (avoids conflicting signals). For `style`/`palette`, embed extracted traits in every prompt.\n\n## File Layout\n\n```\nimage-cards/{topic-slug}/\n├── source-{slug}.{ext}\n├── analysis.md\n├── outline-strategy-{a,b,c}.md    # Path C only\n├── outline.md\n├── prompts/NN-{type}-{slug}.md\n├── NN-{type}-{slug}.png\n└── refs/                          # only if --ref used\n```\n\n**Slug**: 2-4 words, kebab-case. \"AI 工具推荐\" → `ai-tools-recommend`. On collision, append `-YYYYMMDD-HHMMSS`.\n\n**Backup rule** (applies throughout): before overwriting any file — source, outline, prompt, image — rename the existing one to `<name>-backup-YYYYMMDD-HHMMSS.<ext>`. This protects user edits.\n\n## Workflow\n\n```\n- [ ] Step 0: Load EXTEND.md ⛔ BLOCKING (interactive only)\n- [ ] Step 1: Analyze content → analysis.md\n- [ ] Step 2: Smart Confirm ⚠️ REQUIRED (Path A / B / C)\n- [ ] Step 3: Generate images\n- [ ] Step 4: Completion report\n```\n\n### Step 0: Load EXTEND.md ⛔ BLOCKING\n\nCheck these paths in order; first hit wins:\n\n| Path | Scope |\n|------|-------|\n| `.baoyu-skills/baoyu-image-cards/EXTEND.md` | Project |\n| `${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-image-cards/EXTEND.md` | XDG |\n| `$HOME/.baoyu-skills/baoyu-image-cards/EXTEND.md` | User home |\n\n- **Found** → read, parse, print a summary (style / layout / watermark / language), continue.\n- **Not found + interactive** → run first-time setup (see `references/config/first-time-setup.md`) and save before anything else. Do NOT analyze content or ask style questions until preferences exist — this keeps first-run behavior predictable.\n- **Not found + `--yes`** → skip setup, use built-in defaults (no watermark, style/layout auto-selected, language from content). Do not prompt, do not create EXTEND.md.\n\n**EXTEND.md keys**: watermark, preferred style/layout, custom style definitions, language preference. Schema: `references/config/preferences-schema.md`.\n\n### Step 1: Analyze Content → `analysis.md`\n\n1. Save the source (backup rule applies if `source.md` exists).\n2. Run the deep analysis in `references/workflows/analysis-framework.md`: content type, hook potential, audience, engagement signals, visual opportunity map, swipe flow.\n3. Detect source language, pick recommended image count (2-10).\n4. Auto-recommend strategy + style + layout + palette using the **Auto-Selection** table above.\n5. Write everything to `analysis.md`.\n\n### Step 2: Smart Confirm ⚠️ REQUIRED\n\n**Hard gate**: this step is mandatory per the [Confirmation Policy](#confirmation-policy) — Step 3 cannot start until the user confirms here (or explicitly opts out with `--yes` / equivalent wording in the current request).\n\nGoal: present the auto-recommended plan and let the user confirm or adjust. Skip this step entirely under `--yes` — proceed with Path A using the analysis and any CLI overrides.\n\n**Display summary** before asking:\n\n```\n📋 内容分析\n  主题：[topic] | 类型：[content_type]\n  要点：[key points]\n  受众：[audience]\n\n🎨 推荐方案（自动匹配）\n  策略：[A/B/C] [name]（[reason]）\n  风格：[style] · 布局：[layout] · 配色：[palette or 默认] · 预设：[preset]\n  图片：[N]张（封面+[N-2]内容+结尾）\n  元素：[background] / [decorations] / [emphasis]\n```\n\nThen ask one question — three paths. Verbatim option copy: `references/confirmation.md`.\n\n**Path A — Quick confirm** (trust auto-recommendation): generate a single outline using the recommended strategy + style → save to `outline.md` → Step 3.\n\n**Path B — Customize**: ask five questions (strategy/style, layout, palette, count, optional notes) with the recommendation pre-filled — blanks keep the recommendation. Generate one outline with the user's choices → `outline.md` → Step 3. See `references/confirmation.md`.\n\n**Path C — Detailed mode**: two sub-confirmations.\n\n- *Step 2a — Content understanding*: ask selling points (multi-select), audience, style preference (authentic / professional / aesthetic / auto), optional context. Update `analysis.md`.\n- *Step 2b — Three outline variants*: generate `outline-strategy-a.md`, `outline-strategy-b.md`, `outline-strategy-c.md`. Each MUST have a different structure AND a different recommended style — include `style_reason` in the frontmatter. Page-count heuristic: A ~4-6, B ~3-5, C ~3-4. Template: `references/workflows/outline-template.md`; frontmatter example in `references/confirmation.md`.\n- *Step 2c — Selection*: ask three questions (outline A/B/C/Combined, style, visual elements). Save selected/merged outline to `outline.md` → Step 3.\n\n### Step 3: Generate Images\n\nWith confirmed outline + style + layout + palette:\n\n**Visual consistency — image-1 anchor chain**: character / mascot / color rendering drifts between calls unless you anchor them. Generate image 1 (cover) first WITHOUT `--ref`, then pass image 1 as `--ref` to every subsequent image. This is the single most important consistency trick for this skill — don't skip it even if the backend also supports a session ID.\n\nFor each image (cover, content, ending):\n\n1. Write the full prompt to `prompts/NN-{type}-{slug}.md` in the user's preferred language (backup rule applies).\n2. Generate:\n   - **Image 1**: no `--ref` (establishes the anchor).\n   - **Images 2+**: add `--ref <path-to-image-01.png>`.\n   - Backup rule applies to the PNG files.\n3. Report progress after each image.\n\n**Watermark** (if enabled in EXTEND.md): append to the generation prompt:\n\n```\nInclude a subtle watermark \"[content]\" positioned at [position].\nThe watermark should be legible but not distracting.\n```\n\nSee `references/config/watermark-guide.md`.\n\n**Backend selection**: per the Image Generation Tools rule at the top — use whatever is available, ask once if multiple, before any generation. Under `--yes`, use the EXTEND.md preference and fall back to the first available backend. Prompt files MUST exist before invoking any backend.\n\n**Session ID** (if the backend supports `--sessionId`): use `cards-{topic-slug}-{timestamp}` for every image; combined with the ref chain this gives maximum consistency.\n\n### Step 4: Completion Report\n\n```\nImage Card Series Complete!\n\nTopic: [topic]\nMode: [Quick / Custom / Detailed]\nStrategy: [A/B/C/Combined]\nStyle: [name]\nPalette: [name or \"default\"]\nLayout: [name or \"varies\"]\nLocation: [directory]\nImages: N total\n\n✓ analysis.md\n✓ outline.md\n✓ outline-strategy-a/b/c.md (detailed mode only)\n\n- 01-cover-[slug].png ✓ Cover (sparse)\n- 02-content-[slug].png ✓ Content (balanced)\n- ...\n- NN-ending-[slug].png ✓ Ending (sparse)\n```\n\n## Content Breakdown Principles\n\n| Position | Purpose | Typical layout |\n|----------|---------|----------------|\n| Cover (image 1) | Hook + visual impact | `sparse` |\n| Content (middle) | Core value per image | `balanced` / `dense` / `list` / `comparison` / `flow` |\n| Ending (last) | CTA / summary | `sparse` or `balanced` |\n\nFor the style × layout compatibility matrix, see the **Style × Layout Matrix** above.\n\n## Image Modification\n\n| Action | How |\n|--------|-----|\n| Edit | Update `prompts/NN-{type}-{slug}.md` **first**, then regenerate with the same session ID |\n| Add | Specify position, create prompt, generate, renumber subsequent files `NN+1`, update outline |\n| Delete | Remove files, renumber subsequent `NN-1`, update outline |\n\nAlways update the prompt file before regenerating — it's the source of truth and makes changes reproducible.\n\n## References\n\n| File | Content |\n|------|---------|\n| `references/confirmation.md` | Verbatim AskUserQuestion copy for every confirmation path |\n| `references/style-presets.md` | Full preset shortcut definitions |\n| `references/presets/<style>.md` | Per-style element definitions |\n| `references/palettes/<name>.md` | Per-palette color definitions |\n| `references/elements/canvas.md` | Aspect ratios, safe zones, grid layouts |\n| `references/elements/image-effects.md` | Cutout, stroke, filters |\n| `references/elements/typography.md` | Decorated text, tags, text direction |\n| `references/elements/decorations.md` | Emphasis marks, backgrounds, doodles, frames |\n| `references/workflows/analysis-framework.md` | Content analysis framework |\n| `references/workflows/outline-template.md` | Outline template with layout guide |\n| `references/workflows/prompt-assembly.md` | Prompt assembly guide |\n| `references/config/preferences-schema.md` | EXTEND.md schema |\n| `references/config/first-time-setup.md` | First-time setup flow |\n| `references/config/watermark-guide.md` | Watermark configuration |\n\n## Notes\n\n- Auto-retry once on generation failure before reporting an error.\n- For sensitive public figures, use stylized cartoon alternatives.\n- Smart Confirm (Step 2) is required; Detailed mode adds a second confirmation (2a + 2c).\n\n## Changing Preferences\n\nEXTEND.md lives at the first matching path listed in Step 0. Three ways to change it:\n\n- **Edit directly** — open EXTEND.md and change fields. Full schema: `references/config/preferences-schema.md`.\n- **Reconfigure interactively** — delete EXTEND.md (or ask \"reconfigure baoyu-xhs-images preferences\" / \"重新配置\"). The next run re-triggers first-time setup.\n- **Common one-line edits**:\n  - `preferred_image_backend: auto` — default; runtime-native tool wins, falls back to the only installed backend, asks only if multiple non-native are present.\n  - `preferred_image_backend: codex-imagegen` — pin to Codex's built-in.\n  - `preferred_image_backend: baoyu-imagine` — pin to the baoyu-imagine skill.\n  - `preferred_image_backend: ask` — confirm backend every run.\n  - `preferred_style: notion`, `preferred_layout: dense`, `preferred_palette: macaron`, `language: zh`.\n  - `watermark.enabled: true` + `watermark.content: \"@handle\"` — add a watermark.","tags":["baoyu","xhs","images","skills","jimliu","agent-skills","claude-skills","codex-skills","openclaw-skills"],"capabilities":["skill","source-jimliu","skill-baoyu-xhs-images","topic-agent-skills","topic-claude-skills","topic-codex-skills","topic-openclaw-skills"],"categories":["baoyu-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/JimLiu/baoyu-skills/baoyu-xhs-images","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add JimLiu/baoyu-skills","source_repo":"https://github.com/JimLiu/baoyu-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 16958 github stars · SKILL.md body (22,588 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-03T00:52:28.046Z","embedding":null,"createdAt":"2026-04-18T21:53:38.811Z","updatedAt":"2026-05-03T00:52:28.046Z","lastSeenAt":"2026-05-03T00:52:28.046Z","tsv":"'-10':33 '-3':351 '1':32,87,202,582 '12':20,623,718 '2':113,220,469 '3':26,140,237,463 '4':330 '8':23,633 'across':522 'add':664 'ador':724 'aesthet':619,726 'agent':100,279 'anchor':586 'annot':781 'appli':579 'applic':152 'approach':734 'arrang':632 'art':762,789 'ask':108,128,163,320,339,347 'askuserquest':103,173 'assum':499 'attent':739 'attention-grab':738 'author':456 'auto':239,245,602 'auto-confirm':601 'auto-select':238 'avail':232,253,334,357 'backend':198,213,228,231,250,299,313,346,358,363,395,406,505 'baoyu':2,8,304,417 'baoyu-image-card':7 'baoyu-imagin':303,416 'baoyu-xhs-imag':1 'batch':141,324 'behavior':433,688 'black':768 'blue':778 'board':769 'bold':735,787 'book':15 'break':29,55 'built':90,598,694 'built-in':89,597,693 'call':149,157 'card':10,17,38,52,64,663 'cartoon':35 'cartoon-styl':34 'catch':62,755 'chalk':766 'chalkboard':764 'chang':360,366,672 'chosen':135 'clarifi':107 'clean':728,744 'code':536 'codex':264 'color':27,555,640,647,670,696,699,765,793 'combin':150,612 'complet':467,527 'complex':57 'concret':172,410 'confirm':430,434,458,471,493,593,603 'content':30,58 'control':615 'count':504 'cozi':732 'cream':808 'current':99,204,216,256,475 'current-request':203 'cute':721 'declar':706 'decor':621 'default':278,432,448,600,646,708,714,722 'dens':658 'densiti':631 'deprec':5 'descript':541,720 'dimens':608,614 'drawn':760,801 'e.g':102,263,302,710 'educ':770,802 'emit':120 'energet':752 'engag':42 'english':538 'equival':112,181,425,490 'error':525 'everi':353 'exact':294 'exampl':177,421,483,654 'exist':119 'explicit':438,477,496 'expos':96,258 'extend.md':224,447,595 'eye':61,754 'eye-catch':60,753 'face':511 'fallback':114 'file':371,384,397,442,534 'final':379 'follow':79 'forc':348 'fragment':573 'freeli':613 'fresh':727 'friend':733 'full':378 'generat':11,54,186,268,415,436,514 'gir':725 'grab':740 'halfton':790 'hand':759,800 'hand-drawn':758,799 'handwritten':775 'hard':373 'herm':266 'high':736 'highlight':783 'imag':4,9,16,37,49,51,63,185,195,227,261,267,345,376,414,578,581 'imagegen':265,413 'imagin':305,418 'impact':737 'independ':610 'infograph':803 'inform':549,629 'initi':328 'input':71,94,106,451 'instal':301 'intellectu':661,763 'interact':590 'inventori':285 'invoc':440 'invok':393 'isn':251 'keep':529 'knob':611 'know':281 'knowledg':662 'languag':515,521 'layout':24,502,548,550,552,562,628,634,636,657,684 'let':403 'limit':792 'line':620,761,810 'littl':13 'local':180,424 'macaron':557,648,666,716,804 'make':659 'match':444 'md':391 'mention':46 'messag':126,217 'minim':741 'minimalist':757 'multipl':67,146,309 'name':210,387,412,533 'nativ':260,273,289,298,312,318 'natur':730 'need':191 'neon':559,650 'next':508 'nn':388 'non':297,311,589 'non-interact':588 'non-nat':296,310 'none':332,453 'nostalg':748 'note':713,773,798 'notion':656,673,756 'number':122 'number/answer':136 'one':165,290,295 'optim':39 'option':69,539,540,563,616,639,685 'order':86,171,201 'otherwis':292,308 'overrid':206,556,641,698 'palett':28,503,554,564,638,652,665,686,687,690,697,709 'pastel':805 'path':443,535,606 'pen':779 'per':148,570,812 'per-preset':569 'per-styl':811 'photo':776 'pin':249,362 'plain':124 'plain-text':123 'plan':605 'polici':431 'pop':750 'poster':788 'prefer':88,222,226,243,276,344,367 'preset':560,567,571,678 'print':786 'prioriti':85,170 'proceed':342 'progress':524 'prompt':76,352,370,380,386,409,572 'question':139,147,153,162,329,523 're':50 'realist':774 'recommend':450,604 'record':401 'red':14,780 'ref':576 'refer':174,577 'references/presets':815 'references/style-presets.md':575 'refresh':729 'regardless':355 'regener':408 'render':193,622,675,701 'replac':642 'repli':132 'reproduc':400 'request':104,205,476 'requir':372 'resolv':196 'respond':516 'retro':746 'right':233 'rule':84,429,676,702 'run':354 'runtim':101,184,257,272,317 'runtime-n':271,316 'save':221 'say':478 'screen':785 'screen-print':784 'section':368 'see':545,551,566,625,635,651 'select':83,240 'seri':18,53,65,585 'set':225,343 'shorthand':565,681 'signals/presets':445 'singl':156,161 'single-quest':160 'sketch':712,797 'sketch-not':711,796 'skill':75,190,439 'skill-baoyu-xhs-images' 'skip':457,470,495,591 'slug':390 'soften':668 'sophist':745 'source-jimliu' 'specif':212,814 'standalon':383 'start':461 'state':497 'step':350,462,468 'storytel':795 'strategi':500 'structur':630 'studi':772 'study-not':771 'style':22,36,68,501,532,542,544,546,561,617,624,626,644,655,683,691,705,717,719,777,813 'substitut':178,422 'summari':528 'support':145 'surfac':287 'sweet':723 'switch':405 'symbol':794 'technic':530 'tell':335 'text':125 'textur':791 'three':609 'time':168 'token':531 'tool':72,82,95,118,144,187,262,274,284,319,411 'tool-select':81 'topic-agent-skills' 'topic-claude-skills' 'topic-codex-skills' 'topic-openclaw-skills' 'treat':437 'trendi':749 'type':389 'ultra':743 'ultra-clean':742 'unchang':703 'unset':246 'updat':512 'use':6,43,218,235,269,306,594 'user':45,70,78,93,105,109,130,209,322,337,359,466,510,519 'user-fac':509 'user-input':92 'via':364 'vibrant':751 'vintag':747 'visual':21,543,618 'warm':558,649,731,807 'without':407,671 'wobbl':809 'word':491 'write':374 'xhs':3,41,48 'xiaohongshu':12 'yellow':782 'yes':484,587 '不用确认':486 '小红书图片':47 '按默认出图':488 '直接生成':485 '跳过确认':487","prices":[{"id":"4a9e4a49-7011-409d-8e16-4c1e3cc3d81a","listingId":"ca32b530-1393-4de2-9ecb-fe6a58cf2fb5","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"JimLiu","category":"baoyu-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:53:38.811Z"}],"sources":[{"listingId":"ca32b530-1393-4de2-9ecb-fe6a58cf2fb5","source":"github","sourceId":"JimLiu/baoyu-skills/baoyu-xhs-images","sourceUrl":"https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-xhs-images","isPrimary":false,"firstSeenAt":"2026-04-18T21:53:38.811Z","lastSeenAt":"2026-05-03T00:52:28.046Z"}],"details":{"listingId":"ca32b530-1393-4de2-9ecb-fe6a58cf2fb5","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"JimLiu","slug":"baoyu-xhs-images","github":{"repo":"JimLiu/baoyu-skills","stars":16958,"topics":["agent-skills","claude-skills","codex-skills","openclaw-skills"],"license":null,"html_url":"https://github.com/JimLiu/baoyu-skills","pushed_at":"2026-04-25T20:03:31Z","description":null,"skill_md_sha":"c75fc104a10ce354cd6098587f3246163d7d18a0","skill_md_path":"skills/baoyu-xhs-images/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-xhs-images"},"layout":"multi","source":"github","category":"baoyu-skills","frontmatter":{"name":"baoyu-xhs-images","description":"[Deprecated: use baoyu-image-cards] Generates Xiaohongshu (Little Red Book) image card series with 12 visual styles, 8 layouts, and 3 color palettes. Breaks content into 1-10 cartoon-style image cards optimized for XHS engagement. Use when user mentions \"小红书图片\", \"XHS images\", \"RedNote infographics\", \"小红书种草\", \"小绿书\", \"微信图文\", \"微信贴图\", or wants social media infographic series for Chinese platforms."},"skills_sh_url":"https://skills.sh/JimLiu/baoyu-skills/baoyu-xhs-images"},"updatedAt":"2026-05-03T00:52:28.046Z"}}