Community라이팅 & 에디팅github.com

zhougz520/novel-architect

Agent skill for long-form Chinese serial web-novel workflows with review gates, state guards, and quality signals.

지원 대상Claude Code~Codex CLI~Cursor
npx skills add zhougz520/novel-architect

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

문서

Novel Architect — 商业连载网文创作 Skill

版本 3.0.0。目标是让 Agent 以“脚本状态守卫 + 模型文学判断”的混合方式,稳定完成中文商业连载网文的开书、续写、审校、修稿和长线维护。

0. 总原则

把本 skill 当成可自主执行的工作流,不要把 CLI 命令清单转交给用户。

  • 用户负责提供高层创作目标、题材、平台、偏好、限制和重大方向选择。
  • Agent 负责读取本 SKILL.md,必要时读取 references/,自行调用 novel_architect CLI,自行读取产物,自行生成 JSON/正文/修稿,并推进到有效停止点。
  • Python CLI 是确定性工具层,负责项目状态、索引、账本、门禁、信号、hash 和文件落盘;它不是给用户手动执行的说明书。
  • 模型负责文学判断和创作输出:market pack、beat 选择、正文写作、model signal、修稿、反馈诊断。
  • 只有在缺少 shell/文件工具、项目路径不明且无法推断、或需要真正的创作方向取舍时,才询问用户。

有效停止点只有这些:章节 gate.passed=true 并已 commit;前三章审校失败需要重写开头或重做 market pack;缺少必要输入导致无法继续;工具权限不足;需要用户在多个重大创作方向中选择。

1. 运行命令约定

在能导入 novel_architect 的工作区执行命令。优先使用项目仓库根目录下的:

uv run python -m novel_architect <command> ...

如果当前环境没有 uv 但包已安装,使用:

python -m novel_architect <command> ...

如果 console script 可用,也可以使用:

novel-architect <command> ...

执行前先确定项目路径:用户给出路径则使用该路径;用户只说“这本书/继续写”时,先检查常见 projects/<书名>/ 目录和 project.json;多个候选项目无法判断时再问用户。

reviewsave-first3-review 等命令返回非 0 通常表示门禁未过,不代表程序崩溃。此时读取输出 JSON、gate.jsonrepair.json,修复后重试。

2. Agent 自主执行契约

必须自己执行的动作

当任务涉及开书、续写、审校、修稿、改纲、重建、反馈诊断或状态检查时,Agent 必须自己调用 CLI、读取输出、写入文件并继续流程。

不要只回复:

请运行 python -m novel_architect prepare ...

应当实际运行命令,检查产物,再继续下一步。只有环境没有 shell/文件权限时,才给用户命令。

导出的 prompt 都是 Agent 工作项

这些命令会导出 prompt 或 input 文件。Agent 需要读取它们并亲自生成对应 JSON/文本,再调用保存命令或更新文件。

导出命令产物Agent 下一步
market-openeditorial/market_pack_prompt.mdmarket_pack_input.json生成严格 JSON,调用 market-save
beat-candidateseditorial/chXXXX/beat_competition_prompt.mdbeat_competition_input.jsonbeat_options.json选择/生成最强方案,调用 beat-select,再 apply-beat-selection
export-signal-prompts12 个 signal prompt JSON逐个生成 model signal JSON,调用 save-model-signal
first3-reviewdata/reviews/first3_review_prompt.mdfirst3_review_input.json生成含 review_input_hash 和 8 个分数的 verdict,调用 save-first3-review
feedback-diagnosedata/feedback/chXXXX_diagnosis_prompt.md、input生成诊断;如需保存,将诊断写入反馈 JSON 的 diagnosis 后调用 save-feedback
export-title-review-prompt / export-intro-review-prompt书名/简介审校 prompt生成诊断,必要时更新 market_pack.json、书名/简介候选或开书资料

不要让用户把这些 prompt 粘给另一个模型,除非用户明确要求这种人工协作模式。

3. 任务入口速查

