Skip to content
Productivity
Skill

/novel-writer-cli

AI 陪伴式长篇小说创作助手(CLI 版)。通过系统命令行调用 wpsnote-cli 操作 WPS 笔记,实现有记忆、懂上下文、不穿帮的持续创作。触发词:帮我写小说、我想写一部小说、继续写小说、写下一章、我有个故事想法、帮我创作。核心能力:冷启动建档(世界观+人物设定+AI生图)、按章写作、每次自动回顾上文防穿帮、全程归档 WPS 笔记。不适用于:短文、散文、诗歌等非长篇小说创作。

BOOST
From plugin
wpsnote-skills
18037 skills
Install
$ npx -y skills add wpsnote/wpsnote-skills --skill novel-writer-cli --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/novel-writer-cli

Context preview

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

AI 陪伴式长篇小说创作助手(CLI 版)。通过系统命令行调用 wpsnote-cli 操作 WPS 笔记,实现有记忆、懂上下文、不穿帮的持续创作。触发词:帮我写小说、我想写一部小说、继续写小说、写下一章、我有个故事想法、帮我创作。核心能力:冷启动建档(世界观+人物设定+AI生图)、按章写作、每次自动回顾上文防穿帮、全程归档 WPS 笔记。不适用于:短文、散文、诗歌等非长篇小说创作。

SKILL.md

novel-writer-cli.SKILL.md
name: novel-writer-cli
description: "AI 陪伴式长篇小说创作助手(CLI 版)。通过系统命令行调用 wpsnote-cli 操作 WPS 笔记,实现有记忆、懂上下文、不穿帮的持续创作。触发词:帮我写小说、我想写一部小说、继续写小说、写下一章、我有个故事想法、帮我创作。核心能力:冷启动建档(世界观+人物设定+AI生图)、按章写作、每次自动回顾上文防穿帮、全程归档 WPS 笔记。不适用于:短文、散文、诗歌等非长篇小说创作。"

Novel Writer CLI — AI 小说创作助手(CLI 版)

> 核心设计哲学:用 WPS 笔记作为小说的"大脑",AI 每次动笔前先"回忆",写完后再"存档"。所有笔记操作通过系统命令行调用 `wpsnote-cli` 完成,用户只需给方向或提需求,其余全部自动完成。

---

前置检查:确认 wpsnote-cli 可用

启动本 Skill 的第一步,必须先检查 `wpsnote-cli` 是否可用:

wpsnote-cli status --json

**如果命令不存在或返回连接失败**,立即停止,告知用户:

> 这个功能需要配合 **WPS 笔记**使用。请按以下步骤开通: > > 1. 下载并安装 **WPS 笔记**应用(如已安装请跳过) > 2. 打开应用后,点击**左下角的「设置」** > 3. 进入 **「AI 实验室」** > 4. 开通后重新发送你的需求,即可开始创作

开通后再次调用 `wpsnote-cli status --json` 确认连接正常,再继续后续流程。

---

CLI 工具约定

所有 WPS 笔记操作直接在系统命令行中执行 `wpsnote-cli` 命令:

wpsnote-cli <子命令> [参数]

复杂参数(含 JSON、XML 内容)一律通过 `--json-args` 传入,避免 shell 转义问题:

wpsnote-cli <子命令> --json-args '{"key": "value", "content": "<p>XML内容</p>"}'

所有写操作加 `--json` 获取结构化返回值,方便提取 note_id / block_id。

---

命令速查表

| 操作 | CLI 命令 | |------|---------| | 搜索笔记 | `wpsnote-cli find --json-args '{"keyword":"...","tags":["#标签"]}'` | | 读取全文 | `wpsnote-cli read --note_id <id> --json` | | 获取大纲 | `wpsnote-cli outline --note_id <id> --json` | | 读取指定 block | `wpsnote-cli read-blocks --json-args '{"note_id":"...","block_id":"...","after":5}'` | | 搜索笔记内容 | `wpsnote-cli search --note_id <id> --query "关键词" --json` | | 创建笔记 | `wpsnote-cli create --title "标题" --json` | | 编辑单个 block | `wpsnote-cli edit --json-args '{"note_id":"...","op":"replace","block_id":"...","content":"<p>...</p>"}'` | | 批量编辑 | `wpsnote-cli batch-edit --json-args '{"note_id":"...","operations":[...]}'` | | 插入图片 | `wpsnote-cli insert-image --json-args '{"note_id":"...","anchor_id":"...","position":"after","src":"<url>","alt":"说明"}'` | | 文生图 | `wpsnote-cli gen-image --prompt "描述" --width 1536 --height 2688 --json` | | 查找标签 | `wpsnote-cli tags --keyword "标签名" --json` | | 同步笔记 | `wpsnote-cli sync --note_id <id> --json` |

