Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add wpsnote/wpsnote-skills --skill novel-writer-cligit clone --depth 1 https://github.com/wpsnote/wpsnote-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/wpsnote/wpsnote-skills/novel-writer-cli)<a href="https://agentmods.dev/skills/wpsnote/wpsnote-skills/novel-writer-cli"><img src="https://agentmods.dev/badge/skills/wpsnote/wpsnote-skills/novel-writer-cli/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/wpsnote/wpsnote-skills/novel-writer-cli"><img src="https://agentmods.dev/badge/skills/wpsnote/wpsnote-skills/novel-writer-cli.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00157 | $0.10330 |
| Opus 5.5 | $0.00063 | $0.04132 |
| Sonnet 5.5 | $0.00031 | $0.02066 |
| Haiku 4.5 | $0.00016 | $0.01033 |
Grade A, and why
novel-writer-cli scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 841 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Novel Writer CLI — AI 小说创作助手(CLI 版)
核心设计哲学:用 WPS 笔记作为小说的"大脑",AI 每次动笔前先"回忆",写完后再"存档"。所有笔记操作通过系统命令行调用
wpsnote-cli完成,用户只需给方向或提需求,其余全部自动完成。
前置检查:确认 wpsnote-cli 可用
启动本 Skill 的第一步,必须先检查 wpsnote-cli 是否可用:
wpsnote-cli status --json
如果命令不存在或返回连接失败,立即停止,告知用户:
这个功能需要配合 WPS 笔记使用。请按以下步骤开通:
- 下载并安装 WPS 笔记应用(如已安装请跳过)
- 打开应用后,点击左下角的「设置」
- 进入 「AI 实验室」
- 开通后重新发送你的需求,即可开始创作
开通后再次调用 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章 ← 各章节正文
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 841 lines · 157 tokens per session scan A 4b2237a3b5b3
novel-writer-cli is a skill published in the GitHub repository wpsnote/wpsnote-skills (183 stars, last pushed yesterday), licensed MIT. It adds 157 tokens to every session and 10,330 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
causal-memory
Causal memory for agents — install/setup the causal-memory MCP server, then record decisions/outcomes and recall them before acting. Trigger when the user asks to install or set up causal-memory/agent memory, when causal-memory MCP tools are available and the agent faces a non-trivial decision (architecture, debugging…
remem
Use when the user asks Codex to recall prior project context, save durable decisions or bug fixes, inspect remem memory health, or activate remem automatic memory hooks from the Codex plugin.
evo-memory-review
Review and curate an evo-subagent role's prefercmd.md and memory.md using evidence from actual runs. Use when evolution entries are stale, duplicated, contradictory, or too noisy.
ai-memory-coding-conventions
Project coding conventions extracted from chat history. Load when writing new code, naming things, designing APIs, or reviewing PRs. Topics: Cursor pagination is mandatory for all paged GraphQL endpoints.
ai-memory-decision-log
Technical decisions made for this project, with reasoning and rejected alternatives. Load when proposing architectural changes, evaluating alternatives, or asked why a choice was made. Topics: Adopt OAuth 2.0 authorization code flow with PKCE for the customer portal SPA.
ai-memory-system-architecture
System architecture facts: components, data flow, integration boundaries. Load when implementing cross-component features, debugging integration issues, or onboarding to the codebase. Topics: Event sourcing for the billing audit log.