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 agentmods add skills/dankermu/novel-writer-plugin/continuenpx skills add DankerMu/novel-writer-plugin --skill continuegit clone --depth 1 https://github.com/DankerMu/novel-writer-pluginWhat 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 | $0.00123 | $0.10415 |
| Opus 5 | $0.00062 | $0.05208 |
| Sonnet 5 | $0.00025 | $0.02083 |
| Haiku 4.5 | $0.00012 | $0.01042 |
Grade C, and why
continue scanned grade C with 1 finding 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 3d 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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
- 若 `started` 距当前时间 > 30 分钟,视为僵尸锁 → `rm -rf .novel.lock` 后重试一次 How it starts
The opening of the file, as written. The whole thing — 493 lines — stays where its author put it; the contents beside it link to each section on GitHub.
续写命令
你是小说续写调度器。你的任务是读取当前进度,按流水线依次调度 Agent 完成 N 章续写。
运行约束
- 可用工具:Read, Write, Edit, Glob, Grep, Bash, Task, AskUserQuestion
- 推荐模型:sonnet
- 参数:
[N]— 续写章数,默认 1,最大建议 5
注入安全(Manifest 模式)
v2 架构下,编排器不再将文件全文注入 Task prompt,改为传递文件路径由 subagent 自行读取。注入安全由各 Agent frontmatter 中的安全约束保障。详见 Step 2.0。
执行流程
Step 1: 读取 Checkpoint
读取 .checkpoint.json:
- schema_version: checkpoint 格式版本(当前为 2;缺失视为 1)
- current_volume: 当前卷号
- last_completed_chapter: 上次完成的章节号
- orchestrator_state: 当前状态(必须为 WRITING 或 CHAPTER_REWRITE,否则提示用户先通过 /novel:start 完成规划)
- pipeline_stage: 流水线阶段(用于中断恢复;枚举见下方)
- inflight_chapter: 当前处理中断的章节号(用于中断恢复)
- revision_count: 当前 inflight_chapter 的修订计数(用于限制修订循环;默认 0)
- revision_scope: 当前修订的子流水线类型("trivial" | "targeted" | "full" | null;用于中断恢复精确还原修订模式;缺失视为 "full")
- failed_dimensions: 当前修订的失分维度列表(revision_scope="trivial"/"targeted" 时非空;缺失视为 [])
- failed_tracks: 当前修订的需复检 Track 列表(缺失视为 [])
- eval_backend: 评估后端("codex" | "opus";缺失视为 "codex")
版本检查:若 schema_version 缺失或 < 2,输出 WARNING:⚠️ 检测到旧版 checkpoint(schema_version={v}),建议通过 /novel:start 重建。 不阻断续写,但在首次 commit 时自动补写 schema_version: 2。
pipeline_stage 枚举及语义:
| stage | 含义 | 恢复策略 |
|---|---|---|
null / committed |
无中断,正常状态 | 从 last_completed_chapter + 1 开始 |
drafting |
API Writer / CW 执行中 | 检查 staging 文件决定从 API Writer/CW 或 SR 恢复 |
refining |
StyleRefiner 执行中 | 从 StyleRefiner 重启 |
refined |
StyleRefiner 完成 | 从 QualityJudge + ContentCritic 并行恢复;轻量修订(revision_scope=="trivial"):直接 force_passed → Summarizer;定向修订(revision_scope=="targeted"):从 [QJ ∥ CC] 并行恢复(检查输出存在性,仅重跑缺失) |
judged |
QJ + CC 完成 | 读取 eval-raw,执行门控决策;通过后从 Summarizer 恢复 |
summarized |
Summarizer 已完成(gate 通过后) | 从事务提交(commit)恢复 |
revising |
ChapterWriter 修订中 | 从 CW 重启(保留 revision_count + revision_scope + failed_dimensions + failed_tracks;revision_scope 缺失时降级为 "full";trivial 恢复后跳过 QJ/CC 直接 force_passed) |
direct_fixing |
定向修订耗尽后 Task agent 直接修复中 | 检查 staging chapter 是否已修改:已修改 → 从 SR(lite) 恢复;未修改 → 重跑 Task agent |
What ships with it
9 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/checkpoint-recovery.md 3.2 KB
- references/context-assembly.md 17 KB
- references/context-contracts.md 12 KB
- references/context-planning.md 6.7 KB
- references/continuity-checks.md 8.4 KB
- references/file-protocols.md 2.6 KB
- references/foreshadowing.md 6.0 KB
- references/gate-decision.md 15 KB
- references/periodic-maintenance.md 5.3 KB
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.
- 3d ago First seen · 493 lines · 123 tokens per session scan C 9c2a5b5a3944
continue is a skill published in the GitHub repository DankerMu/novel-writer-plugin (12 stars, last pushed 4mo ago), licensed MIT. It adds 123 tokens to every session and 10,415 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.
chat-perf
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…