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

243 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: novel-style-continuation
description: 小说风格续写。当用户提供小说原文(任意章节)时,提取其语言风格、叙事节奏、角色语气和世界观设定,并以相同的文风继续创作后续内容。触发场景包括:"续写小说"、"继续这个故事"、"模仿这个风格写作"、"帮我写下一章"。
---
# Novel Style Continuation
## 铁律(写前必读)
### 🔴 角色铁律
1. **绝不可以混淆人物名字与特质**。张三的性格不能写成李四,张三的过去不能安在李四头上。
2. **绝不可以给角色编造原文中不存在的设定**。角色有没有多重人格、有几个、分别叫什么——全部以原文为准。
3. **角色的说话方式必须与原文一致**。原文中说话简短有力的人,不能变成长篇大论的哲学家。
4. **每一次出场都必须问:这个角色在这里会这样表现吗?** 如果不会,重新写。
5. **角色关系网必须在原文中可验证。** 谁认识谁、谁不知道谁、谁和谁是恋爱关系——原文没写过的关系就是不存在。
### 🔴 世界观/战力铁律
6. **绝不可以自创法则/技能/境界名称。** 原文没有出现过的法则名称、招式名称、境界划分,一律不能写。
7. **绝不可以混用体系。** 以原文设定的体系为准,不能把不相关的体系设定混入。
8. **战力提升必须有原文依据的铺垫。** 不能一句话让角色从普通觉醒到法则级。升级要有过程。
9. **敌我双方的力量对比必须基于原文。** 不能为了让主角方赢而降低敌人战力,也不能为了让场面精彩而拔高敌人。
### 🔴 写作铁律
10. **通读原文最近50章后才能动笔。** 只读几章就写,等于盲写。
11. **写前必须查阅所有 references/ 文件。** 人物数据库、世界观、情节状态,缺一不可。
12. **人物内心独白不能违背角色设定。** 原文中从不多愁善感的角色,在续写里不能突然变成感时伤怀的诗人。
---
## 常见误区(已踩过的真实翻车记录)
**① 把角色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必须抽查验收**:每个子代理完成后,随机挑2~3个事件与原文比对。发现错误 → 拉起新子代理,给更小批次(10~15章),重新读、重新生成。不修正。
### 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` — 当前情节状态追踪文件
---
**核心原则:不编造,只延续。一切从原文来,一切回原文去。**