Novel Forge
Version: v2.0.0
Overview / 技能简介
Use this skill to run long-form fiction as a stateful pipeline, not as chat memory.
It helps with novel project setup, continuation, truncated recovery, model-role mapping, canon building, chapter drafting, and consistency review.
中文卖点: 让你用文件化状态稳定连载长篇小说,支持新建、续写、断档恢复和多角色模型分工。
Quick start / 快速开始
Startup order
- 1. Read
/root/.openclaw/openclaw.json. - Collect the project brief first: title, genre/audience, target length or chapter count, taboo list, core premise, execution mode, and starting checkpoint or first scene.
- Persist the project brief / scaffold before any role or model discussion.
- Only after the project brief is saved, run
scripts/show_runtime_inventory.mjs and show the user the available model inventory grouped by provider. - Show the novel-writing role list.
- Produce a recommended role→model draft from the inventory and the heuristics below.
- Ask the user to confirm or edit the draft mapping.
- Do not present
agents_list as a user-facing inventory; it is internal-only. - Treat
agents_list as a visibility hint only; use an actual sessions_spawn probe to determine whether multi-agent execution is available. If the probe succeeds, multi-agent is available even when agents_list shows only main. - Do not start canon until title, genre/audience, target length, taboo list, premise, execution mode, and role mapping are confirmed.
- Do not fan out dependent canon stages blindly. Worldbuilding must be stable before character sheets; worldbuilding + characters must be stable before the full outline; the full outline must be stable before each 10-chapter batch outline; batch outline must be stable before writer; writer before reviewer; reviewer before orchestrator.
Inventory display rule
- - Always present the model list before asking for role mapping.
- Always present the role list before asking for role mapping.
- Always prefill a recommended mapping draft based on the current inventory.
- Never show
agents_list output as a selectable menu when it only contains main. - If the model inventory cannot be read, stop and report the failure instead of guessing.
- Treat the role→model mapping as project state until the user confirms it, then use that mapping to drive
sessions_spawn stage sessions.
Dynamic mapping heuristics
Build the recommendation from the user’s actual inventory, not from a fixed global pairing.
- 1. Read the current model inventory.
- For each role, score models using only the models the user actually has.
- Prefer models whose names or metadata suggest the needed behavior.
- If a model is ambiguous, keep it as a candidate instead of forcing a certainty.
- Present the result as a recommended draft mapping plus alternates.
- Ask the user to confirm or override any role that is still uncertain.
Role scoring cues
Use the inventory metadata first, then model-family clues:
- - planner / reasoner cues: planning, reasoning, thinking, structured, max, deepseek-thinking
- prose / style cues: opus, creative, prose, drafting, long-context, balanced writing
- review / consistency cues: critic, review, editor, check, correction, glm
- fast-draft cues: highspeed, lightning, speed, mini-max
- structured transform cues: coder, extract, tooling, schema
Recommendation output
For each role, output:
- - primary recommendation
- 1-2 fallback candidates from the same inventory
- short reason tied to the model name or available metadata
Conflict rule
If the inventory does not make a role decision obvious, do not invent a certainty label. Mark it as "needs user choice" and keep the other roles prefilled.
Role packet to collect
- - title
- genre / audience
- target length or chapter count
- taboo list
- core premise
- execution mode
- starting checkpoint or first scene
- role→model mapping
Note: collect and save the project brief first, then ask for role→model mapping after the setup is persisted. After confirmation, persist the mapping and use it as the execution plan for spawned stage sessions.
Novel-writing roles
- - orchestrator / 总控
- worldbuilding / 设定
- character sheet / 人物
- outline / 全书大纲(先总纲,后 10 章一批细纲)
- style / 文风
- writer / 正文
- reviewer / 审稿
- recovery / 断档恢复
Use examples
- 1. INLINECODE10
- INLINECODE11
- INLINECODE12
User-facing prompts
- - New novel: say
help me start a novel project / INLINECODE14 - Continue novel: say
continue novel <title> / INLINECODE16 - Resume a truncation: say
resume from chapter 3 / INLINECODE18 - If multi-agent is desired, present the model inventory and the spawn target that
sessions_spawn will use before asking for mapping. - If single-agent is desired, say so explicitly; otherwise multi-agent remains the default.
- If the model inventory cannot be read, stop and report the failure instead of guessing.
Multi-agent execution flow
- 1. Save the project brief and confirmed role→model mapping in project state.
- Verify spawnability by calling
sessions_spawn(runtime="subagent"). - Create only the stage sessions that are currently unblocked by upstream canon. Do not spawn downstream stages before their prerequisites are accepted.
- Use
mode:"session" for reusable workers and mode:"run" for disposable checks. - Treat the returned
childSessionKey as the session handle for follow-up. - Run stages in dependency order: worldbuilding → character sheet → full outline → 10-chapter batch outline → style → writer → reviewer → orchestrator.
- If worldbuilding changes, re-open character, full-outline, and batch-outline assumptions before continuing.
- If character or full outline changes, re-open batch-outline, style, and writer assumptions before continuing.
- Keep the main session out of canon authorship; use it only to route, verify, and persist state.
- After acceptance, write back the accepted canon slice, memory update, and workflow state.
- If spawnability fails, report that multi-agent is unavailable and stop.
中文说明
这是一个给长篇小说连载用的技能。它会把小说状态放在文件里,而不是只靠聊天记录记忆。
你可以直接这样说:
- - INLINECODE24
- INLINECODE25
- INLINECODE26
- INLINECODE27
如果你选择多 agent,系统会先让你确认角色和模型分工;如果你不特别说明,默认按多 agent 流程来处理。
Core contract
- - Keep the project state in files.
- Keep the main session lightweight.
- Use writer and reviewer stages for prose when multi-agent is active.
- Never let the main session silently author or rewrite canon prose.
- Never assume missing facts; read or ask.
- When multi-agent is selected, treat the role pipeline as mandatory, not optional.
- Apply the role pipeline to every stage: bootstrap, canon generation, style sampling, chapter drafting, review, recovery, and maintenance.
- Respect stage dependencies; do not parallelize work that consumes unstable upstream canon.
- For the exact main-session boundary, read
references/main-session-constraints.md.
Where state lives
Treat these as the source of truth:
- - INLINECODE29
- INLINECODE30
- INLINECODE31
- INLINECODE32
- INLINECODE33
- INLINECODE34
- INLINECODE35
- INLINECODE36 when present
Prefer state/current.json for fast recovery and chapter-boundary checks when it exists.
For the operational state machine and run order, see:
- - INLINECODE38
- INLINECODE39
- INLINECODE40
- INLINECODE41
- INLINECODE42
When to use this skill
Use this skill when the user wants to:
- - start a new long-form fiction project
- continue or resume a novel
- recover from a truncated or partial chapter
- assign models to orchestration/writing/review roles
- generate worldbuilding, character dossiers, outlines, or style samples
- draft chapters with consistency checks
- maintain memory and canon across many chapters
Operating rules
- 1. If the request is a continuation/resume, discover candidate projects first and let the user choose when needed.
- If multi-agent is active, inspect the current model inventory and ask for a role→model mapping.
- Persist the chosen mapping in project state.
- Verify which agent IDs are spawnable for
sessions_spawn; do not use agents_list as a proxy for the model inventory or spawn capability. - If
sessions_spawn(runtime="subagent") fails with a capability error, say multi-agent execution is unavailable in this environment and stop before canon work. - Confirm title, genre/audience, target length, taboo list, premise, execution mode, and checkpoint before canon generation.
- Build canon in order: worldbuilding → characters → full outline → 10-chapter batch outline → style → chapters.
- Do not parallelize phase 0 canon work if it depends on previous canon.
- Draft one 10-chapter batch outline at a time.
- In multi-agent mode, create stage sessions with
sessions_spawn using the user-confirmed role→model mapping, then run the appropriate stage agents in order; for prose stages this is writer → reviewer → orchestrator. - The main session must not author stage content itself in multi-agent mode; it may only route work, verify outputs, and write state back.
- If a spawned stage cannot run, report the missing capability rather than improvising that stage in the main session.
- In single-agent mode, keep the same state-machine discipline but collapse the writing stages into one controlled pass.
- After acceptance, sync chapter summary, memory, and state together.
- Do not skip stage agents during bootstrap, recovery, or maintenance just because no prose is being written; if a stage has a designated agent/role, invoke it.
- Never use the main session to synthesize canon from user facts into final set pieces when a dedicated stage exists; route to the stage agent instead.
- If provenance is missing or ambiguous, stop.
- During project bootstrap, you may reshape user-provided setting material into cleaner canon, but do not invent major plot facts or overwrite the user’s intent.
- In review/cleanup passes, preserve user-intended sensitive tags or labels as part of the project’s canon when they are meaningful to the request (e.g. NSFW, R18, taboo, possessive, adultery, etc.). Only remove or rewrite the hard-blocked details themselves; do not delete the tag/setting wholesale, and do not over-prune unrelated canon unless the user asks.
Anti-drift rules
- - Use only the smallest relevant canon slice.
- Prefer explicit character states and open loops over implied memory.
- Keep style rules compact and persistent.
- Treat reviewer output as required, not optional.
- If provenance is missing or ambiguous, stop.
Writing constraints
Default all prose stages to:
- - concrete actions
- body language
- sensory detail
- character-specific diction
- scene-local observations
Avoid:
- - template transitions
- repetitive contrast formulas
- abstract summary piles
- explanatory filler
- symmetrical machine-like paragraphs
- explanation-style contrast clauses like “不是X,而是Y”, “不是……是……”, “不只是……更是……”. Treat these as disallowed in prose unless a reviewer explicitly needs one for clarity in dialogue or very tight prose.
Prefer showing over stating: let the reader infer the contrast from action, sensation, or image instead of summarizing it with a paired negation.
Output shape
For planning tasks, output a compact structure such as:
- - Project brief
- Model assignment
- Canon status
- Full outline / batch outline
- Risks / conflicts
- Next action
For writing tasks, keep stages distinct:
- - Chapter goal
- Chapter writer draft
- Review notes
- Revision summary
- Memory update
Failure behavior
- - If a required fact is missing, ask.
- If the resume checkpoint is unclear, stop.
- If the reviewer has no draft, treat the workflow as incomplete.
- If the main session is about to write the chapter directly in multi-agent mode, hand off to the writer stage instead.
Resources
Read the referenced files only when needed:
- - INLINECODE47
- INLINECODE48
- INLINECODE49
- INLINECODE50
- INLINECODE51
- INLINECODE52
- INLINECODE53
- INLINECODE54
- INLINECODE55
Novel Forge
版本: v2.0.0
概述 / 技能简介
使用此技能将长篇小说作为有状态管道运行,而非聊天记忆。
它有助于小说项目设置、续写、断档恢复、模型-角色映射、正典构建、章节草稿编写和一致性审查。
中文卖点: 让你用文件化状态稳定连载长篇小说,支持新建、续写、断档恢复和多角色模型分工。
快速开始
启动顺序
- 1. 读取 /root/.openclaw/openclaw.json。
- 首先收集项目简介:标题、类型/受众、目标长度或章节数、禁忌列表、核心前提、执行模式以及起始检查点或第一场景。
- 在任何角色或模型讨论之前,先持久化项目简介/框架。
- 只有在项目简介保存后,运行 scripts/showruntimeinventory.mjs 并向用户展示按提供商分组的可用模型清单。
- 展示小说写作角色列表。
- 根据清单和以下启发式规则生成推荐的角色→模型草案。
- 请用户确认或编辑映射草案。
- 不要将 agentslist 作为面向用户的清单展示;它仅供内部使用。
- 将 agentslist 仅视为可见性提示;使用实际的 sessionsspawn 探测来确定多代理执行是否可用。如果探测成功,即使 agentslist 只显示 main,多代理也可用。
- 在标题、类型/受众、目标长度、禁忌列表、前提、执行模式和角色映射确认之前,不要开始正典构建。
- 不要盲目展开依赖的正典阶段。世界构建必须在角色表之前稳定;世界构建+角色必须在完整大纲之前稳定;完整大纲必须在每10章一批的细纲之前稳定;细纲必须在写手之前稳定;写手必须在审稿人之前稳定;审稿人必须在总控之前稳定。
清单展示规则
- - 在询问角色映射之前,始终先展示模型列表。
- 在询问角色映射之前,始终先展示角色列表。
- 始终基于当前清单预填推荐映射草案。
- 当 agentslist 仅包含 main 时,切勿将其输出显示为可选菜单。
- 如果无法读取模型清单,停止并报告失败,而不是猜测。
- 在用户确认之前,将角色→模型映射视为项目状态,然后使用该映射驱动 sessionsspawn 阶段会话。
动态映射启发式规则
基于用户的实际清单构建推荐,而非固定的全局配对。
- 1. 读取当前模型清单。
- 对于每个角色,仅使用用户实际拥有的模型进行评分。
- 优先选择名称或元数据暗示所需行为的模型。
- 如果模型不明确,将其保留为候选,而不是强制确定。
- 将结果呈现为推荐映射草案及备选方案。
- 请用户确认或覆盖任何仍不确定的角色。
角色评分线索
优先使用清单元数据,然后是模型家族线索:
- - 规划/推理线索:planning, reasoning, thinking, structured, max, deepseek-thinking
- 散文/风格线索:opus, creative, prose, drafting, long-context, balanced writing
- 审查/一致性线索:critic, review, editor, check, correction, glm
- 快速草稿线索:highspeed, lightning, speed, mini-max
- 结构化转换线索:coder, extract, tooling, schema
推荐输出
对于每个角色,输出:
- - 主要推荐
- 来自同一清单的1-2个备选候选
- 与模型名称或可用元数据相关的简短理由
冲突规则
如果清单无法明确某个角色的决策,不要发明确定性标签。将其标记为需要用户选择,并保持其他角色预填。
需收集的角色包
- - 标题
- 类型/受众
- 目标长度或章节数
- 禁忌列表
- 核心前提
- 执行模式
- 起始检查点或第一场景
- 角色→模型映射
注意:先收集并保存项目简介,然后在设置持久化后询问角色→模型映射。确认后,持久化映射并将其用作生成阶段会话的执行计划。
小说写作角色
- - 总控
- 设定(世界构建)
- 人物(角色表)
- 大纲(全书大纲,先总纲,后10章一批细纲)
- 文风
- 正文(写手)
- 审稿
- 断档恢复
使用示例
- 1. 帮我新建一个小说项目,题材是奇幻冒险,默认多 agent
- 继续写这本小说,从上次断开的地方接着写
- 从第5章恢复,并帮我检查当前角色和模型分工
面向用户的提示
- - 新建小说:说 help me start a novel project / 帮我新建一个小说项目
- 继续小说:说 continue novel / 继续写《标题》
- 恢复断档:说 resume from chapter 3 / 从第3章断档处继续
- 如果需要多代理,在询问映射之前展示模型清单和 sessions_spawn 将使用的生成目标。
- 如果需要单代理,明确说明;否则多代理保持为默认。
- 如果无法读取模型清单,停止并报告失败,而不是猜测。
多代理执行流程
- 1. 在项目状态中保存项目简介和确认的角色→模型映射。
- 通过调用 sessions_spawn(runtime=subagent) 验证可生成性。
- 仅创建当前未被上游正典阻塞的阶段会话。在其前置条件被接受之前,不要生成下游阶段。
- 对可重用工作器使用 mode:session,对一次性检查使用 mode:run。
- 将返回的 childSessionKey 视为后续操作的会话句柄。
- 按依赖顺序运行阶段:世界构建 → 角色表 → 完整大纲 → 10章一批细纲 → 文风 → 写手 → 审稿人 → 总控。
- 如果世界构建发生变化,在继续之前重新打开角色、完整大纲和细纲的假设。
- 如果角色或完整大纲发生变化,在继续之前重新打开细纲、文风和写手的假设。
- 保持主会话不参与正典创作;仅用于路由、验证和持久化状态。
- 接受后,写回已接受的正典片段、记忆更新和工作流状态。
- 如果可生成性失败,报告多代理不可用并停止。
中文说明
这是一个给长篇小说连载用的技能。它会把小说状态放在文件里,而不是只靠聊天记录记忆。
你可以直接这样说:
- - 帮我新建一个小说项目
- 继续写《寄魂》
- 从第5章断档处恢复
- 帮我检查这个小说技能是否适合继续写
如果你选择多 agent,系统会先让你确认角色和模型分工;如果你不特别说明,默认按多 agent 流程来处理。
核心契约
- - 将项目状态保存在文件中。
- 保持主会话轻量。
- 在多代理激活时,使用写手和审稿人阶段处理散文。
- 绝不让主会话默默创作或重写正典散文。
- 绝不假设缺失的事实;读取或询问。
- 当选择多代理时,将角色管道视为强制性而非可选的。
- 将角色管道应用于每个阶段:引导、正典生成、风格采样、章节草稿、审查、恢复和维护。
- 尊重阶段依赖关系;不要并行处理消耗不稳定上游正典的工作。
- 关于主会话边界的精确说明,请阅读 references/main-session-constraints.md。
状态存储位置
将这些视为真相来源:
- - project.json
- worldbuilding.md
- characters.md
- outline.md
- style.md
- memory.md
- chapters/*.md
- state/current.json(如存在)
当 state/current.json 存在时,优先用于快速恢复和章节边界检查。
关于操作状态机和运行顺序,请参见:
- - references/state-machine.md
- references/runbook.md
- references/schemas.md
- references/workflow.md
- references/main-session-constraints.md
何时使用此技能
当用户想要以下操作时使用此技能:
- - 开始一个新的长篇小说项目
- 继续或恢复一部小说
- 从截断或不完整的章节中恢复
- 将模型分配给编排/写作/审查角色
- 生成世界构建、角色档案、大纲或风格样本
- 起草章节并进行一致性检查
- 在多个章节中维护记忆和正典
操作规则
- 1. 如果请求是继续/恢复,首先发现候选项目并在需要时让用户选择。
- 如果多代理激活,检查当前模型清单并询问角色→模型映射。
- 在项目状态中持久化所选映射。
- 验证哪些代理ID可用于 sessionsspawn;不要使用 agentslist