Skip to content
Productivity
Skill

/xiaohongshu-note-creator

【笔记/文章转小红书】将用户已有的 WPS 笔记或文章内容,改写压缩为小红书图文方案。 核心特征:用户已有原文内容(笔记、文章、推文、长文),需要转换格式发小红书。 触发词:"把笔记做成小红书""把这篇文章转小红书""把这篇推文发小红书""帮我生成小红书图文""把这篇笔记发小红书""笔记转小红书""小红书图文""生成小红书""这篇文章改成小红书""这个内容发小红书"。 不适用于:从0到1写内容(用 content-creator)、纯文案排版(用 wechat-publisher)、没有已有内容只想"写小红书"(用 content-creator)。

BOOST
From plugin
wpsnote-skills
18037 skills
Install
$ npx -y skills add wpsnote/wpsnote-skills --skill xiaohongshu-note-creator --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/xiaohongshu-note-creator

Context preview

The summary Claude sees to decide when to auto-load this skill.

【笔记/文章转小红书】将用户已有的 WPS 笔记或文章内容,改写压缩为小红书图文方案。 核心特征:用户已有原文内容(笔记、文章、推文、长文),需要转换格式发小红书。 触发词:"把笔记做成小红书""把这篇文章转小红书""把这篇推文发小红书""帮我生成小红书图文""把这篇笔记发小红书""笔记转小红书""小红书图文""生成小红书""这篇文章改成小红书""这个内容发小红书"。 不适用于:从0到1写内容(用 content-creator)、纯文案排版(用 wechat-publisher)、没有已有内容只想"写小红书"(用 content-creator)。

SKILL.md

xiaohongshu-note-creator.SKILL.md
name: xiaohongshu-note-creator
description: |
  【笔记/文章转小红书】将用户已有的 WPS 笔记或文章内容,改写压缩为小红书图文方案。
  核心特征:用户已有原文内容(笔记、文章、推文、长文),需要转换格式发小红书。
  触发词:"把笔记做成小红书""把这篇文章转小红书""把这篇推文发小红书""帮我生成小红书图文""把这篇笔记发小红书""笔记转小红书""小红书图文""生成小红书""这篇文章改成小红书""这个内容发小红书"。
  不适用于:从0到1写内容(用 content-creator)、纯文案排版(用 wechat-publisher)、没有已有内容只想"写小红书"(用 content-creator)。
metadata:
  version: "1.1.0"
  category: content-creation
  tags: [xiaohongshu, note, image, copywriting]
  dependencies: [wps-note, image-gen]
  scripts:
    - comm_script/image_gen.py

Xiaohongshu Note Creator - 笔记转小红书图文

> **脚本路径说明**:本 Skill 依赖的 `image_gen.py` 位于此 SKILL.md **同目录的 `scripts/` 下**。 > AI 执行前,先确认脚本存在:`ls {SKILL所在目录}/scripts/image_gen.py` > 运行命令时指定路径:`python3 {SKILL所在目录}/scripts/image_gen.py ...`

将 WPS 笔记内容转化为完整的小红书图文方案,包含每页图文、AI 配图和话题标签。

---

铁律(最高优先级)

0. 读图(必须在 Step 2 之前完成)

调用 `outline` 找出所有图片 block,逐张调用 `read-image` 读取并做视觉描述,记录每张图的画面内容、风格色调、适合用于哪页。

wpsnote-cli outline --note_id {note_id} --json
wpsnote-cli read-image --note_id {note_id} --block_id {block_id} --json

MCP 降级:`read_image({ note_id, block_id })`

读取完成后,在对话中汇报:「原文共 N 张图,图1 [画面描述],适合 P{页码};图2...」

原文无图时:说「原文无图」,继续。

---

1. 所有输出必须写入 WPS 笔记,禁止在对话中直接输出正文

  • 禁止在对话消息里输出任何图文内容、文案正文、标签列表
  • **唯一合法的输出方式**:通过 `create_note` + `batch_edit` / `edit_block` 写入 WPS 笔记
  • 写入成功后对话中只说:笔记标题、页数、一句话摘要、「已写入笔记」
  • 违反以上任一条,立刻停止并重新通过工具写入

2. 提问必须附备选项

对话中只能做两件事:**提问** + **状态通知**。

  • 提问时必须附上 2-4 个备选选项
  • 状态通知:调用工具前一句话告知正在做什么

4. 文案必须忠于原文(最容易犯错,最高优先级)

**核心原则:这是一个"改写压缩"任务,不是"重新创作"任务。**

  • **每页正文必须来自原文对应章节的真实内容**,不得 AI 自由发散补充
  • **直接改写原文段落**为口语化小红书风格,核心观点、数据、例子必须与原文一致
  • **优先保留原文金句**,如"整理是 AI 的事,思考是用户的事"、"往里扔就行"等
  • **每页对应原文哪个章节必须明确**(规划时就标注,如"P2 → 原文 01 笔记软件的周期律")

