中文商业连载网文/男频爽文创作工作流。用于开书、市场定位、番茄网文、玄幻升级、都市逆袭、历史权谋、悬疑破局、继续写下一章、生成章节、修章、审校爽点追更、角色声纹、前三章留存、前十章规划、卷级体检、拆书建模、改纲重建、读者反馈诊断。用户提到写小说、写网文、爽文、追更、爆点、章节续写、开新书、检查章节、修复 gate/门禁、first3、market pack、beat competition、reader promise、去 AI 味时使用本技能。不要用于逐字模仿在世作者、纯文学短篇或不需要连载商业门禁的普通写作。
npx skills add https://github.com/zhougz520/novel-architect --skill novel-architect
版本 3.0.0。目标是让 Agent 以“脚本状态守卫 + 模型文学判断”的混合方式,稳定完成中文商业连载网文的开书、续写、审校、修稿和长线维护。
把本 skill 当成可自主执行的工作流,不要把 CLI 命令清单转交给用户。
SKILL.md,必要时读取 references/,自行调用 novel_architect CLI,自行读取产物,自行生成 JSON/正文/修稿,并推进到有效停止点。有效停止点只有这些:章节 gate.passed=true 并已 commit;前三章审校失败需要重写开头或重做 market pack;缺少必要输入导致无法继续;工具权限不足;需要用户在多个重大创作方向中选择。
在能导入 novel_architect 的工作区执行命令。优先使用项目仓库根目录下的:
uv run python -m novel_architect <command> ...
如果当前环境没有 uv 但包已安装,使用:
python -m novel_architect <command> ...
如果 console script 可用,也可以使用:
novel-architect <command> ...
执行前先确定项目路径:用户给出路径则使用该路径;用户只说“这本书/继续写”时,先检查常见 projects/<书名>/ 目录和 project.json;多个候选项目无法判断时再问用户。
review、save-first3-review 等命令返回非 0 通常表示门禁未过,不代表程序崩溃。此时读取输出 JSON、gate.json 或 repair.json,修复后重试。
当任务涉及开书、续写、审校、修稿、改纲、重建、反馈诊断或状态检查时,Agent 必须自己调用 CLI、读取输出、写入文件并继续流程。
不要只回复:
请运行 python -m novel_architect prepare ...
应当实际运行命令,检查产物,再继续下一步。只有环境没有 shell/文件权限时,才给用户命令。
这些命令会导出 prompt 或 input 文件。Agent 需要读取它们并亲自生成对应 JSON/文本,再调用保存命令或更新文件。
| 导出命令 | 产物 | Agent 下一步 |
|---|---|---|
| market-open | editorial/market_pack_prompt.md、market_pack_input.json | 生成严格 JSON,调用 market-save |
| beat-candidates | editorial/chXXXX/beat_competition_prompt.md、beat_competition_input.json、beat_options.json | 选择/生成最强方案,调用 beat-select,再 apply-beat-selection |
| export-signal-prompts | 12 个 signal prompt JSON | 逐个生成 model signal JSON,调用 save-model-signal |
| first3-review | data/reviews/first3_review_prompt.md、first3_review_input.json | 生成含 review_input_hash 和 8 个分数的 verdict,调用 save-first3-review |
| feedback-diagnose | data/feedback/chXXXX_diagnosis_prompt.md、input | 生成诊断;如需保存,将诊断写入反馈 JSON 的 diagnosis 后调用 save-feedback |
| export-title-review-prompt / export-intro-review-prompt | 书名/简介审校 prompt | 生成诊断,必要时更新 market_pack.json、书名/简介候选或开书资料 |
不要让用户把这些 prompt 粘给另一个模型,除非用户明确要求这种人工协作模式。
| 用户意图 | Agent 应执行的主流程 |
|---|---|
| 开一本新书 | init → market-open → market-save → 补强真相源 → first-10-retention / save-first10-plan → 前三章试生产 |
| 继续写下一章 | status → prepare → beat competition → 写正文 → review → model signals → review → 修稿循环 → commit |
| 修复本章 | 读取 editorial/chXXXX/repair.json 和 gate.json → 改正文 → review → 必要 model signals → 再 review → 通过后 commit |
| 前三章审校 | 第 1-3 章已提交后运行 first3-review → 生成 verdict → save-first3-review |
| 改纲/改设定 | 修改 src/*.json 真相源 → rebuild → status → 必要时重跑受影响章节 review |
| 卷级/批量体检 | batch-review、volume-review、benchmark、status |
| 平台反馈回流 | save-feedback → feedback-diagnose → 生成诊断 → 更新后续滚动规划/market pack/章节 notes |
| 拆书建模 | learn --sample-dir <dir>,再把结论转成可执行的题材/节奏/章节规划调整 |
gen-prompt 只用于用户明确要求“导出给外部写作模型/Claude Code 的独立提示词”时。普通续写不要用 gen-prompt 替代 prepare → beat → writing_task → review → commit 主流程。
开新书时,不要直接开始写第 1 章。先建立市场定位和真相源。
python -m novel_architect init --project <project_dir> --title <title> --genre <genre> --platform <platform> --premise <premise> --core-hook <core_hook> --protagonist <name>
初始化会生成 project.json、src/、manuscript/、data/、editorial/ 等目录。初始化只提供骨架,不代表开书策划完成。
运行 market-open,读取导出的 prompt/input,自行生成严格 JSON,再运行 market-save。
market pack 必须至少包含:
target_platformgenre_lanetarget_readerreader_desirescore_sell_pointsanti_sell_pointstitle_candidatesintro_candidatesfirst_10_chapter_retention_planplatform_notesauthor_constraints前 10 章计划中每章必须有 chapter、hook、visible_payoff、drop_off_risk。不要写“加强冲突”“提高爽感”这种不可执行空话。
src/ 是人工确认真相源。开书后检查并补强:
src/blueprint.json:前提、核心钩子、核心冲突、主角目标。src/characters.json:角色身份、欲望、恐惧、弱点、弧线、slug。src/character_voice_bible.json:角色声纹规则、禁用口吻、行动偏好、情绪泄漏点。结构为 {"schema_version":1,"characters":{"角色名":{...}}};如果文件还是 skeleton 或角色 needs_completion=true,先补全再正式写正文。src/world.json:世界/行业/力量规则,只保留服务冲突和爽点的设定。src/taboos.json:绝对不能碰的桥段、AI 味、题材反模式。src/volumes.json:卷级目标和滚动章纲。不要一次性把整本每章写死。src/genre_config.json:题材打法;内置优先支持玄幻升级、都市逆袭、历史权谋、悬疑破局,其他题材需更依赖 market pack 和自定义 genre_config。修改真相源后运行:
python -m novel_architect rebuild --project <project_dir>
python -m novel_architect status --project <project_dir>
不要手动修改 data/ 里的账本或派生状态来“修好”剧情;长期语义修正写入 src/ledger_overrides.json 或对应 src/*.json,再重建。
使用 first-10-retention 导出/生成计划;必要时自行细化后用 save-first10-plan 保存。前十章是入口漏斗,规划应具体到每章的 hook、可见收益、弃读风险和不能做什么。
每章必须走完整闭环。不要直接根据聊天上下文写正文。
先运行:
python -m novel_architect status --project <project_dir>
确定当前完成章数、gate 状态、索引健康和待处理风险。不要依赖聊天记忆判断下一章号。
python -m novel_architect prepare --project <project_dir> --query "<本章高层创作要求>"
产物:editorial/chXXXX/writing_task.json。这是写作阶段的自包含任务包,必须读取。它包含 writer_brief、narrative_context、叙事槽、商业留存字段、角色声纹、读者承诺、输出格式和硬规则。
第 4 章以后,prepare 会检查前三章专项审校。正常新书不得使用 --force-after-first3-fail;该参数只用于旧项目迁移或调试。
第 1-10 章必须执行 beat competition;第 10 章以后默认也建议执行,除非用户明确要求快速草稿。
python -m novel_architect beat-candidates --project <project_dir> --chapter <n>
读取导出的 prompt,生成或选择一个策略最强的方案,保存并应用:
python -m novel_architect beat-select --project <project_dir> --chapter <n> --file <selection.json>
python -m novel_architect apply-beat-selection --project <project_dir> --chapter <n>
选择标准:可见爽点最清楚、敌人损失最具体、角色按钮最鲜明、章尾追更理由最强、弃读风险最低。应用后重新读取最新 writing_task.json。
根据 writing_task.json 写正文并保存到 manuscript/第XXX章-标题.md。标题必须有点击感,不要只保存为 第XXX章.md。
正文必须严格遵守 writing_task.output_format.field_template:
# 第XXX章-标题## 章节信息## 本章大纲## 正文## 记忆回写关键要求:
“”。character_voice_bible,禁止所有人同一种战略总结口吻。python -m novel_architect review --project <project_dir> --chapter <n>
如果返回非 0,读取 editorial/chXXXX/gate.json 和 repair.json,不要跳过。
导出信号 prompt:
python -m novel_architect export-signal-prompts --project <project_dir> --chapter <n>
前 10 章、卷首、卷末、高潮、转折、发布前章节:12 个 signal 都要生成并保存 model signal。
稳定期最低也要覆盖:
reader_pullvisible_payoffblockbustertitle_hookcharacter_voicedomain_translationstory_logicstate_guard保存每个模型信号:
python -m novel_architect save-model-signal --project <project_dir> --chapter <n> --signal <signal_type> --file <signal.json>
模型信号必须输出严格 JSON。若评分低于 7,不得写 pass。模型 pass 不能覆盖 heuristic warn/fail;最终采用 strictest merge。
保存 model signals 后重新运行:
python -m novel_architect review --project <project_dir> --chapter <n>
只有 gate.json 中 passed=true 才能提交。若 passed=false,读取 repair.json,改正文后重复 review/model-signal/review,直到通过或到达有效停止点。
python -m novel_architect commit --project <project_dir> --chapter <n>
只在 gate 通过后执行。commit 会推进状态、重建索引、更新账本、处理 reader promise 创建/兑现/逾期。不要跳章提交;不要手动改 gate.json 或 signals 来强行通过。
新书第 1-3 章是试生产阶段。第 1、2、3 章分别完成 prepare → beat → write → review → model signals → review → commit 后,必须执行:
python -m novel_architect first3-review --project <project_dir>
读取 data/reviews/first3_review_prompt.md 和 first3_review_input.json,生成 verdict JSON,再保存:
python -m novel_architect save-first3-review --project <project_dir> --file <first3_verdict.json>
允许继续第 4 章必须同时满足:
verdict == "continue"bulk_continue_allowed == truereview_input_hashtitle_intro_click_score、first_chapter_hook_score、protagonist_desire_score、conflict_speed_score、first_payoff_speed_score、enemy_or_pressure_score、setting_clarity_score、continuation_score>= 7如果结果是 rewrite_opening,先修前三章;如果是 redo_market_pack,先重做 market pack、书名/简介/前十章计划。不要用 --force-after-first3-fail 正常推进新书。
前三章正文、market pack 或入口输入变化后,旧 first3_review 会因 hash 过期而阻断第 4 章以后生产,必须重新运行 first3-review 并保存新 verdict。
review 生成 12 个信号、verdict、gate、repair。每次 review 都重新运行 heuristic signal;新鲜 model signal 保存为 .model.json 变体参与 strictest merge;final signal 取更严格结果。
| 信号 | 检测内容 | 失败处理 |
|---|---|---|
| anti_ai | AI 套话、抽象密度、空段落、直引号 | hard,必须修 |
| story_logic | POV、信息来源、力量/商业逻辑、信息倾泻 | hard,必须修 |
| state_guard | 钩子、代价、敌人线、必需元素、禁区、逾期 reader promise | hard/quality,必须修 |
| emotion | 情绪弧线、关系动态、后效 | quality,失败不可提交 |
| blockbuster | 压迫/反制/兑现/代价四段爽点弧线 | quality,失败不可提交 |
| visible_payoff | 钱/权/脸面/身份/关系/秘密/能力/资源/安全得失 | quality,失败不可提交 |
| reader_pull | 开场钩子、中段悬念、章尾追更、成瘾循环 | quality,失败不可提交 |
| title_hook | 章节标题点击感、标题/文件名一致性、章末钩子 | quality,失败不可提交 |
| character_voice | 角色声纹差异、禁用口吻、对白归属 | quality,失败不可提交 |
| domain_translation | 专业设定是否转译成普通读者可见得失 | quality,失败不可提交 |
| novelty | 结构/章法/结尾模式重复 | market,失败也会阻塞 |
| continuity | 钩子、代价、敌人线程承接 | market,失败也会阻塞 |
简单规则:只看 gate.passed。passed=true 才能 commit;passed=false 就修。
prepare → beat → write → review → model signals → review → repair → commit。status,检查 active/overdue reader promises、gate 变化、索引健康。batch-review --start <a> --end <b>,检查连续弱项和重复模式。volume-review、benchmark,滚动更新 volumes.json 和后续 5-10 章规划。save-feedback 记录数据和评论,用 feedback-diagnose 转成下一轮实验建议。样本很小时不要过拟合单条评论。项目结构:
projects/<书名>/
├── project.json
├── src/ # 真相源,人工确认设定和规划
├── manuscript/ # 正文章节 .md
├── data/ # 派生状态,可重建,不手动改
├── editorial/ # 每章 brief / writing_task / signals / gate / repair
└── exports/
重要规则:
src/ 与 manuscript/ 是 truth input。data/、editorial/ 是运行时/派生产物;不要手动改它们来绕过门禁。src/*.json,再 rebuild。manuscript/第XXX章-标题.md,再 review。src/ledger_overrides.json,再 rebuild。不要做以下事情:
prepare 就直接写正式章节。gate.passed=false 还 commit 或继续下一章。--force-after-first3-fail。gate.json、signals 或 data/ledgers 来制造通过。第XXX章.md。按需读取,避免把全部资料一次性塞入上下文。
| 文件 | 何时读取 |
|---|---|
| references/pipeline-spec.md | 对 PREPARE/WRITE/REVIEW/COMMIT、恢复、hash、新鲜度有疑问时 |
| references/review-spec.md | 处理 12 signals、model signal、verdict、gate、repair 时 |
| references/story-spec.md | 不确定章节格式、章节模式、节奏变体、记忆回写字段时 |
| references/state-spec.md | 改状态、账本、reader promise、ledger overrides、rebuild 时 |
| references/genre-spec.md | 题材打法、genre_config、题材 marker、内置 playbook 时 |
| references/learning-spec.md | 拆书建模和样本结构学习时 |
| references/longrun-spec.md | batch/volume/benchmark 和长篇稳定性检查时 |
如果实现行为、README 和 references 冲突,以当前 Python CLI 行为为准,并在维护任务中同步文档。
python -m novel_architect --help
python -m novel_architect init --project <dir> --title <title> --genre <genre> [--platform <platform>] [--premise <text>] [--core-hook <text>] [--protagonist <name>]
python -m novel_architect market-open --project <dir> [--platform <platform>] [--genre-hint <genre>] [--seed-idea <idea>] [--author-intent <intent>] [--constraint <text>] [--stdout]
python -m novel_architect market-save --project <dir> --file <market_pack.json>
python -m novel_architect market-status --project <dir>
python -m novel_architect first-10-retention --project <dir> [--stdout]
python -m novel_architect save-first10-plan --project <dir> --file <first10.json>
python -m novel_architect status --project <dir>
python -m novel_architect prepare --project <dir> [--query <text>]
python -m novel_architect beat-candidates --project <dir> --chapter <n>
python -m novel_architect beat-select --project <dir> --chapter <n> --file <selection.json>
python -m novel_architect apply-beat-selection --project <dir> --chapter <n>
python -m novel_architect review --project <dir> --chapter <n>
python -m novel_architect export-signal-prompts --project <dir> --chapter <n>
python -m novel_architect save-model-signal --project <dir> --chapter <n> --signal <type> --file <signal.json>
python -m novel_architect commit --project <dir> --chapter <n>
python -m novel_architect resume --project <dir> --chapter <n> [--query <text>]
python -m novel_architect first3-review --project <dir>
python -m novel_architect save-first3-review --project <dir> --file <first3_verdict.json>
python -m novel_architect batch-review --project <dir> --start <a> --end <b>
python -m novel_architect volume-review --project <dir> [--volume <n>]
python -m novel_architect benchmark --project <dir>
python -m novel_architect rebuild --project <dir>
python -m novel_architect rebuild-index --project <dir>
python -m novel_architect validate --project <dir> --chapter <n>
python -m novel_architect learn --sample-dir <dir>
python -m novel_architect save-feedback --project <dir> --chapter <n> --file <feedback.json>
python -m novel_architect feedback-diagnose --project <dir> --chapter <n>
python -m novel_architect feedback-summary --project <dir>
python -m novel_architect gen-prompt --project <dir> [--outline-file <path>] [--stdout]
Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementing any feature or bugfix, before writing implementation code
Use when you have a spec or requirements for a multi-step task, before touching code
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Use when writing or improving README files. Not all READMEs are the same — provides templates and guidance matched to your audience and project type.
| Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
Official Opentrons Protocol API for OT-2 and Flex robots. Use when writing protocols specifically for Opentrons hardware with full access to Protocol API v2 features. Best for production Opentrons protocols, official API compatibility. For multi-vendor automation or broader equipment control use pylabrobot.
Take zhougz520/novel-architect from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.