Files
story-skill/skill/novel-continuation-ai/SKILL.md
root cf8f68533c init: story-skill - standardized novel continuation agent workflow
- Agent identity + mandatory workflow (AGENTS.md)
- Style continuation skill (SKILL.md)
- 5 reference file templates (characters/world_building/timeline/style/plot_state)
- Batch reading protocol with sequential sub-agents + spot-check review
- Bridge script for Gateway API calls with auto novel copy
- METHODOLOGY.md explaining the three pillars
- README.md with installation guide
2026-05-31 17:45:01 +08:00

10 KiB
Raw Blame History

name, description
name description
novel-style-continuation 小说风格续写。当用户提供小说原文(任意章节)时,提取其语言风格、叙事节奏、角色语气和世界观设定,并以相同的文风继续创作后续内容。触发场景包括:"续写小说"、"继续这个故事"、"模仿这个风格写作"、"帮我写下一章"。

Novel Style Continuation

铁律(写前必读)

🔴 角色铁律

  1. 绝不可以混淆人物名字与特质。张三的性格不能写成李四,张三的过去不能安在李四头上。
  2. 绝不可以给角色编造原文中不存在的设定。角色有没有多重人格、有几个、分别叫什么——全部以原文为准。
  3. 角色的说话方式必须与原文一致。原文中说话简短有力的人,不能变成长篇大论的哲学家。
  4. 每一次出场都必须问:这个角色在这里会这样表现吗? 如果不会,重新写。
  5. 角色关系网必须在原文中可验证。 谁认识谁、谁不知道谁、谁和谁是恋爱关系——原文没写过的关系就是不存在。

🔴 世界观/战力铁律

  1. 绝不可以自创法则/技能/境界名称。 原文没有出现过的法则名称、招式名称、境界划分,一律不能写。
  2. 绝不可以混用体系。 以原文设定的体系为准,不能把不相关的体系设定混入。
  3. 战力提升必须有原文依据的铺垫。 不能一句话让角色从普通觉醒到法则级。升级要有过程。
  4. 敌我双方的力量对比必须基于原文。 不能为了让主角方赢而降低敌人战力,也不能为了让场面精彩而拔高敌人。

🔴 写作铁律

  1. 通读原文最近50章后才能动笔。 只读几章就写,等于盲写。
  2. 写前必须查阅所有 references/ 文件。 人物数据库、世界观、情节状态,缺一不可。
  3. 人物内心独白不能违背角色设定。 原文中从不多愁善感的角色,在续写里不能突然变成感时伤怀的诗人。

常见误区(已踩过的真实翻车记录)

① 把角色A的性格安到角色B身上 → 表现:A明明冷静寡言,续写里让他热血澎湃地喊口号;B明明冲动直率,续写里让他冷静分析局势。 → 解决:写每个角色出场时,先在人物数据库里核对一句话:这个角色在原文中是什么性格?他/她会这样说话吗?

② 给敌人编造原文不存在的属性/称号 → 表现:原文敌人没有某些称号/能力,续写里硬加上去。 → 解决:所有敌人名称/称号/能力,必须是「原文中出现过的」。没出现过的就是编的,编的就不能写。

③ 编造不存在的新法则 → 表现:原文从未出现的法则名称,续写里让角色喊一声就觉醒。 → 解决:法则名称、觉醒方式、效果全部以原文为准。原文没写过的法则,续写里不能出现。

④ 过度心理描写,角色变"文青" → 表现:原文杀伐果断的角色,续写里花三页纸描述内心挣扎。 → 解决:心理描写的篇幅和深度必须与原文一致。原文里角色从不纠结的事,续写里不能让她纠结。

⑤ 把战友情写成浪漫感情 → 表现:原文是互相信赖的战友关系,续写里写成暧昧或恋爱。 → 解决:角色间的关系性质(战友/恋人/敌对/利用)严格遵循原文。原文没有暧昧暗示的,续写不能无中生有。

⑥ 无视当前的剧情位置 → 表现:明明角色正在生死决战中,续写让她停下来做哲学思考。 → 解决:动笔前先在 plot_state.md 确认:这个角色现在在哪里?在做什么?当前有没有迫在眉睫的威胁?


核心原理

续写的本质是风格复现 + 情节延续。模型需要:

  1. 从原文提取风格特征(不是总结剧情)
  2. 在后续写作中严格遵循这些特征
  3. 主动追踪人物状态和剧情走向,避免前后矛盾

工作流程

Step 0:读取参考文件

每次动笔前,必须先读以下五个文件(一个不能少):

📍 references/characters.md — 人物关系网 📍 references/world_building.md — 世界观与战力体系 📍 references/timeline.md — 时间锚点 📍 references/style.md — 风格分析 📍 references/plot_state.md — 情节状态


Step 0.5:文件不存在时的处理(批次阅读法 — 正确使用子代理)

🔴 铁律:禁止子代理平行阅读。 多个子代理同时读不同章节会导致关系网错乱。 ✅ 正确方式:子代理依次序读。 每批一个子代理,读完就丢,下批拉起新子代理。 🔴 铁律:禁止根据章节标题推断剧情。 必须读原文正文。 🔴 铁律:禁止引用自生成的续写内容作为参考来源。唯一合法来源是原文。

如果上述文件不存在,按以下方式建立:

回合1:子代理A → 读第1~50章 → 更新 characters/world_building/timeline → 丢弃
回合2:子代理B → 先读现有参考文件 → 读第51~100章 → 在前人基础更新 → 丢弃
回合3:子代理C → 先读现有参考文件 → 读第101~150章 → 更新 → 丢弃
……