**严禁的行为:**

❌ 用自己的话"总结"原文,丢失具体细节
❌ 添加原文没有的观点、类比、案例
❌ 用通用小红书套话替换原文独特表达
❌ 把多个不相关章节内容混写成一页

5. 生图必须优先使用原文图片垫图

**有原文图片时,禁止直接文生图:** 1. Step 2 读取源笔记时,必须扫描所有 `image` block,优先用 CLI 读取 base64 并**立刻用视觉理解描述图片内容**(见 Step 2 第 3 步):

   wpsnote-cli read-image --note_id {note_id} --block_id {block_id} --json
   # 返回 data.image_base64 字段

MCP 降级:`read_image({ note_id, block_id })` 2. 生图时,根据页面内容就近选取一张原文图片作为垫图:

   # 先将 base64 保存为临时文件
   python3 -c "import base64; open('/tmp/ref_pN.jpg','wb').write(base64.b64decode('{data.image_base64}'))"
   # 再传入 --image
   python3 scripts/image_gen.py ... --image /tmp/ref_pN.jpg

3. **视觉描述(prompt)必须基于图片的真实画面来写**,不是凭空编写氛围图:

   ✅ 原图是:男生坐在电脑前,周围漂浮着笔记软件图标,困惑表情,线条插画风
      → prompt:年轻男生坐在书桌前,Notion/Obsidian图标环绕飘散,眉头紧皱,同款线条插画风,奶油色调,竖版构图
   ❌ 凭空写:温馨书房,女生整理笔记,日系风格(完全不参考原图)

4. 只有在以下情况才允许纯文生图:

  • 原文没有图片
  • provider 是 dashscope(不支持垫图)
  • provider 是 ark(即梦)且只有本地图片(ark 只支持公网 URL)

3. WPS 笔记写入规范(违反必报错)

**`batch_edit` operations 字段名必须是 `op`,不是 `type`:**

✅ { "op": "insert", "anchor_id": "...", "position": "after", "content": "..." }
❌ { "type": "insert", ... }

`op` 合法值只有:`replace` / `insert` / `delete` / `update_attrs`

**`insert` 的 `position` 只能是 `"before"` 或 `"after"`,`anchor_id` 必须是真实 block id,不能为 null:**

✅ { "op": "insert", "anchor_id": "aB3kLm9xZq", "position": "after", "content": "..." }
❌ { "op": "insert", "anchor_id": null, "position": "begin", ... }
❌ { "op": "insert", "anchor_id": null, "position": "end", ... }

**想在笔记末尾追加**:先 `get_note_outline` 取最后一个 block 的 id → `anchor_id` 填该 id,`position` 填 `"after"`

**content 必须是纯 XML 字符串,不是数组、不是自然语言:**

✅ content: "<h2>封面页(P1)</h2><p>内容...</p>"
❌ content: [{"type": "text", "text": "..."}]
❌ content: "把第二段改成..."

**多段内容一次性拼入,不要分多次 insert:**

✅ 一次 insert,content 里拼多个块级标签
❌ 每个块单独 insert 一次(容易乱序、锚点失效)

**连续追加时用 last_block_id 做链式锚点(必须分批时):**

第一次 insert → 返回 last_block_id: "id_A"
第二次 insert → anchor_id 用 "id_A",不要重新 outline

---

核心流程

加载偏好 → 读取源笔记 → 分析内容 → 规划图文结构 → 生成各页文案 → 逐页生图 → 生成标签 → 确认是否更新偏好

---

Step 1:加载偏好

