一个综合性的网络小说(Web Novel)创作与管理技能,结合 AI 创造力与结构化工作流程。
当以下情况时调用此技能:
> ⚠️ 重要:触发技能后,必须根据用户意图选择正确的起始步骤!
| 用户意图 | 起始步骤 | 说明 |
|----------|----------|------|
| "继续写"、"继续写小说"、"续写" | 步骤 1.4 | 续写已有小说,必须先读取核心文档并询问用户 |
| "写小说"、"创作小说"(新项目) | 步骤 1.1 | 新小说创作,询问是否有大纲 |
| 询问创作相关问题 | 根据问题类型判断 | 情节构思→阶段2,角色发展→更新人物档案 |
关键规则:
> ⚠️ 以下规则必须严格遵守!
所有与用户的问答交互,必须使用 AskUserQuestion 工具,而不是直接在文本中提问。
原因:
示例:
❌ 错误:直接在文本中问"您想写什么类型的小说?"
✅ 正确:使用 AskUserQuestion 工具,提供选项让用户选择
每次创作章节内容前,必须在 .agents/documents/ 目录下创建创作计划文档。
要求:
第 X 章创作计划.md
流程:
创作章节 → 先创建计划文档 (.agents/documents/第 X 章创作计划.md) → 根据计划撰写正文
> ⚠️ 重要规则:本技能的所有流程阶段必须完整执行,不可跳过任何步骤!
>
> - 无论用户是否提供已有大纲,都必须按照 阶段 1 → 阶段 2 → 阶段 3 → 阶段 4 的顺序执行
> - 已有大纲只能作为信息来源,不能替代任何流程步骤
> - 每个阶段完成后,必须进入下一阶段,直到所有阶段完成
> 本阶段必须完成,不可跳过!
> 注意:所有问答交互必须使用 AskUserQuestion 工具!
首先询问用户:
> "请问您是否有现成的小说大纲或设定文档?"
用户回答情况:
| 用户回答 | 执行流程 |
| --------- | ------------------ |
| 有现成大纲 | 进入 步骤 1.2(从大纲提取信息) |
| 没有大纲 | 进入 步骤 1.3(提问收集信息) |
如果用户有现成大纲:
| 序号 | 信息项 | 说明 |
| -- | ---- | ------------------ |
| 1 | 小说类型 | 玄幻、仙侠、都市、科幻、历史、悬疑等 |
| 2 | 核心创意 | 故事的核心卖点或灵感来源 |
| 3 | 主角设定 | 性别、性格特点、特殊能力或身份 |
| 4 | 世界观 | 故事发生的背景设定 |
| 5 | 目标字数 | 预计小说总字数 |
| 6 | 更新频率 | 每日/每周更新计划 |
处理流程图:
用户提供大纲 → 读取分析 → 提取 6 项信息 → 展示结果 → 用户确认 → 补充缺失 → 进入阶段 2
如果用户没有现成大纲:
按照以下顺序逐项询问用户,收集 6 项核心信息:
| 序号 | 问题 | 示例选项 |
| -- | ---------------- | ------------------ |
| 1 | 您想写什么类型的小说? | 玄幻、仙侠、都市、科幻、历史、悬疑等 |
| 2 | 故事的核心创意或灵感来源是什么? | 开放式回答 |
| 3 | 主角的设定是怎样的? | 性别、性格、能力、身份等 |
| 4 | 世界观背景是怎样的? | 时代、地点、特殊设定等 |
| 5 | 预计小说总字数是多少? | 50 万、100 万、200 万等 |
| 6 | 更新频率是怎样的? | 每日更新、每周更新等 |
收集完成后:进入 阶段 2
> ⚠️ 本步骤是"继续写"触发后的必经流程,不可跳过!
>
> 当用户说"继续写"、"续写"、"继续写小说"时,必须立即执行本步骤,不可直接跳到其他流程。
>
> ⚠️ 重要区分:步骤 1.4 与步骤 3.3 的关系
> - 步骤 1.4:用户发起"继续写"意图时的入口流程(新会话或原会话停止后的继续)
> - 步骤 3.3:每次创作章节时的完整创作流程(包括创作前、创作中、创作后的所有步骤)
> - 关系:步骤 1.4 完成后,必须进入步骤 3.3 进行章节创作,不可跳过步骤 3.3 的任何子步骤
如果是续写已有小说:
步骤 1.4.1:阅读核心文档(强制执行)
> ⚠️ 重要规则:续写前必须先阅读以下文档!
> 这是强制流程,不可省略!
在开始续写前,必须立即按顺序阅读以下文档:
| 序号 | 文档 | 用途 |
|------|------|------|
| 1 | .agents/AGENTS.md | 了解创作理念、写作风格指南、创作规则、质量控制标准 |
| 2 | .agents/memorys/base-memory.md | 了解当前项目状态、最近创作活动、关键人物状态 |
| 3 | .agents/memorys/chapter-log.md | 确认章节进度、已完成字数 |
| 4 | 大纲.md | 了解情节和角色细节、伏笔清单、章节规划 |
阅读顺序:
AGENTS.md → base-memory.md → chapter-log.md → 大纲.md
执行方式:使用 Read 工具一次性读取所有四个文档(并行读取以提高效率)
步骤 1.4.2:询问用户(强制执行)
> ⚠️ 重要规则:必须使用 AskUserQuestion 工具询问用户!
> 这是强制流程,不可省略!
阅读文档后,必须立即使用 AskUserQuestion 工具询问用户:
询问内容:
questions: [
{
header: "续写方式",
multiSelect: false,
options: [
{ label: "按原有计划继续(推荐)", description: "按照原有大纲和计划,创作下一章" },
{ label: "融入新创意", description: "有新的想法或创意想要融入故事" },
{ label: "调整剧情/设定", description: "需要调整剧情走向或人物设定" }
],
question: "续写小说前,请问您是否有新的想法或创意要融入?还是按照原有计划继续创作?"
}
]
步骤 1.4.3:继续流程
> ⚠️ 重要:步骤 1.4 完成后,必须进入步骤 3.3 的完整流程!
根据用户回答,继续进入阶段 2(头脑风暴阶段)或进入步骤 3.3(章节创作流程)。
| 用户选择 | 后续流程 |
|----------|----------|
| 按原有计划继续 | 进入步骤 3.3 章节创作流程(完整执行:创建计划文档 → 撰写章节 → 更新文档 → 下一步建议循环) |
| 融入新创意 | 进入阶段 2(头脑风暴),讨论新创意如何融入,然后进入步骤 3.3 |
| 调整剧情/设定 | 先更新相关设定文档,再进入步骤 3.3 |
步骤 1.4 完成后的完整流程图:
步骤 1.4 完成 → 用户选择"按原有计划继续" →
→ 进入步骤 3.3 →
→ 3.3.1 创建计划文档 →
→ 3.3.2 根据计划撰写正文 →
→ 3.3.3 更新相关文档 →
→ 3.3.4 下一步建议循环流程(步骤 4)→
→ 分析章节内容 → 检查Git状态 → 生成动态建议 → AskUserQuestion询问 → ...
步骤 1.4 执行检查清单:
> ⚠️ 如果以上任何一项未完成,不可进入后续流程!
> 本阶段必须完成,不可跳过!
>
> - 即使已有大纲,也必须进行头脑风暴
> - 目的:丰富和完善创意,发现新的可能性
收集信息后,进行创意头脑风暴:
核心原则:利用 AI 的无限想象力丰富和扩展用户的初始创意,同时保持故事的连贯性和吸引力。
如果已有大纲:
> 本阶段必须完成,不可跳过!
>
> - 即使已有大纲,也必须创建/更新 AGENTS.md 和 大纲.md
> - 已有大纲内容应整合到新文档中
创建 .agents/AGENTS.md,包含:
.agents/memorys/base-memory.md
在项目根目录创建 大纲.md,包含:
> ⚠️ 重要:每次创作章节前必须先创建计划文档!
> ⚠️ 重要:本流程是每次创作章节的完整流程,必须完整执行所有子步骤!
>
> 流程完整性要求:
> - 步骤 3.3.1(创建计划文档)→ 步骤 3.3.2(撰写正文)→ 步骤 3.3.3(更新文档)→ 步骤 3.3.4(下一步建议循环)
> - 不可跳过任何子步骤,特别是步骤 3.3.4(下一步建议循环流程)
> - 步骤 3.3.4 是强制执行的,完成章节后必须分析内容、检查Git状态、生成动态建议、询问用户
创作章节的完整流程:
步骤 3.3.1:创建计划文档
.agents/documents/ 目录下创建 第 X 章创作计划.md
步骤 3.3.2:根据计划撰写正文
第 X 章 - 章节名.md
步骤 3.3.3:更新相关文档
大纲.md 中的故事时间线
.agents/memorys/base-memory.md
.agents/memorys/chapter-log.md
.agents/memorys/archive/memory-YYYY-MM.md
步骤 3.3.4:下一步建议循环流程(步骤 4)
> ⚠️ 重要规则:建议本身作为选项让用户选择,执行后继续循环询问!
> ⚠️ 重要:本步骤是强制执行的,完成章节后必须执行!
步骤 3.3 执行检查清单:
> ⚠️ 如果以上任何一项未完成,不可结束章节创作流程!
核心流程:
完成章节 → 分析内容 → 检查Git状态 → 生成动态建议 → AskUserQuestion询问 → 用户选择 → 执行建议 → 再次分析 → 循环...
(直到没有特别建议,用户选择"继续创作下一章"或"先休息一下")
Git 状态检查(轻量级检查,不执行完整操作):
git rev-parse --is-inside-work-tree 检查是否有 Git 仓库
git status --porcelain 检查是否有变更
步骤 4.1:分析章节内容,生成动态建议
根据刚完成的章节内容,动态分析并生成建议。建议类型包括:
| 建议类型 | 分析要点 | 示例建议 |
|----------|----------|----------|
| 设定完善 | 新出现的势力、地点、物品等需要详细设定 | "第一章出现了德军巡逻队,建议完善德军在村庄的具体部署设定" |
| 人物深化 | 新出场或发展的人物需要补充背景 | "杰克临终提到'铁十字',建议补充杰克如何获得情报的背景故事" |
| 伏笔处理 | 前期伏笔需要回收或新伏笔需要埋设 | "第一章埋设了'铁十字'伏笔,建议在第二章回收部分信息" |
| 剧情调整 | 发现剧情漏洞或需要调整的地方 | "皮埃尔救杰克的过程略显仓促,建议补充他如何发现飞机残骸的细节" |
| 节奏优化 | 当前节奏需要调整 | "第一章节奏偏快,建议第二章增加情感沉淀段落" |
步骤 4.2:使用 AskUserQuestion 工具询问用户
必须使用 AskUserQuestion 工具,将动态生成的建议作为选项,加上基础选项:
选项结构:
Git 提交选项显示条件:
Git 状态检查方法:
```
```
示例调用:
```
假设第一章完成后,分析发现:
AskUserQuestion 调用:
questions: [
{
header: "下一步",
multiSelect: false,
options: [
{ label: "完善德军部署设定", description: "第一章出现了德军巡逻队,建议完善德军在村庄的具体部署" },
{ label: "补充杰克背景故事", description: "杰克临终提到'铁十字',建议补充他如何获得情报的背景" },
{ label: "继续创作第二章", description: "没有特别需要完善的,直接创作下一章" },
{ label: "提交变更到 Git", description: "保存当前进度到 Git 仓库" },
{ label: "先休息一下", description: "今天先到这里,下次继续" }
],
question: "第一章已完成,分析发现以下建议,您想优先处理哪个?"
}
]
```
示例调用(Git 已提交,无变更):
```
假设用户刚执行了 Git 提交,没有新的变更:
AskUserQuestion 调用:
questions: [
{
header: "下一步",
multiSelect: false,
options: [
{ label: "继续创作第二章", description: "没有特别需要完善的,直接创作下一章" },
{ label: "先休息一下", description: "今天先到这里,下次继续" }
],
question: "没有新的建议,您想继续创作还是休息?"
}
]
```
步骤 4.3:执行用户选择的建议
> ⚠️ 重要规则:必须具体实施建议,不能选择后没有对应动作!
执行规则:
| 建议类型 | 具体实施动作 | 文档位置 |
|----------|----------|----------|
| 设定完善 | 创建或更新详细设定文档 | .agents/documents/设定-XXX.md 或 大纲.md 对应章节 |
| 人物深化 | 创建人物详细档案文档 | .agents/documents/人物-XXX.md 或 大纲.md 人物档案部分 |
| 伏笔处理 | 更新伏笔清单,记录伏笔状态 | 大纲.md 伏笔清单部分 |
| 剧情调整 | 直接修改章节文件内容 | 第 X 章 - XXX.md |
| 节奏优化 | 更新下一章创作计划 | .agents/documents/第 X+1 章创作计划.md |
| Git提交 | 执行 Git 提交操作 | 项目根目录 |
Git 提交执行流程:
> ⚠️ 重要:只有用户选择"提交变更到 Git"选项后,才执行以下操作!
执行步骤:
git rev-parse --is-inside-work-tree
git status)
"完成第X章创作" 或 "完善XXX设定" 或 "补充XXX人物档案"
git add . 然后 git commit -m "提交信息"
git push 同步到远程仓库
git remote -v
```
questions: [
{
header: "远程仓库",
multiSelect: false,
options: [
{ label: "暂不添加", description: "本地仓库即可,以后再添加远程仓库" },
{ label: "添加远程仓库", description: "输入远程仓库地址(如 GitHub)" }
],
question: "当前没有远程仓库,是否要添加以便同步?"
}
]
```
git remote add origin <地址>,然后 git push -u origin main
Git 初始化执行流程(如果项目没有 Git):
> ⚠️ 此流程只在用户选择"提交变更到 Git"且项目没有 Git 仓库时执行!
git init
```
questions: [
{
header: "Git配置",
multiSelect: false,
options: [
{ label: "使用默认配置", description: "用户名: NovelWriter, 邮箱: novel@writer.local" },
{ label: "自定义配置", description: "输入您自己的 Git 用户名和邮箱" }
],
question: "项目需要初始化 Git 仓库,请选择配置方式:"
}
]
```
git config user.name "NovelWriter" 和 git config user.email "novel@writer.local"
```
# 临时文件
*.tmp
*.bak
# 系统文件
.DS_Store
Thumbs.db
# 编辑器文件
.vscode/
.idea/
```
git add . 然后 git commit -m "初始化小说项目"
```
questions: [
{
header: "远程仓库",
multiSelect: false,
options: [
{ label: "暂不添加", description: "本地仓库即可,以后再添加远程仓库" },
{ label: "添加远程仓库", description: "输入远程仓库地址(如 GitHub)" }
],
question: "是否要添加远程仓库以便同步?"
}
]
```
git remote add origin <地址>
git push -u origin main(或 master)
执行后必须操作:
base-memory.md 的"最近创作活动"中记录:
```markdown
### [2026-04-14 15:30] 完善德军部署设定
```
大纲.md 或 AGENTS.md 中添加引用链接
chapter-log.md 的创作记录
执行示例:
```
用户选择"完善德军部署设定" →
→ 创建 .agents/documents/设定-德军部署.md,详细记录德军在圣玛丽村的部署
→ 更新 大纲.md 的势力划分部分,添加链接引用
→ 更新 base-memory.md,记录操作和文档链接
→ 告知用户:"已完善德军部署设定,详见 设定-德军部署.md"
→ 再次分析,生成新建议,继续询问
```
| 用户选择 | 执行操作 | 执行后 |
|----------|----------|--------|
| 动态建议(如"完善设定") | 具体实施(创建/修改文档)+ 更新记忆系统 + 告知用户 | 再次分析,检查Git状态,生成新建议,继续询问 |
| 继续创作下一章 | 创建下一章创作计划,开始撰写 | 进入下一章创作流程 |
| 提交变更到 Git | 检查Git仓库状态 → 如无Git则初始化 → 执行提交 | 再次分析,检查Git状态,继续询问(不结束会话) |
| 先休息一下 | 结束当前会话,更新记忆系统 | 告知下次继续方式 |
步骤 4.4:循环询问流程
用户选择动态建议 → 执行建议 → 再次分析章节内容 → 检查Git状态 →
→ 如果有新建议:再次 AskUserQuestion 询问(根据Git状态决定是否显示Git选项)
→ 如果没有新建议:提供"继续创作下一章"、"先休息一下"选项(如有变更则加Git选项)
→ 用户选择"继续创作下一章":进入下一章创作
→ 用户选择"提交变更到 Git":执行 Git 操作 → 再次询问
→ 用户选择"先休息一下":结束会话
循环示例:
第一轮询问(Git状态:有变更):
- 完善德军部署设定
- 补充杰克背景故事
- 继续创作第二章
- 提交变更到 Git
- 先休息一下
用户选择"完善德军部署设定" → 执行(更新大纲) → 再次分析 → 检查Git状态
第二轮询问(Git状态:有变更):
- 德军设定已完善,但发现村庄地理需要补充
- 补充圣玛丽村地理设定
- 继续创作第二章
- 提交变更到 Git
- 先休息一下
用户选择"补充圣玛丽村地理设定" → 执行 → 再次分析 → 检查Git状态
第三轮询问(Git状态:有变更):
- 没有新的特别建议
- 继续创作第二章
- 提交变更到 Git
- 先休息一下
用户选择"提交变更到 Git" → 执行 Git 操作 → 再次分析 → 检查Git状态
第四轮询问(Git状态:无变更):
- 没有新的特别建议
- 继续创作第二章
- 先休息一下(Git已提交,不显示Git选项)
用户选择"继续创作第二章" → 创建第二章创作计划 → 开始创作
重要提醒:
计划文档模板:
# 第 X 章创作计划
## 一、章节基本信息
| 项目 | 内容 |
|------|------|
| 章节标题 | 第 X 章:XXX |
| 目标字数 | 2500-3000 字 |
| 叙事视角 | 第三人称限制视角 |
| 核心任务 | XXX |
## 二、章节结构规划
### 开篇(约 X 字)
...
### 中段(约 X 字)
...
### 结尾(约 X 字)
...
## 三、关键场景细节
...
## 四、人物出场
...
## 五、写作要点
...
## 六、质量检查清单
- [ ] 开头是否有吸引力?
- [ ] 是否有推进剧情?
...
## 七、下一步建议
### 剧情发展
- 方向 1:...
- 方向 2:...
### 人物发展
- ...
### 伏笔处理
- ...
本系统采用分层记忆架构,既能保持核心信息精简,又能完整存储所有历史:
.agents/memorys/
├── base-memory.md ← 核心记忆(当前状态 + 最近 6 条活动)
├── key-decisions.md ← 关键决策索引(永久保存)
├── chapter-log.md ← 章节创作日志(进度跟踪)
└── archive/ ← 月度归档目录
└── memory-YYYY-MM.md ← 每月完整历史记录
| 文件 | 用途 | 更新频率 | 保留策略 |
| --------------------------- | ------------- | ------ | ----------- |
| base-memory.md | 当前状态摘要 + 最近活动 | 每次创作 | 最近 6 条,超出归档 |
| key-decisions.md | 所有重大决策索引 | 有重大决策时 | 永久保存 |
| chapter-log.md | 章节进度跟踪 | 每章完成时 | 永久保存 |
| archive/memory-YYYY-MM.md | 月度完整历史 | 每次创作后 | 永久保存 |
每次创作前:
base-memory.md 了解当前状态和最近活动
chapter-log.md 确认章节进度
archive/ 目录
每次创作后:
base-memory.md:
chapter-log.md(如完成章节):
key-decisions.md(如有重大决策):
.agents/memorys/archive/memory-YYYY-MM.md 中记录本次创作活动详情
归档触发条件:
| 情况 | 操作 |
|------|------|
| base-memory.md 超过 6 条 | 将最旧的 1-2 条移入归档(删除或简化) |
| 完成重要创作(如章节) | 推荐在归档中记录详情(可选) |
| 执行重要建议(如设定完善) | 推荐在归档中记录详情(可选) |
| 月末 | 整理当月归档文件,确保格式统一 |
重要说明:
base-memory.md 最近活动格式(精简版):
### [YYYY-MM-DD HH:MM] <活动标题>
- **执行建议**:<简要描述>
- **创建文档**:[文档名.md](文件链接)
- **更新文档**:[文档名.md](文件链接)
- **要点**:
1. <核心要点 1>
2. <核心要点 2>
3. <核心要点 3>
说明:
YYYY-MM-DD HH:MM(包含时分)
archive 归档格式(完整版):
## [YYYY-MM-DD HH:MM] - <活动标题>
**创建/修改**: <详细描述创建或修改的文档>
- 创建 `.agents/documents/xxx.md` - 文档说明
- 更新 `大纲.md` - 更新内容说明
**关键内容**:
1. <关键内容 1>
2. <关键内容 2>
3. <关键内容 3>
**关键决策**(如有):
1. <决策 1>
2. <决策 2>
**上下文**:
<完整上下文描述,包括用户选择、执行原因等>
**下一步**:
<后续计划或建议>
---
说明:
YYYY-MM-DD HH:MM(包含时分)
base-memory.md 保持精简(最近 6 条),快速了解当前状态
key-decisions.md 永久保存重大决策
chapter-log.md 清晰展示创作进度
base-memory.md 管理:
archive 归档管理:
YYYY-MM-DD HH:MM
避免重复记录:
示例流程:
创作第五章 →
→ 更新 base-memory.md(添加"第五章创作完成",现在 7 条)
→ 超过 6 条,将最旧的 1 条(如"完善德军部署")移入归档
→ 在 archive/memory-2026-04.md 中添加第五章创作详情
→ 更新 chapter-log.md(添加第五章记录)
→ base-memory.md 保持 6 条,归档文件有完整历史
.agents/AGENTS.md 了解创作指南
.agents/memorys/base-memory.md 了解前情提要
大纲.md 了解情节和角色细节
project-root/
├── .agents/
│ ├── skills/
│ │ └── full-length-novel-writer/
│ │ └── SKILL.md ← 技能文档
│ ├── documents/
│ │ ├── 第 X 章创作计划.md ← 章节创作计划(每次创作前创建)
│ │ ├── 设定-XXX.md ← 详细设定文档(如:设定-德军部署.md)
│ │ ├── 人物-XXX.md ← 详细人物档案(如:人物-杰克·威尔逊.md)
│ │ └── 其他设定文档... ← 根据需要创建
│ ├── memorys/
│ │ ├── base-memory.md ← 核心记忆(当前状态 + 最近活动)
│ │ ├── key-decisions.md ← 关键决策索引(永久保存)
│ │ ├── chapter-log.md ← 章节创作日志(进度跟踪)
│ │ └── archive/
│ │ └── memory-YYYY-MM.md ← 月度归档(完整历史记录)
│ └── AGENTS.md ← 项目灵魂文档(创作理念、风格指南)
├── 大纲.md ← 小说大纲(故事结构、人物档案、世界观)
├── 第 X 章 - 章节名.md ← 章节正文文件
└── 其他章节文件...
| 文件/目录 | 用途 | 更新频率 |
|-----------|------|----------|
| SKILL.md | 技能文档,定义创作流程和规则 | 创建时/修正时 |
| AGENTS.md | 项目灵魂文档,创作理念和风格指南 | 项目初始化/重大调整时 |
| 大纲.md | 小说大纲,故事结构、人物、世界观 | 项目初始化/设定完善时 |
| documents/第 X 章创作计划.md | 章节创作计划,结构规划、关键场景 | 每次创作章节前 |
| documents/设定-XXX.md | 详细设定文档,势力、地点、物品等 | 执行建议时 |
| documents/人物-XXX.md | 详细人物档案,背景、性格、作用 | 执行建议时 |
| memorys/base-memory.md | 核心记忆,当前状态和最近活动 | 每次创作/执行建议后 |
| memorys/key-decisions.md | 关键决策索引,重大创作决策 | 有重大决策时 |
| memorys/chapter-log.md | 章节创作日志,进度跟踪 | 每章完成时 |
| memorys/archive/memory-YYYY-MM.md | 月度归档,完整历史记录 | 每次创作/执行建议后 |
| 第 X 章 - 章节名.md | 章节正文 | 每次创作章节时 |
所有设定文档和人物档案应:
大纲.md 对应部分添加引用链接
base-memory.md 的"已创建设定文档"部分记录
共 5 个版本