class-note-builder
当用户希望把课堂逐字稿、OCR 笔记、截图资料或零散学习内容整理成结构化的 WPS 学习笔记时使用此 Skill。适合课堂记录整理、培训复盘、补课笔记汇总、课程主笔记构建等场景,尤其适合原始材料很乱、但最终需要一篇可复习、可回看、可继续补充的主笔记时。
【笔记/文章转小红书】将用户已有的 WPS 笔记或文章内容,改写压缩为小红书图文方案。 核心特征:用户已有原文内容(笔记、文章、推文、长文),需要转换格式发小红书。 触发词:"把笔记做成小红书""把这篇文章转小红书""把这篇推文发小红书""帮我生成小红书图文""把这篇笔记发小红书""笔记转小红书""小红书图文""生成小红书""这篇文章改成小红书""这个内容发小红书"。 不适用于:从0到1写内容(用 content-creator)、纯文案排版(用 wechat-publisher)、没有已有内容只想"写小红书"(用 content-creator)。
$ npx -y skills add wpsnote/wpsnote-skills --skill xiaohongshu-note-creator --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/xiaohongshu-note-creatorContext preview
The summary Claude sees to decide when to auto-load this skill.
【笔记/文章转小红书】将用户已有的 WPS 笔记或文章内容,改写压缩为小红书图文方案。 核心特征:用户已有原文内容(笔记、文章、推文、长文),需要转换格式发小红书。 触发词:"把笔记做成小红书""把这篇文章转小红书""把这篇推文发小红书""帮我生成小红书图文""把这篇笔记发小红书""笔记转小红书""小红书图文""生成小红书""这篇文章改成小红书""这个内容发小红书"。 不适用于:从0到1写内容(用 content-creator)、纯文案排版(用 wechat-publisher)、没有已有内容只想"写小红书"(用 content-creator)。
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> **脚本路径说明**:本 Skill 依赖的 `image_gen.py` 位于此 SKILL.md **同目录的 `scripts/` 下**。 > AI 执行前,先确认脚本存在:`ls {SKILL所在目录}/scripts/image_gen.py` > 运行命令时指定路径:`python3 {SKILL所在目录}/scripts/image_gen.py ...`
将 WPS 笔记内容转化为完整的小红书图文方案,包含每页图文、AI 配图和话题标签。
---
调用 `outline` 找出所有图片 block,逐张调用 `read-image` 读取并做视觉描述,记录每张图的画面内容、风格色调、适合用于哪页。
wpsnote-cli outline --note_id {note_id} --json
wpsnote-cli read-image --note_id {note_id} --block_id {block_id} --jsonMCP 降级:`read_image({ note_id, block_id })`
读取完成后,在对话中汇报:「原文共 N 张图,图1 [画面描述],适合 P{页码};图2...」
原文无图时:说「原文无图」,继续。
---
对话中只能做两件事:**提问** + **状态通知**。
**核心原则:这是一个"改写压缩"任务,不是"重新创作"任务。**
**严禁的行为:**
❌ 用自己的话"总结"原文,丢失具体细节 ❌ 添加原文没有的观点、类比、案例 ❌ 用通用小红书套话替换原文独特表达 ❌ 把多个不相关章节内容混写成一页
**有原文图片时,禁止直接文生图:** 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.jpg3. **视觉描述(prompt)必须基于图片的真实画面来写**,不是凭空编写氛围图:
✅ 原图是:男生坐在电脑前,周围漂浮着笔记软件图标,困惑表情,线条插画风
→ prompt:年轻男生坐在书桌前,Notion/Obsidian图标环绕飘散,眉头紧皱,同款线条插画风,奶油色调,竖版构图
❌ 凭空写:温馨书房,女生整理笔记,日系风格(完全不参考原图)4. 只有在以下情况才允许纯文生图:
**`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
---
加载偏好 → 读取源笔记 → 分析内容 → 规划图文结构 → 生成各页文案 → 逐页生图 → 生成标签 → 确认是否更新偏好
---
使用 `search_notes` 搜索关键词 `小红书创作偏好`。
已加载小红书偏好:风格={风格} | 页数={页数} | 字数/页={字数} | 话题方向={方向}---
询问用户: > "请告诉我要转换哪篇笔记的标题或 ID,我来帮你生成小红书图文方案。"
获取笔记标识后: 1. 使用 `search_notes` 或 `get_note_outline` 定位笔记 2. 使用 `read_note` 读取完整内容 3. **扫描并理解原文图片(重要)**:
wpsnote-cli read-image --note_id {note_id} --block_id {block_id} --jsonMCP 降级:`read_image({ note_id, block_id })`
图片1:block_id=xxx,位置第N页附近
画面内容:{描述图里有什么:人物/场景/元素/布局}
风格色调:{插画/摄影/扁平/日系/科技感/色调}
可用于:P{页码}(与该页主题最相关)4. 分析以下要素:
告知用户:「已读取笔记《{标题}》,识别为「{内容类型}」,核心是「{主题}」。原文含 {N} 张图片,将优先用于垫图生成配图。」
---
根据内容类型和偏好中的页数设置,规划每页主题:
| 页码 | 类型 | 作用 | |------|------|------| | P1 | **封面页** | 标题 + 核心钩子,让人点进来 | | P2-PN-1 | **内容页** | 每页一个知识点/步骤/亮点 | | PN | **结尾页** | 总结/金句 + 引导互动(点赞/收藏/评论) |
| 内容类型 | 推荐页数 | |---------|---------| | 干货教程 | 7-9 页(步骤拆解) | | 经验分享 | 6-7 页(故事 + 提炼) | | 知识科普 | 6-8 页(概念 + 案例) | | 情感故事 | 5-6 页(节奏紧凑) |
规划完成后,调用 `create_note` 新建笔记(标题:`{源笔记标题} - 小红书图文`),用 `batch_edit` 写入规划结构(仅占位)后告知用户页数分配,**不等用户确认直接继续**。
> 规划每页主题时,**必须标注对应原文的章节或段落**(如"P2 → 原文 01 笔记软件的周期律"),确保每页都有原文锚点,不得无中生有。
---
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**
每页包含:
<h1>{源笔记标题} - 小红书图文</h1>
<p><tag>#小红书</tag></p>
<p>来源笔记:{标题} | 页数:{N}页 | 风格:{风格}</p>
<h2>封面页(P1)</h2>
<p><strong>页面标题:</stro笔记,是思想落地的地方。 本仓库以 wps-note 为基础能力底座,让 Claude Code、Cursor、OpenClaw 等主流 AI Agent 直接驱动 WPS 笔记——往里写、从里读、让它有序、让它被找到。 笔记不再是你自己整理的地方,而是 Agent 替你打理的记忆层。
当用户希望把课堂逐字稿、OCR 笔记、截图资料或零散学习内容整理成结构化的 WPS 学习笔记时使用此 Skill。适合课堂记录整理、培训复盘、补课笔记汇总、课程主笔记构建等场景,尤其适合原始材料很乱、但最终需要一篇可复习、可回看、可继续补充的主笔记时。
多平台编码助手。遵循各平台官方文档做编码规范、单测与编译/lint;协助将核心技术梳理为完整 WPS 笔记技术文档。生成的笔记必须包含 7…
【内容创作起点】用户想要写文章/公众号/文案时的首选skill。 触发词:"帮我写""我想写""准备写""开始写""写个文章""写篇稿子""写公众号""写小红书""仿照这个风格写""分析我的写作风格""提取写作模板"。…
将任意内容提炼为结构化知识笔记,自动保存到 WPS 笔记。只要用户给出任何内容(链接、图片、本地文件、粘贴文字)并有保存笔记的意图,就应使用此…
将本地文档批量导入到 WPS 笔记。支持扫描 Obsidian Vault、思源笔记、微信公众号存档、 下载目录或任意用户指定目录,自动识别 HTML、Markdown、PDF、DOCX、PPTX、XLSX 等格式, 转换为 WPS…