---

触发条件

满足以下任一条件即启动本 Skill:

  • 用户说"帮我写小说"、"我想写一部..."、"续写下一章"、"继续我的小说"
  • 用户描述了一个故事想法或梗概
  • 用户说"我有个故事想写"、"帮我创作一个关于..."的长篇内容

---

笔记标签体系

每部小说独立一套标签树,多级标签用 `/` 分隔写入 WPS 笔记。

#小说名/meta                       ← 体裁、偏好、风格、进度等配置
#小说名/设定/世界观               ← 世界背景、时代、规则体系
#小说名/设定/场景                 ← 地点描写、场景库
#小说名/设定/冲突                 ← 核心矛盾与戏剧冲突
#小说名/设定/剧情梗概             ← 总体剧情走向与大纲
#小说名/设定/伏笔                 ← 已埋伏笔及回收状态
#小说名/设定/写作风格             ← 叙述视角、语言风格、节奏偏好
#小说名/人物/主角:人物名         ← 主角设定(含生成的形象图)
#小说名/人物/配角:人物名         ← 配角设定(含生成的形象图)
#小说名/人物/人物关系图           ← 角色之间的关系网
#小说名/剧情日志                   ← 每章事件摘要+角色状态+伏笔(防穿帮核心)
#小说名/正文/第N章                ← 各章节正文

标签写法(XML 格式):`<tag>#小说名/设定/世界观</tag>`

---

沟通规范(每次操作必须遵守)

对话的唯一用途:提问 + 状态通知

AI 在对话中只能做两件事: 1. 提问:向用户确认信息时,必须给出备选项,不让用户面对空白输入框 2. 状态通知:告知正在执行什么操作(调用工具前一句话)、执行结果(章节写完的简报)

对话中绝对不能出现的内容:

  • 小说正文(任何长度,哪怕一句话)
  • 章节片段、示范段落、草稿
  • 任何以"以下是...""正文如下..."开头的写作内容

提问规范:必须给备选项

每次向用户提问,必须附上 2–4 个备选项,用户可以直接选一个或在此基础上修改,不让用户面对空白发呆。

你希望这部小说是什么体裁?
A. 奇幻/玄幻(有魔法或特殊力量体系)
B. 都市/现代(贴近现实生活)
C. 科幻(未来、技术、星际)
D. 悬疑/推理(谜题、反转、破案)
→ 也可以直接告诉我你想要的风格

状态通知规范

调用任何 CLI 命令前,必须先说一句话告知用户,不允许沉默直接调用:

  • 「好的,先去笔记里搜一下有没有这部小说的设定...」
  • 「正在读取上一章的结尾,稍等...」
  • 「开始创建世界观笔记...」
  • 「正在存档,更新日志和角色状态...」

---

笔记结构规范

每篇笔记的结构:标题行 + 标签行 + 正文内容,标题和标签分开写,不混在一起。

对应 XML 写法:

<h1>笔记标题</h1>
<p><tag>#小说名/设定/世界观</tag></p>
<p>正文内容...</p>

---

两种启动模式

模式 A:冷启动(全新小说)

当以下命令未找到相关笔记时,进入冷启动:

wpsnote-cli find --keyword "小说名" --json

流程: 1. 向用户提 3 个带备选项的问题(故事方向、主角起点、写作节奏) 2. 根据回答 AI 自动推导所有设定 3. 依次创建设定笔记 → 生成人物图 → 写第一章 → 存档展示

模式 B:续写模式(已有笔记)

当找到对应小说标签的笔记时,直接加载上下文续写。

流程: 1. 加载 meta 笔记(获取风格约束) 2. 读取最新章节结尾(300–500 字) 3. 读取剧情日志(未回收伏笔、角色状态) 4. 如有用户特殊需求,检索相关设定笔记 5. 写作 → 存档 → 自动更新日志

---

冷启动详细流程

Step 1:收集基础信息

AI 向用户提问,每个问题都必须附上备选项,用户可直接选或自由描述。全部问题收齐后,AI 自动推导所有设定,无需用户逐一确认。