关键规则:

  • 🔴 子代理必须读正文,不能只读标题。 告知子代理novel_source.txt在工作区,让它直接 read() 正文
  • 🔴 每个新子代理必须先读现有的参考文件,再读新章节
  • ✅ 每批必须按章节顺序,不得跳过
  • ✅ 每批读完当场更新到磁盘
  • ✅ 主agent必须抽查验收:每个子代理完成后,随机挑23个事件与原文比对。发现错误 → 拉起新子代理,给更小批次(1015章),重新读、重新生成。不修正。

Step 1:批次阅读 & 更新参考文件

🔴 禁止子代理平行阅读。 阅读必须在当前会话中按顺序完成。 🔴 禁止根据标题推断剧情。 必须读原文正文。 🔴 禁止引用自生成的续写内容作为参考来源。唯一来源是原文。

通读原文最新章节(至少最近50章),不是为了记住故事,而是为了更新参考文件。推荐每30~50章一批,读一批就更新一批。

1a. 更新 characters.md

每次通读后,核对并更新角色数据库:

  • 新增角色加入数据库
  • 现有角色的性格/关系有变化的,更新
  • 特别注意:角色姓名 100% 正确。每个出场角色的名字核对一遍,确认没写错人。

1b. 更新 world_building.md

  • 更新已出现的法则名称、效果
  • 更新当前战场、势力分布
  • 删除你自己上次写时添加的任何自行编纂的内容

1c. 分析/更新 style.md

分析以下维度,每项用 1-2 句话描述:

语言层面

  • 句式偏好
  • 用词风格
  • 修辞习惯

叙事层面

  • 视角
  • 节奏
  • 氛围

对话层面

  • 角色说话方式
  • 对话占比
  • 潜台词风格

1d. 更新 plot_state.md

格式:

# 情节状态

## 当前章节位置
- 上一章是:第X章 [标题]
- 当前场景:地点/战场
- 当前时间线:与主线的关系

## 角色状态(活跃角色)
| 角色名 | 当前位置 | 当前状态 | 目标/任务 |
|--------|---------|---------|-----------|

## 各角色关系当前状态
- A 知道 B 的秘密吗?
- C 和 D 目前是敌对还是联手?

## 已在场物品/地点
- [地点]:描述
- [重要道具]:[用途]

## 已埋伏笔(原文已有的)
- [伏笔1]:[原文埋设的位置]

## 待解决冲突
- [冲突1]
- [冲突2]

Step 2:续写前的强制自检

动笔之前,逐项自检以下问题。一项一项说清楚。不过不要输出给用户,自己心里有数就行。

角色一致性检查

  • 这一章出场的每个角色,名字是否正确?(而不是写成了另一个人的名字)
  • 这个角色的性格/说话方式,是否与原文该角色的性格 100% 一致?
  • 这个角色的当前心境,是否与原文中他/她当前处境的合理反应一致?
  • 这个角色和其他角色的关系性质(是战友/恋人/敌人/利用),是否与原文一致?
  • 有没有给角色添加原文中不存在的背景/特质/能力?

世界观一致性检查

  • 本章中出现的所有法则/技能/境界名称,是否在原文中出现过?
  • 有没有把不相关的体系混进来?
  • 敌人名称和设定是否来自原文?
  • 战力升级是否有足够铺垫,不突兀?

情节连续性检查

  • 本章从上一章结尾的位置开始吗?
  • 是否接住了上一章留下的悬念/冲突?
  • 新引入的情节/事件,是否与原文已有的设定不冲突?

Step 3:续写

严格遵循参考文件和自检结果。写作过程中,每写一个角色出场,暂停一次,在脑子里过一遍:这个角色的名字、性格、关系、当前状态——全部和 characters.md 核对过。

写作规范:

  • 章节长度:2000-4000 字(与原文相当)
  • 每章至少一个情节点推进
  • 避免在第一章就引入太多新角色
  • 保持既有角色的说话方式一致
  • 合理埋设新伏笔,留住读者

角色出场自问(每一段对话/动作前):

  1. 这个角色叫什么名字?(确认不是叫另一个角色的名字)
  2. 这个角色目前在哪里?在做什么?
  3. 这个角色的性格核心特质是什么?
  4. 以他/她的性格,此情此景下会说什么、做什么?
  5. 这段对话/动作与原文角色关系网矛盾吗?

输出格式: 续写内容直接输出为 Markdown,使用二级标题 ## 续写内容 包裹,后接正文。不需要额外说明"以下是续写"。

Step 4:写完后二次检查

写完一整章后,再把 Step 2 的自检逐项过一遍。发现不一致的地方立刻修改。

Step 5:更新 plot_state.md

续写完成后,询问用户是否满意:

  • 满意 → 自动更新 references/plot_state.md(添加新章节的情节状态)
  • 不满意 → 询问需要修改的具体方向,针对性重写

资源说明

scripts/

本 skill 不需要脚本。风格分析和续写完全由模型本身完成。

references/

  • characters.md — 人物关系网(角色名/性格/关系/说话方式)
  • world_building.md — 世界观与战力体系(法则/势力/背景)
  • timeline.md — 时间锚点(关键事件时间线)
  • style.md — 从原文分析得出的风格特征
  • plot_state.md — 当前情节状态追踪文件

核心原则:不编造,只延续。一切从原文来,一切回原文去。