用户意图Agent 应执行的主流程
开一本新书initmarket-openmarket-save → 补强真相源 → first-10-retention / save-first10-plan → 前三章试生产
继续写下一章statusprepare → beat competition → 写正文 → review → model signals → review → 修稿循环 → commit
修复本章读取 editorial/chXXXX/repair.jsongate.json → 改正文 → review → 必要 model signals → 再 review → 通过后 commit
前三章审校第 1-3 章已提交后运行 first3-review → 生成 verdict → save-first3-review
改纲/改设定修改 src/*.json 真相源 → rebuildstatus → 必要时重跑受影响章节 review
卷级/批量体检batch-reviewvolume-reviewbenchmarkstatus
平台反馈回流save-feedbackfeedback-diagnose → 生成诊断 → 更新后续滚动规划/market pack/章节 notes
拆书建模learn --sample-dir <dir>,再把结论转成可执行的题材/节奏/章节规划调整

gen-prompt 只用于用户明确要求“导出给外部写作模型/Claude Code 的独立提示词”时。普通续写不要用 gen-prompt 替代 prepare → beat → writing_task → review → commit 主流程。

4. 开书流程

开新书时,不要直接开始写第 1 章。先建立市场定位和真相源。

4.1 初始化项目

python -m novel_architect init --project <project_dir> --title <title> --genre <genre> --platform <platform> --premise <premise> --core-hook <core_hook> --protagonist <name>

初始化会生成 project.jsonsrc/manuscript/data/editorial/ 等目录。初始化只提供骨架,不代表开书策划完成。

4.2 生成并保存 market pack

运行 market-open,读取导出的 prompt/input,自行生成严格 JSON,再运行 market-save

market pack 必须至少包含:

  • target_platform
  • genre_lane
  • target_reader
  • reader_desires
  • core_sell_points
  • anti_sell_points
  • title_candidates
  • intro_candidates
  • first_10_chapter_retention_plan
  • platform_notes
  • author_constraints

前 10 章计划中每章必须有 chapterhookvisible_payoffdrop_off_risk。不要写“加强冲突”“提高爽感”这种不可执行空话。

4.3 补强真相源

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,再重建。

4.4 前十章留存计划

使用 first-10-retention 导出/生成计划;必要时自行细化后用 save-first10-plan 保存。前十章是入口漏斗,规划应具体到每章的 hook、可见收益、弃读风险和不能做什么。

5. 续写下一章标准流程

每章必须走完整闭环。不要直接根据聊天上下文写正文。

5.1 状态检查

先运行:

python -m novel_architect status --project <project_dir>

确定当前完成章数、gate 状态、索引健康和待处理风险。不要依赖聊天记忆判断下一章号。

5.2 PREPARE

python -m novel_architect prepare --project <project_dir> --query "<本章高层创作要求>"

产物:editorial/chXXXX/writing_task.json。这是写作阶段的自包含任务包,必须读取。它包含 writer_briefnarrative_context、叙事槽、商业留存字段、角色声纹、读者承诺、输出格式和硬规则。

第 4 章以后,prepare 会检查前三章专项审校。正常新书不得使用 --force-after-first3-fail;该参数只用于旧项目迁移或调试。

5.3 Beat competition

第 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

5.4 WRITE

根据 writing_task.json 写正文并保存到 manuscript/第XXX章-标题.md。标题必须有点击感,不要只保存为 第XXX章.md

正文必须严格遵守 writing_task.output_format.field_template

  1. # 第XXX章-标题
  2. ## 章节信息
  3. ## 本章大纲
  4. ## 正文
  5. ## 记忆回写

关键要求:

  • 正文不少于 2000 字,目标 2000-2500 字。
  • 使用中文弯引号 “”
  • 第一段承接上章钩子;第 1 章则快速建立压迫、主角欲望和可见机会。
  • 每章必须有普通读者 5 秒内能复述的可见爽点。
  • 专业流程/术语必须转译成钱、权、脸面、身份、关系、秘密、战力、资源或安全得失。
  • 角色对白必须体现 character_voice_bible,禁止所有人同一种战略总结口吻。
  • 如制造新的读者期待,必须在记忆回写中填写新增读者承诺;如兑现期待,必须填写兑现 ID 和可见证据。

5.5 REVIEW 第一轮

python -m novel_architect review --project <project_dir> --chapter <n>

如果返回非 0,读取 editorial/chXXXX/gate.jsonrepair.json,不要跳过。

5.6 模型信号评估

导出信号 prompt:

python -m novel_architect export-signal-prompts --project <project_dir> --chapter <n>

前 10 章、卷首、卷末、高潮、转折、发布前章节:12 个 signal 都要生成并保存 model signal。

稳定期最低也要覆盖:

  • reader_pull
  • visible_payoff
  • blockbuster
  • title_hook
  • character_voice
  • domain_translation
  • story_logic
  • state_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。

5.7 REVIEW 第二轮与修稿循环

保存 model signals 后重新运行:

python -m novel_architect review --project <project_dir> --chapter <n>

只有 gate.jsonpassed=true 才能提交。若 passed=false,读取 repair.json,改正文后重复 review/model-signal/review,直到通过或到达有效停止点。

5.8 COMMIT

python -m novel_architect commit --project <project_dir> --chapter <n>

只在 gate 通过后执行。commit 会推进状态、重建索引、更新账本、处理 reader promise 创建/兑现/逾期。不要跳章提交;不要手动改 gate.json 或 signals 来强行通过。

6. 前三章专项门禁

新书第 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.mdfirst3_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 == true
  • 原样包含当前 review_input_hash
  • 8 个评分全部存在:title_intro_click_scorefirst_chapter_hook_scoreprotagonist_desire_scoreconflict_speed_scorefirst_payoff_speed_scoreenemy_or_pressure_scoresetting_clarity_scorecontinuation_score
  • 所有评分都是 1-10 数字,且全部 >= 7

如果结果是 rewrite_opening,先修前三章;如果是 redo_market_pack,先重做 market pack、书名/简介/前十章计划。不要用 --force-after-first3-fail 正常推进新书。

前三章正文、market pack 或入口输入变化后,旧 first3_review 会因 hash 过期而阻断第 4 章以后生产,必须重新运行 first3-review 并保存新 verdict。

7. 门禁与 12 个信号

review 生成 12 个信号、verdict、gate、repair。每次 review 都重新运行 heuristic signal;新鲜 model signal 保存为 .model.json 变体参与 strictest merge;final signal 取更严格结果。

信号检测内容失败处理
anti_aiAI 套话、抽象密度、空段落、直引号hard,必须修
story_logicPOV、信息来源、力量/商业逻辑、信息倾泻hard,必须修
state_guard钩子、代价、敌人线、必需元素、禁区、逾期 reader promisehard/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.passedpassed=true 才能 commit;passed=false 就修。

8. 长线维护

  • 每章:完整执行 prepare → beat → write → review → model signals → review → repair → commit
  • 每 3 章:运行 status,检查 active/overdue reader promises、gate 变化、索引健康。
  • 每 5 章:运行 batch-review --start <a> --end <b>,检查连续弱项和重复模式。
  • 每 10 章或关键节点:运行 volume-reviewbenchmark,滚动更新 volumes.json 和后续 5-10 章规划。
  • 每卷结束:检查卷目标、敌人损失、读者承诺兑现、下一卷钩子。
  • 发布后:用 save-feedback 记录数据和评论,用 feedback-diagnose 转成下一轮实验建议。样本很小时不要过拟合单条评论。

9. 真相源与目录规则

项目结构:

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

10. 禁止事项

不要做以下事情:

  • 不要把 CLI 工作转交给用户手动执行。
  • 不要没有 prepare 就直接写正式章节。
  • 不要跳过 beat competition 写前 10 章。
  • 不要 gate.passed=false 还 commit 或继续下一章。
  • 不要为正常新书使用 --force-after-first3-fail
  • 不要只保存 heuristic review 就认为商业质量足够;关键章节必须做 model signal。
  • 不要手动改 gate.json、signals 或 data/ledgers 来制造通过。
  • 不要让章节没有标题或只叫 第XXX章.md
  • 不要让记忆回写长期填“无”,尤其是 reader promise。
  • 不要把专业流程写成会议纪要、授权记录、复核清单,而不转译成读者可见得失。
  • 不要承诺逐字模仿某位作者或某本现成作品的语言风格。

11. 需要读取的参考文件

按需读取,避免把全部资料一次性塞入上下文。

文件何时读取
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.mdbatch/volume/benchmark 和长篇稳定性检查时

如果实现行为、README 和 references 冲突,以当前 Python CLI 行为为准,并在维护任务中同步文档。

12. 常用命令清单

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]

관련 스킬

steipete/notion

Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.

community

affaan-m/seo

Audit, plan, and implement SEO improvements across technical SEO, on-page optimization, structured data, Core Web Vitals, and content strategy. Use when the user wants better search visibility, SEO remediation, schema markup, sitemap/robots work, or keyword mapping.

community

affaan-m/brand-voice

Build a source-derived writing style profile from real posts, essays, launch notes, docs, or site copy, then reuse that profile across content, outreach, and social workflows. Use when the user wants voice consistency without generic AI writing tropes.

community

affaan-m/crosspost

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

community

affaan-m/x-api

X/Twitter API integration for posting tweets, threads, reading timelines, search, and analytics. Covers OAuth auth patterns, rate limits, and platform-native content posting. Use when the user wants to interact with X programmatically.

community

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

community