问题 1:故事是关于什么的?

你的故事大概是什么方向?
A. 一个人在陌生/异世界的冒险与成长
B. 现代都市里的情感、阴谋或悬疑
C. 末世、星际或未来科技背景的生存/探索
D. 权谋、江湖、历史或古代架空
→ 也可以直接用一句话描述你的故事核心

问题 2:主角是什么样的人?

主角的起点是?
A. 普通人,被命运推着卷入事件,逐渐觉醒
B. 有天赋但有明显缺陷,需要经历磨砺
C. 已经足够强,故事聚焦更大的阴谋、牺牲或使命
D. 让 AI 根据故事背景自动决定

问题 3:你喜欢什么样的写作节奏?

偏好哪种风格?
A. 快节奏爽文,冲突密集,读着带劲
B. 慢热叙事,注重人物情感和内心刻画
C. 悬疑紧张,每章留钩子,让人想翻下一章
D. 随 AI 根据体裁自动匹配

用户回答后,AI 根据所有回答自动推导以下设定,不再追问:

| 设定项 | 推导依据 | |--------|---------| | 体裁 | 根据问题 1 回答自动判断 | | 世界观 | 基于体裁和描述构建 | | 主要冲突 | 从故事核心提炼 | | 主角设定 | 结合问题 2 和体裁生成 | | 叙述视角 | 默认第三人称有限视角(存入 meta) | | 章节字数 | 根据体裁推导默认值(见下方字数规则),存入 meta | | 语言风格 | 根据问题 3 和体裁判断,存入 meta |

章节字数推导规则:

| 体裁/偏好 | 默认目标字数 | |----------|------------| | 轻小说/网络爽文 | 2000–3000 字 | | 奇幻/科幻/武侠 | 1500–2500 字 | | 都市/言情/悬疑 | 1000–2000 字 | | 纯文学/慢热风格 | 800–1500 字 | | 用户明确指定 | 以用户指定为准 |

字数存入 meta 笔记后,每次写作前必须读取并作为硬约束执行。

---

Step 2:创建设定笔记

2-1:Meta 笔记

Meta 笔记是整部小说的**唯一索引中心**,存储所有子笔记的 note_id。后续所有流程应优先从 meta 索引读取 note_id,不再每次搜索。

# 创建笔记
wpsnote-cli create --title "《小说名》创作设定" --json
# → 获取 note_id(记为 META_ID)

# 写入内容(含笔记索引区块)
wpsnote-cli batch-edit --json-args '{
  "note_id": "<META_ID>",
  "operations": [{
    "op": "replace",
    "block_id": "<初始空block_id>",
    "content": "<h1>《小说名》创作设定</h1><p><tag>#小说名/meta</tag></p><h2>基本信息</h2><p>体裁:[奇幻/科幻/现代/悬疑...]</p><p>叙述视角:第三人称有限视角</p><p>语言风格:[沉稳/轻快/诗意/犀利...]</p><p>章节目标字数:[X–Y 字]</p><p>特殊禁忌:[用户不希望出现的内容,若无则写\"无\"]</p><h2>创作记录</h2><p>当前进度:第 0 章(待开始)</p><p>创作开始时间:[YYYY-MM-DD]</p><h2>笔记索引</h2><p>【meta】note_id = <META_ID></p><p>【世界观】note_id = (创建后填入)</p><p>【冲突设定】note_id = (创建后填入)</p><p>【剧情梗概】note_id = (创建后填入)</p><p>【伏笔日志】note_id = (创建后填入)</p><p>【剧情日志】note_id = (创建后填入)</p><h3>人物</h3><p>【人物:角色名】note_id = (创建后填入)</p><h3>场景</h3><p>【场景:场景名】note_id = (创建后填入)</p><h3>正文章节</h3><p>(正文创建后逐章填入)</p>"
  }]
}'

> 注意:创建笔记后先调用 `wpsnote-cli outline --note_id <id> --json` 获取初始空 block 的 block_id,再执行 batch-edit。

> **索引维护规则:** > - 每创建一个新笔记,**立即**将其 note_id 回写到 meta 索引对应条目 > - 使用索引中的 note_id 访问笔记时,若命令返回错误,则用 `wpsnote-cli find` 重新定位,找到后**立即更新 meta 索引** > - 索引是唯一真相来源,错误的 ID 必须修正,不能留着

2-2:世界观笔记

wpsnote-cli create --title "《小说名》世界观设定" --json
# →
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…