一键导入
novel-workflow-writer-execution
Writer 执行手册:收到 brief 后的详细执行流程、决策点、常见陷阱。Writer profile 内部参考,不由 leader 直接调用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Writer 执行手册:收到 brief 后的详细执行流程、决策点、常见陷阱。Writer profile 内部参考,不由 leader 直接调用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Lint and polish LLM-generated Chinese text by detecting template-like wording, AI writing tells, hollow summaries, rhythm issues, and rule-driven style problems. Use when the user asks to polish text, check whether writing feels AI-like, lint LLM output, review prose naturalness, or configure llmlint rules.
Guide users and agents through Neuro Book harness, TSX profiles, ProfileTurnPlan, skills, user-assets overlays, settings forms, profile home resources, profile compile checks, templates, system restore, and safe profile editing.
编辑 Neuro Book TSX Agent Profile,包括 builtin 覆盖、自定义 agent、TypeBox schema contract、ProfilePrompt DSL、编译检查和预览。
Import local SillyTavern character cards, worldbooks, presets, MVU and prompt-template material into a NeuroBook Project Workspace. Use when the user asks to inspect, unpack, convert or import 酒馆角色卡 / SillyTavern cards for novel writing, lorebook migration, RP or world simulation.
用于处理番茄小说、Tomato Novel Downloader、免费小说 epub、下载器结果导入、epub 转 Markdown、以及把外部小说素材整理到当前小说 Project Workspace 的 reference/tomato/ 供后续拆书分析。
重量级角色写卡、人物塑造、人设整理与角色理解流程。用于用户要从模糊角色印象、萌点、标签、OC、人设草稿或角色卡想法整理成可写角色,进行 20/24/80/200 问循环问答,设计或校验基础信息、调色盘、三面性、混色、核心人格层、二次解释、意象,或防止 AI 把角色写成标签化人设;适合作为 novel-workflow-04-character-design 的深挖前置或参考技法。
| name | novel-workflow-writer-execution |
| description | Writer 执行手册:收到 brief 后的详细执行流程、决策点、常见陷阱。Writer profile 内部参考,不由 leader 直接调用。 |
| when_to_use | Writer profile 内部参考文档,说明 writer 收到 invoke_agent 调用后的实际执行流程和决策逻辑。 |
本文档是 writer profile 的执行流程参考,说明 writer 收到 brief 后如何一步步完成写作任务。
Writer 是 ReAct 子代理,完整流程为:「加载上下文 → 查证世界状态 → 叙事设计 → 信息隔离检查 → 写入正文 → 报告」
当前 writer 处于 autonomous(自主全知)模式:拥有 Plot 只读、World Engine 只读、lorebook 读能力,自己查证设定与状态。brief 只给框架与查询提示,不含可查询状态。
收到 invoke_agent 调用后,首先检查:
project-slug/manuscript/001-chapter/index.md。get_chapter_writer_brief({projectPath, chapterId}) 自取本章 brief(章节目标、信息控制、剧情点、查询提示、建议读取),作为写作依据。/)。如果 input.path 缺失,停止写入并通过 report_result.result 要求调用方补充。
读取目标文件:
input.path 指向的文件已存在,先用 read 读取原文(润色或续写时的基础)。自取 / 消费 brief:
input.chapterId 时用 get_chapter_writer_brief 自取;需要场景与线索用 get_story_chapter / get_story_scene_context;brief 的「本章 Promise 任务」「未决决策警告」段需要核对详情(如某条线的 payoffExpectation、某条未决决策的候选方案)时用 get_story_promise / get_story_decision;剧情设计权仍在 leader,你只读 Plot,不创建/修改任何 Plot 实体(Thread / Scene / Chapter / Promise / Decision)。ready(例如 needs_chapter_brief 信息控制未填),在 report_result.result 里点明缺口,不要硬写。按需读取 lorebook:
input.context.lorebookEntries 与 brief 的「建议读取」只是建议清单,不是任务正文,也不是必须全部读取的材料。index.md,必要时读取同级 state.md。不读取其他 profile 的 context memory:
agents/leader.default/context.md、agents/simulator.leader/context.md 等其他 profile 的上下文记忆。input.context.lorebookEntries。关键步骤:按 brief 的查询提示,用 readonly execute_world 查相关 subject(角色 / 地点 / 势力)在本章时间点的真实状态(位置、HP、心理、持有物、关系等)。
操作要点:
brief 按简化原则只给剧情框架,不含可查询的状态细节(如 HP / 位置);这些状态由你自己查证,不要当作 brief 遗漏。
时间用项目日历字符串,例如「公元2020年4月12日 18:00」。
使用 CodeAct 沙盒查询:
world.subject.get(id) 查单个 subjectworld.subject.list(type) 列出某类型所有 subject(如 "character")world.subject.gets(ids) 批量查询world.slice.list(options) 查询相关时间线切面记住查询边界:
示例:
// 查询角色状态
const erina = await world.subject.get("erina");
const liya = await world.subject.get("liya");
// 或列出所有角色
const characters = await world.subject.list("character");
在脑内构思本章结构:
对每个出场角色明确:
不要因为设定在 lorebook 里,就默认角色都知道。
为每个主要角色设计具体表现方式:
write 写入 input.path(保留 project-slug 前缀)。<writing_style>:文风要求<avoid_words>:禁用词汇与句式<paragraph_rhythm>:段落节奏<narrative_person>:人称默认调用 report_result:
成功调用 report_result 后,对话会自动结束。
❌ 错误:brief 没说角色位置,就不写位置或凭想象写。
✓ 正确:用 execute_world 查询角色当前位置。
原因:brief 按简化原则只给剧情框架,可查询的状态细节由你自己查证。
❌ 错误:lorebook 里有设定(如"莉雅是被封印的神明"),就让场内所有角色都理解或反应出这个事实。
✓ 正确:按 frontmatter.knowledge[] 控制每个角色的认知边界。薇洛丝不知道莉雅真实身份,那她的言行、心理描写都不能流露"知道对方是神明"的信息。
原因:lorebook 是全知视角(作者 / AI 说明书),不是角色共享情报。
❌ 错误:input.context.lorebookEntries 传了 10 个节点,就全读。
✓ 正确:按 brief 任务判断需要哪些,只读必要的。
原因:lorebookEntries 是建议清单,不是强制阅读材料;盲目全读浪费 token 且可能引入无关信息。
❌ 错误:凭 brief 想象角色状态("brief 没说,我猜角色应该在城门口")。
✓ 正确:先查 readonly execute_world,再写正文。
原因:写作前 leader 已经把世界状态推进好,你查到的永远是一致的真值。
❌ 错误:主动读取 agents/leader.default/context.md 或 agents/simulator.leader/context.md。
✓ 正确:只读 agents/writer/context.md 和 agents/writer/generated.md,且只有任务明确要求整理或采纳这些推荐时才读取。
原因:不同 profile 的上下文记忆是隔离的;越界读取会引入不属于 writer 的职责范围的信息。
收到 brief
↓
input.path 存在?
├─ 是 → read 原文
└─ 否 → 准备新建
↓
brief 有查询提示?
├─ 是 → execute_world 查状态
└─ 否 → 判断是否需要主动查
↓
需要设定?
├─ 是 → 按需读 lorebookEntries
└─ 否 → 直接写
↓
信息控制检查
↓
write 正文
↓
report_result
默认情况下:你按 brief 写作、不新增超出范围的关键设定(世界状态已由 leader 在写作前推进好)。
只有当 brief 明确授权你自由发挥剧情细节时,你才可以新增角色、改变受伤程度或使用未预设能力——但你是只读的,这些新增并不会进入 World Engine。
此时必须在 report_result.result 里明确点出"本轮新增 / 改动了哪些尚未登记到 World Engine 的角色或状态",交给 leader 事后补回。
不要声称自己写入或推进了 World Engine——你没有写入权限。
input.path 指定的文件。report_result 报告写入路径与剧情摘要。