使用 `search_notes` 搜索关键词 `小红书创作偏好`。

  • **找到偏好笔记** → 读取并提取偏好参数,告知用户:
  已加载小红书偏好:风格={风格} | 页数={页数} | 字数/页={字数} | 话题方向={方向}
  • **未找到偏好笔记** → 进入 [首次配置流程](#首次配置流程)

---

Step 2:读取源笔记

询问用户: > "请告诉我要转换哪篇笔记的标题或 ID,我来帮你生成小红书图文方案。"

获取笔记标识后: 1. 使用 `search_notes` 或 `get_note_outline` 定位笔记 2. 使用 `read_note` 读取完整内容 3. **扫描并理解原文图片(重要)**:

  • 调用 `get_note_outline` / `wpsnote-cli outline --note_id {id} --json` 找出所有 `image` 类型的 block
  • 对每张图片,优先用 CLI 读取(降级用 MCP):
     wpsnote-cli read-image --note_id {note_id} --block_id {block_id} --json

MCP 降级:`read_image({ note_id, block_id })`

  • **读到 base64 后,立刻用视觉理解描述这张图的画面内容**,记录格式:
     图片1:block_id=xxx,位置第N页附近
       画面内容:{描述图里有什么:人物/场景/元素/布局}
       风格色调:{插画/摄影/扁平/日系/科技感/色调}
       可用于:P{页码}(与该页主题最相关)
  • 没有图片 → 记录"无原文图片,使用纯文生图"

4. 分析以下要素:

  • 核心主题(1句话)
  • 关键知识点(3-7个)
  • 内容类型(干货教程 / 经验分享 / 知识科普 / 情感故事)
  • 受众画像(初学者 / 有经验者 / 特定人群)
  • 适合转化的亮点

告知用户:「已读取笔记《{标题}》,识别为「{内容类型}」,核心是「{主题}」。原文含 {N} 张图片,将优先用于垫图生成配图。」

---

Step 3:规划图文结构

根据内容类型和偏好中的页数设置,规划每页主题:

标准图文结构(推荐 6-9 页)

| 页码 | 类型 | 作用 | |------|------|------| | P1 | **封面页** | 标题 + 核心钩子,让人点进来 | | P2-PN-1 | **内容页** | 每页一个知识点/步骤/亮点 | | PN | **结尾页** | 总结/金句 + 引导互动(点赞/收藏/评论) |

页数建议

| 内容类型 | 推荐页数 | |---------|---------| | 干货教程 | 7-9 页(步骤拆解) | | 经验分享 | 6-7 页(故事 + 提炼) | | 知识科普 | 6-8 页(概念 + 案例) | | 情感故事 | 5-6 页(节奏紧凑) |

规划完成后,调用 `create_note` 新建笔记(标题:`{源笔记标题} - 小红书图文`),用 `batch_edit` 写入规划结构(仅占位)后告知用户页数分配,**不等用户确认直接继续**。

> 规划每页主题时,**必须标注对应原文的章节或段落**(如"P2 → 原文 01 笔记软件的周期律"),确保每页都有原文锚点,不得无中生有。

---

Step 4:生成图文内容

写入前必须做的准备

1. 调用 `get_note_outline(note_id)` 获取当前 block 结构,记录最后一个 block 的 id 作为首次 `anchor_id` 2. **将所有页面内容一次性拼成完整 XML 字符串**,用一次 `edit_block` 的 `insert` 写入,避免分多次调用导致乱序或 block_id 失效 3. 如必须分批写入:每次 insert 后取返回的 `last_block_id` 作为下次的 `anchor_id`,**禁止复用旧 id**

每页内容结构

每页包含:

  • **页面标题**:6-12 字,醒目有力,**必须提炼自原文,不得自造**
  • **正文文案**:根据偏好字数/页,口语化改写原文,**禁止凭空发挥**(见铁律第 4 条)
  • **视觉描述**(生图 prompt):主体 + 场景 + 风格 + 色调,**优先参考原文图片风格**(见铁律第 5 条)

写入笔记的完整结构

<h1>{源笔记标题} - 小红书图文</h1>
<p><tag>#小红书</tag></p>
<p>来源笔记:{标题} | 页数:{N}页 | 风格:{风格}</p>

<h2>封面页(P1)</h2>
<p><strong>页面标题:</stro
Read more
Ships withwpsnote-skills

笔记,是思想落地的地方。 本仓库以 wps-note 为基础能力底座,让 Claude Code、Cursor、OpenClaw 等主流 AI Agent 直接驱动 WPS 笔记——往里写、从里读、让它有序、让它被找到。 笔记不再是你自己整理的地方,而是 Agent 替你打理的记忆层。

Get the whole plugin

Other skills on wpsnote-skills.

class-note-builder
Skill

class-note-builder

当用户希望把课堂逐字稿、OCR 笔记、截图资料或零散学习内容整理成结构化的 WPS 学习笔记时使用此 Skill。适合课堂记录整理、培训复盘、补课笔记汇总、课程主笔记构建等场景,尤其适合原始材料很乱、但最终需要一篇可复习、可回看、可继续补充的主笔记时。

coding-assistant
Skill

coding-assistant

多平台编码助手。遵循各平台官方文档做编码规范、单测与编译/lint;协助将核心技术梳理为完整 WPS 笔记技术文档。生成的笔记必须包含 7…

content-creator
Skill

content-creator

【内容创作起点】用户想要写文章/公众号/文案时的首选skill。 触发词:"帮我写""我想写""准备写""开始写""写个文章""写篇稿子""写公众号""写小红书""仿照这个风格写""分析我的写作风格""提取写作模板"。…

content-digest
Skill

content-digest

将任意内容提炼为结构化知识笔记,自动保存到 WPS 笔记。只要用户给出任何内容(链接、图片、本地文件、粘贴文字)并有保存笔记的意图,就应使用此…

doc-importer
Skill

doc-importer

将本地文档批量导入到 WPS 笔记。支持扫描 Obsidian Vault、思源笔记、微信公众号存档、 下载目录或任意用户指定目录,自动识别 HTML、Markdown、PDF、DOCX、PPTX、XLSX 等格式, 转换为 WPS…