From learning-skills
Distills URLs, images, local files (PDF/Word/TXT/MD), and text into structured notes (summary, key points, quotes, thoughts) auto-saved to WPS Notes. Activates on note-taking intents like 'summarize' or direct content shares.
npx claudepluginhub wpsnote/wpsnote-skills --plugin learning-skillsThis skill is limited to using the following tools:
将任意来源的内容转化为结构化知识笔记,自动保存到 WPS 笔记。
Bulk imports local documents from Obsidian vaults, SiYuan notes, WeChat archives, downloads, or directories into WPS Notes. Supports HTML, Markdown, PDF, DOCX, PPTX, XLSX with images and rich text. Triggers on import requests to WPS Notes.
Extracts core insights, golden quotes, action items from Yuque docs or pasted articles, generates structured Markdown reading notes, and saves to Yuque knowledge base. For capturing takeaways after reading.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Share bugs, ideas, or general feedback.
将任意来源的内容转化为结构化知识笔记,自动保存到 WPS 笔记。
| 输入类型 | 获取方式 | 图片解读路径 |
|---|---|---|
| URL / 网页 / 公众号链接 | WebFetch(url) 提取正文;若被拦截 → 笔记写「访问受限,如需提炼请手动复制原文到 AI 工具处理」 | 正文中如有图片 URL → 提取后走「网络图片」流程 |
| 本地文件(文本类 PDF/Word) | Read(绝对路径);若提取文字 < 50 字 → 执行「图片类 PDF 转换流程」 | 转 PNG 后逐页 Read 视觉解读 |
| 本地图片(jpg/png/gif/webp) | Read(图片路径) → AI 视觉分析(不尝试插入,MCP 不支持本地路径) | 直接 Read |
| 网络图片 URL | insert_image(url) 插入笔记 → read_image(note_id, block_id) 取 base64 → AI 视觉解读 | read_image ← WPS 笔记原生识图能力 |
| 笔记内已有图片 | get_note_outline 定位 image block → read_image(note_id, block_id) 取 base64 → AI 视觉解读 | read_image ← WPS 笔记原生识图能力 |
| 直接粘贴文本 / 邮件 | 无需获取,直接进入第二步;判断依据:消息中无 URL 也无文件路径 | — |
| 多篇内容 | 全部提炼后合并,标题用「内容提炼合集 · YYYY-MM-DD」 | 每类图片按对应路径处理 |
支持的完整文件格式见 references/supported-formats.md 图片处理细节:本地图片 →
Read直接视觉分析;网络图片 →insert_image插入笔记再read_image取 base64 解读;网页内嵌图片 → 从正文提取 URL 后走网络图片流程;笔记内已有图片 →get_note_outline定位后read_image解读;PDF/PPT 图片页 → 见下方处理流程。
文字类:
[待补充],不编造图片类(所有来源统一使用以下模块):
图片解读不能跳过:笔记的核心价值是把「看过就忘」的图片变成可检索的文字。哪怕图片模糊或内容抽象,也必须描述所能观察到的一切——否则笔记等于空白。
行动清单(可选模块):
行动清单只在内容包含明确可执行建议时生成,不是每篇都需要:
有疑问时默认不生成,比强行生成空洞的行动清单更好。
输出 XML 模板(含配色)见 references/output-templates.md
来源标识与原文附录规则见 references/source-rules.md
| 区域 | 排版方式 | 颜色 |
|---|---|---|
| 来源元信息 | <blockquote> | 无 |
| 一句话概括 | <h2>📌 一句话概括</h2> + <p> | 无 |
| 核心观点 | <h2>💡 核心观点</h2> + <columns><column columnBackgroundColor="#EBF2FF"> | 浅蓝(highlightBlock 颜色不生效,改用 columns) |
| 金句摘录 | <h2>⭐ 金句摘录</h2> + <columns><column columnBackgroundColor="#FFF5EB"> | 浅橙(同上) |
| 我的思考 | <h2>💬 我的思考</h2> + <p> | 无 |
| 行动清单 | <h2>✅ 行动清单</h2> + <p listType="todo" checked="0"> | 无 |
强制规则(及原因):
<p></p> 空行——视觉上明确分隔各章节,避免内容粘连⚠️
batch_edit写入规则:
- 多个独立
insert操作指向同一锚点时,实际顺序与数组顺序相反(WPS MCP 行为)→ 需倒序排列- 单个
insert操作内部包含多个 block 的 XML 字符串时,块的顺序就是文档中出现的顺序 → 无需倒序,按正常阅读顺序写即可
1. create_note({ title: "[内容标题] · 提炼 [YYYY-MM-DD]" })
2. get_note_outline(note_id) → 获取初始 block ID
3. batch_edit(note_id, [...]) → 倒序排列,一次性写入全部内容
4. sync_note(note_id) → 同步到云端(失败时见故障排查)
写入后若需追加内容,必须先调用 get_note_outline 刷新 block ID,再进行下一次写入——WPS MCP 写入后 block ID 可能变化,使用缓存 ID 会导致 BLOCK_NOT_FOUND。
get_note_outline,非缓存)用户说:「https://example.com/article 帮我总结一下」 执行:
WebFetch(url) 获取正文create_note → batch_edit 写入笔记;URL 只写在首行 blockquote,文末不重复用户说:「@/Users/zoez/Desktop/screenshot.png 帮我解读」或直接拖入截图 执行:
Read(图片路径) → AI 视觉分析,提取图片内所有文字、图表、界面元素create_note 创建「[图片主题] · 提炼 YYYY-MM-DD」batch_edit 写入:📌 一句话概括 / 🔍 内容解读 / 💡 核心信息 / 💬 我的思考用户说:「https://a.com https://b.com 还有这段文字 [粘贴内容] 帮我一起整理成笔记」 执行:
create_note 标题为「内容提炼合集 · YYYY-MM-DD」用户说:「https://example.com/infographic.png 帮我解读」 执行:
create_note 创建笔记insert_image(url) 将图片插入笔记,获取 block_idread_image(note_id, block_id) 取回 base64edit_block 在图片下方追加解读文字用户说:「帮我解读一下笔记里那张图」 执行:
get_note_outline(note_id) 找到 type="image" 的 block_idread_image(note_id, block_id) → base64edit_block 在图片下方 insert 解读内容当 Read(pdf路径) 提取的文字少于 50 字时,判定为图片类文档,执行以下流程:
python3 scripts/pdf_to_images.py /path/to/file.pdf
脚本会自动安装 pymupdf(已装则秒过),将每页保存为 /tmp/pdf_pages_<pid>/page_NN.png(PID 隔离,避免并发覆盖)。完整脚本见 scripts/pdf_to_images.py。
对脚本输出目录中的每张 page_NN.png 调用 Read(图片路径) 进行 AI 视觉分析,提取页面中所有可见文字和图表信息。
将所有页面内容合并,按照标准流程提炼核心观点、金句摘录等。
最多处理 40 页;超过 40 页则处理前 40 页并在笔记中注明「仅提炼前 40 页内容,共 N 页」。网页内嵌图片同理:先从正文提取图片 URL,再走网络图片处理路径(
insert_image+read_image)。
| 情况 | 处理方式 |
|---|---|
| URL 被拦截 / 返回空 | 按正常笔记结构写入:首行 blockquote 保留来源 URL,然后用 h2「❗ 访问受限」+ p「该网页访问受限,如需提炼请手动复制原文到 AI 工具处理」,不重试 |
| PDF/PPT 为图片页 | 执行图片转换流程:① pip3 install pymupdf -q(已装则跳过)② 运行 pdf_to_images.py 将每页转为 PNG ③ 逐页 Read(页面图片) 视觉分析 ④ 汇总所有页面内容后正常提炼 |
.docx 读取乱码 | 提示用户另存为 .txt 后重试 |
| 内容超长(>1 万字) | 分段提炼后合并,提示用户正在分段处理 |
| 内容为空 | 告知「未找到可提炼内容」,不创建笔记 |
| 无法识别标题 | 从正文首句 / H1 / 文件名推断;推断不出则用「无题内容提炼」 |
| 多语言内容 | 提炼结果统一用中文输出 |
| 图片格式不支持(Read 工具) | 仅支持 .png .jpg .jpeg .gif .webp;其他格式用 Shell 转换:sips -s format jpeg 原文件 --out 新文件.jpg |
IMAGE_FETCH_FAILED | 图片 URL 必须直接返回 image/* 内容;若失败改用 Read(url图片) 直接视觉分析 |
read_image 返回空 | 图片 block 刚插入可能需 1-2 秒渲染,稍等后重试;确认 block_id 来自 get_note_outline 而非缓存 |
| 网页图片无法提取 | WebFetch 无法下载图片二进制;改用 insert_image(img_url) + read_image 路径 |
BLOCK_NOT_FOUND | 重新调用 get_note_outline 获取最新 block ID,不使用缓存 ID |
sync_note 失败 | 笔记内容已写入本地,提示用户「同步失败,笔记内容已保存,请在 WPS 笔记客户端中手动同步」;不重新创建笔记 |
WEBSOCKET_NOT_CONNECTED | 提示用户检查 WPS 笔记是否已打开并登录 |