关于 canghe-xhs-images
将源内容整理为小红书信息图系列的技能,涵盖内容分析、大纲选择及视觉方案设定,并支持多种风格与布局组合。
主要功能
- 01分析源内容
- 02提供三种大纲策略
- 03组合视觉风格与布局
- 04支持偏好配置
- 05整理会话文件
适用场景
- 01将文章改编为小红书图文
- 02制作教程或对比系列
- 03为视觉优先的帖子调整内容
- 04复用偏好的风格与布局
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ freestylefly/ canghe-skills --skill canghe-xhs-images安装后在 Claude Code 中输入/canghe-xhs-images确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/config/first-time-setup.mdpreferences-schema.mdwatermark-guide.mdreferences/elements/canvas.mddecorations.mdimage-effects.mdtypography.mdreferences/presets/bold.mdchalkboard.mdcute.mdfresh.mdminimal.mdnotion.mdpop.mdretro.mdstudy-notes.mdwarm.mdreferences/workflows/analysis-framework.mdoutline-template.mdprompt-assembly.md详细介绍
Xiaohongshu 信息图系列生成器
将复杂内容拆解为适用于 Xiaohongshu 的吸睛信息图系列,并提供多种风格选项。
用法
# Auto-select style and layout based on content
/canghe-xhs-images posts/ai-future/article.md
# Specify style
/canghe-xhs-images posts/ai-future/article.md --style notion
# Specify layout
/canghe-xhs-images posts/ai-future/article.md --layout dense
# Combine style and layout
/canghe-xhs-images posts/ai-future/article.md --style notion --layout list
# Direct content input
/canghe-xhs-images
[paste content]
# Direct input with options
/canghe-xhs-images --style bold --layout comparison
[paste content]
选项
| 选项 | 描述 |
|---|---|
--style <name> | 视觉风格(参见风格图库) |
--layout <name> | 信息布局(参见布局图库) |
两个维度
| 维度 | 控制内容 | 选项 |
|---|---|---|
| 风格 | 视觉美感:颜色、线条、装饰 | cute、fresh、warm、bold、minimal、retro、pop、notion、chalkboard、study-notes |
| 布局 | 信息结构:密度、排列方式 | sparse、balanced、dense、list、comparison、flow、mindmap、quadrant |
风格和布局可以自由组合。例如:--style notion --layout dense 可创建一张具有知性风格且信息密度较高的知识卡片。
风格图库
| 风格 | 描述 |
|---|---|
cute(默认) | 甜美、可爱、少女风——经典的 Xiaohongshu 美学 |
fresh | 简洁、清爽、自然 |
warm | 温馨、友好、亲切 |
bold | 冲击力强、引人注目 |
minimal | 极简、精致 |
retro | 复古、怀旧、时髦 |
pop | 鲜艳、活力十足、吸睛 |
notion | 极简手绘线稿,知性风格 |
chalkboard | 黑板上的彩色粉笔画,教育风格 |
study-notes | 逼真的手写照片风格,蓝色笔迹 + 红色批注 + 黄色荧光笔 |
详细风格定义:references/presets/<style>.md
布局图库
| 布局 | 描述 |
|---|---|
sparse(默认) | 信息精简,效果突出(1-2 个要点) |
balanced | 标准内容布局(3-4 个要点) |
dense | 信息密度高,知识卡片风格(5-8 个要点) |
list | 枚举和排名格式(4-7 个项目) |
comparison | 并列对比布局 |
flow | 流程和时间线布局(3-6 个步骤) |
mindmap | 中心辐射式思维导图布局(4-8 个分支) |
quadrant | 四象限 / 圆形分区布局 |
详细布局定义:references/elements/canvas.md
自动选择
| 内容信号 | 风格 | 布局 |
|---|---|---|
| 美妆、时尚、可爱、女孩、粉色 | cute | sparse/balanced |
| 健康、自然、洁净、清新、有机 | fresh | balanced/flow |
| 生活、故事、情绪、感受、温暖 | warm | balanced |
| 警告、重要、必须、关键 | bold | list/comparison |
| 专业、商业、优雅、简约 | minimal | sparse/balanced |
| 经典、复古、古老、传统 | retro | balanced |
| 有趣、令人兴奋、哇、惊人 | pop | sparse/list |
| 知识、概念、生产力、SaaS | notion | dense/list |
| 教育、教程、学习、教学、课堂 | chalkboard | balanced/dense |
| 笔记、手写、学习指南、知识、逼真、照片 | study-notes | dense/list/mindmap |
大纲策略
针对不同内容目标的三种差异化大纲策略:
策略 A:故事驱动型
| 方面 | 描述 |
|---|---|
| 概念 | 以个人经历为主线,优先引发情感共鸣 |
| 特点 | 从痛点切入,展现变化前后,真实感强 |
| 适用内容 | 测评、个人分享、转变故事 |
| 结构 | 引子 → 问题 → 发现 → 体验 → 结论 |
策略 B:信息密集型
| 方面 | 描述 |
|---|---|
| 概念 | 价值优先,高效传递信息 |
| 特点 | 结构清晰、要点明确、专业可信 |
| 适用内容 | 教程、对比、产品测评、检查清单 |
| 结构 | 核心结论 → 信息卡片 → 优缺点 → 建议 |
策略 C:视觉优先型
| 方面 | 描述 |
|---|---|
| 概念 | 以视觉冲击力为核心,尽量减少文字 |
| 特点 | 大图、富有氛围感、瞬间吸引眼球 |
| 适用场景 | 高审美产品、生活方式、氛围感内容 |
| 结构 | 主视觉图 → 细节图 → 生活场景 → CTA |
文件结构
每次会话都会创建一个以内容 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 生成:
- 从内容中提取主题(2-4 个词,使用 kebab-case)
- 示例:“AI工具推荐” →
ai-tools-recommend
冲突处理:
如果 xhs-images/{topic-slug}/ 已存在:
- 追加时间戳:
{topic-slug}-YYYYMMDD-HHMMSS - 示例:
ai-tools已存在 →ai-tools-20260118-143052
源文件:
将所有来源文件复制并命名为 source-{slug}.{ext}:
source-article.md、source-photo.jpg等- 支持多个来源:文本、图片、对话中的文件
工作流
进度清单
复制并跟踪进度:
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: Confirmation 1 - Content understanding ⚠️ REQUIRED
- [ ] Step 3: Generate 3 outline + style variants
- [ ] Step 4: Confirmation 2 - Outline & style & elements selection ⚠️ REQUIRED
- [ ] Step 5: Generate images (sequential)
- [ ] Step 6: Completion report
流程
Input → [Step 0: Preferences] ─┬─ Found → Continue
│
└─ Not found → First-Time Setup ⛔ BLOCKING
│
└─ Complete setup → Save EXTEND.md → Continue
│
┌───────────────────────────────────────────────────────────────────────────┘
↓
Analyze → [Confirm 1] → 3 Outlines → [Confirm 2: Outline + Style + Elements] → Generate → Complete
步骤 0:加载偏好设置(EXTEND.md)⛔ 阻塞
目的:加载用户偏好设置,或运行首次设置。
重要:如果未找到 EXTEND.md,必须先完成首次设置,然后才能提出任何其他问题或执行其他步骤。不得继续进行内容分析,不得询问风格,不得询问布局——只能先完成偏好设置。
使用 Bash 按优先级顺序检查 EXTEND.md 是否存在:
# Check project-level first
test -f .canghe-skills/canghe-xhs-images/EXTEND.md && echo "project"
# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
test -f "$HOME/.canghe-skills/canghe-xhs-images/EXTEND.md" && echo "user"
┌────────────────────────────────────────────────────┬───────────────────┐ │ 路径 │ 位置 │ ├────────────────────────────────────────────────────┼───────────────────┤ │ .canghe-skills/canghe-xhs-images/EXTEND.md │ 项目目录 │ ├────────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.canghe-skills/canghe-xhs-images/EXTEND.md │ 用户主目录 │ └────────────────────────────────────────────────────┴───────────────────┘
┌───────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ 结果 │ 操作 │ ├───────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ 找到 │ 读取、解析并显示摘要 → 继续执行步骤 1 │ ├───────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────┤ │ 未找到 │ ⛔ 阻塞:仅运行首次设置(见下文)→ 完成并保存 EXTEND.md → 然后执行步骤 1 │ └───────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────┘
首次设置(未找到 EXTEND.md 时):
语言:使用用户输入的语言或已保存的语言偏好。
在一次调用中使用 AskUserQuestion 提出所有问题。问题详情请参阅 references/config/first-time-setup.md。
EXTEND.md 支持:水印 | 首选风格/布局 | 自定义风格定义 | 语言偏好
架构:references/config/preferences-schema.md
步骤 1:分析内容 → analysis.md
阅读源内容,必要时保存,并进行深入分析。
操作:
- 保存源内容(如果尚未保存为文件):
- 如果用户提供了文件路径:按原样使用
- 如果用户粘贴了内容:将其保存到目标目录中的
source.md - 备份规则:如果
source.md已存在,将其重命名为source-backup-YYYYMMDD-HHMMSS.md
- 阅读源内容
- 按照
references/workflows/analysis-framework.md进行深入分析:- 内容类型分类(种草/干货/测评/教程/避坑……)
- 钩子分析(爆款标题潜力)
- 目标受众识别
- 互动潜力(收藏/分享/评论)
- 视觉呈现机会梳理
- 滑动流程设计
- 检测源语言
- 确定建议的图片数量(2-10)
- 生成澄清问题(见步骤 2)
- 保存到
analysis.md
步骤 2:确认 1 - 内容理解 ⚠️
目的:验证理解并收集缺失信息。不得跳过。
展示摘要:
- 识别出的内容类型和主题
- 提炼出的要点
- 检测到的语气
- 源图片数量
使用 AskUserQuestion 提问:
- 核心卖点(multiSelect: true)
- 目标受众
- 风格偏好:真实分享 / 专业测评 / 美学氛围 / 自动
- 补充背景信息(可选)
用户回复后:更新 analysis.md → 步骤 3
步骤 3:生成 3 种大纲 + 风格方案
根据分析结果和用户背景信息,创建三个不同的策略方案。每个方案都包含大纲结构和视觉风格建议。
每种策略:
| 策略 | 文件名 | 大纲 | 建议风格 |
|---|---|---|---|
| A | outline-strategy-a.md | 故事驱动:情绪化、前后对比 | 温暖、可爱、清新 |
| B | outline-strategy-b.md | 信息密集:结构化、基于事实 | notion、极简、黑板风 |
| C | outline-strategy-c.md | 视觉优先:氛围感、少文字 | 大胆、波普、复古 |
大纲格式(YAML front matter + 内容):
---
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 in Step 4
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
...
差异化要求:
- 每种策略都必须采用不同的大纲结构和不同的建议风格
- 调整页面数量:A 通常为 4-6 页,B 通常为 3-5 页,C 通常为 3-4 页
- 包含
style_reason,解释该风格为何适合此策略 - 考虑用户在步骤 2 中选择的风格偏好
参考:references/workflows/outline-template.md
第 4 步:确认 2——大纲、风格与元素选择 ⚠️
目的:由用户选择大纲策略、确认视觉风格并自定义元素。不得跳过。
展示每种策略:
- 策略名称 + 页数 + 推荐风格
- 逐页摘要(P1 → P2 → P3……)
使用 AskUserQuestion 提出三个问题:
问题 1:大纲策略
- 策略 A(推荐用于“真实分享”)
- 策略 B(推荐用于“专业评审”)
- 策略 C(推荐用于“审美氛围”)
- 组合:指定各策略中的页面
问题 2:视觉风格
- 使用策略推荐的风格(展示具体风格)
- 或从以下风格中选择:cute / fresh / warm / bold / minimal / retro / pop / notion / chalkboard
- 或输入自定义风格描述
问题 3:视觉元素(风格选择后展示) 展示所选风格在预设中的默认元素,然后询问:
- 使用风格默认设置(推荐)——展示预览:背景、装饰、强调元素
- 调整背景——选项:solid-pastel / solid-saturated / gradient-linear / gradient-radial / paper-texture / grid
- 调整装饰——选项:hearts / stars-sparkles / flowers / clouds / leaves / confetti
- 输入自定义元素偏好
收到回复后:
- 单一策略 → 将内容复制到
outline.md,并应用已确认的风格 - 组合策略 → 合并指定页面,并应用已确认的风格
- 自定义请求 → 根据反馈重新生成
- 风格默认设置 → 按原样使用预设的 Element Combination
- 调整背景 → 根据用户选择更新 elements.background
- 调整装饰 → 根据用户选择更新 elements.decorations
- 自定义元素 → 将用户偏好解析为 elements 字段
- 使用最终风格和元素更新
outline.mdfrontmatter
第 5 步:生成图像
确认大纲、风格和布局后:
视觉一致性——参考图像链: 为确保系列中所有图像的角色和风格一致:
- 先生成图像 1(封面)——不使用
--ref - 将图像 1 用作所有其余图像(2、3、……、N)的
--ref- 以此固定角色设计、色彩呈现和插画风格
- 命令格式:在后续每次生成时添加
--ref <path-to-image-01.png>
对于使用重复角色、吉祥物或插画元素的风格,这一点至关重要。图像 1 将成为整个系列的视觉锚点。
对于每张图像(封面 + 内容 + 结尾):
- 将提示词保存到
prompts/NN-{type}-[slug].md(使用用户偏好的语言)- 备份规则:如果提示词文件已存在,将其重命名为
prompts/NN-{type}-[slug]-backup-YYYYMMDD-HHMMSS.md
- 备份规则:如果提示词文件已存在,将其重命名为
- 生成图像:
- 图像 1:不使用
--ref生成(以此建立视觉锚点) - 图像 2 及之后:使用
--ref <image-01-path>生成,以确保一致性 - 备份规则:如果图像文件已存在,将其重命名为
NN-{type}-[slug]-backup-YYYYMMDD-HHMMSS.png
- 图像 1:不使用
- 每次生成后报告进度
添加水印(如果偏好设置中已启用): 在每条图像生成提示词中添加:
Include a subtle watermark "[content]" positioned at [position].
The watermark should be legible but not distracting from the main content.
参考:references/config/watermark-guide.md
选择图像生成技能:
- 检查可用的图像生成技能
- 如果有多个技能可用,询问用户偏好
会话管理:
如果图像生成技能支持 --sessionId:
- 生成唯一的会话 ID:
xhs-{topic-slug}-{timestamp} - 所有图像使用相同的会话 ID
- 与参考图像链结合,确保最大程度的视觉一致性
第 6 步:完成报告
Xiaohongshu Infographic Series Complete!
Topic: [topic]
Strategy: [A/B/C/Combined]
Style: [style name]
Layout: [layout name or "varies"]
Location: [directory path]
Images: N total
✓ analysis.md
✓ outline-strategy-a.md
✓ outline-strategy-b.md
✓ outline-strategy-c.md
✓ outline.md (selected: [strategy])
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)
图片修改
| 操作 | 步骤 |
|---|---|
| 编辑 | 先更新提示词文件 → 使用相同的会话 ID 重新生成 |
| 添加 | 指定位置 → 创建提示词 → 生成 → 对后续文件重新编号(NN+1)→ 更新大纲 |
| 删除 | 移除文件 → 对后续文件重新编号(NN-1)→ 更新大纲 |
重要:更新图片时,务必先更新提示词文件(prompts/NN-{type}-[slug].md),再重新生成。这样可以确保变更有据可查且可复现。
内容拆分原则
- 封面(图片 1):吸引注意 + 视觉冲击 →
sparse布局 - 内容(中间部分):每张图片呈现核心价值 →
balanced/dense/list/comparison/flow - 结尾(最后一张):CTA / 总结 →
sparse或balanced
风格 × 布局矩阵(✓✓ = 强烈推荐,✓ = 效果良好):
| sparse | balanced | dense | list | comparison | flow | mindmap | quadrant | |
|---|---|---|---|---|---|---|---|---|
| cute | ✓✓ | ✓✓ | ✓ | ✓✓ | ✓ | ✓ | ✓ | ✓ |
| fresh | ✓✓ | ✓✓ | ✓ | ✓ | ✓ | ✓✓ | ✓ | ✓ |
| warm | ✓✓ | ✓✓ | ✓ | ✓ | ✓✓ | ✓ | ✓ | ✓ |
| bold | ✓✓ | ✓ | ✓ | ✓✓ | ✓✓ | ✓ | ✓ | ✓✓ |
| minimal | ✓✓ | ✓✓ | ✓✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| retro | ✓✓ | ✓✓ | ✓ | ✓✓ | ✓ | ✓ | ✓ | ✓ |
| pop | ✓✓ | ✓✓ | ✓ | ✓✓ | ✓✓ | ✓ | ✓ | ✓ |
| notion | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
| chalkboard | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓ | ✓✓ | ✓✓ | ✓ |
| study-notes | ✗ | ✓ | ✓✓ | ✓✓ | ✓ | ✓ | ✓✓ | ✓ |
参考资料
详细模板位于 references/ 目录中:
元素(视觉构成要素):
elements/canvas.md- 宽高比、安全区域、网格布局elements/image-effects.md- 抠图、描边、滤镜elements/typography.md- 装饰文字(花字)、标签、文字方向elements/decorations.md- 强调符号、背景、涂鸦、边框
预设(风格预设):
presets/<name>.md- 元素组合定义(cute、notion、warm……)
工作流(流程指南):
workflows/analysis-framework.md- 内容分析框架workflows/outline-template.md- 含布局指南的大纲模板workflows/prompt-assembly.md- 提示词组装指南
配置(设置):
config/preferences-schema.md- EXTEND.md 架构config/first-time-setup.md- 首次设置流程config/watermark-guide.md- 水印配置
注意事项
- 失败时自动重试一次 | 敏感人物可使用卡通替代方案
- 使用已确认的语言偏好 | 保持风格一致
- 需要设置两个确认点(步骤 2 和 4)——请勿跳过
扩展支持
通过 EXTEND.md 进行自定义配置。路径和支持的选项请参阅步骤 0。