diff --git a/README.md b/README.md
index dfc025b..d02a20e 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-
+
# 🎭 chinese-novelist skill
### 让 AI 为你写一部完整的中文小说
@@ -7,8 +7,7 @@
[](https://claude.com/claude-code)
[](LICENSE)
-一个专为 Claude Code 设计的中文小说创作助手。10-20 章的中篇小说,几十分钟内完成初稿。
-
+
---
## ✨ 为什么用这个?
@@ -23,20 +22,89 @@
## 🚀 快速开始
```
-使用 chinese-novelist 帮我写一部关于[校园恐怖悬疑]小说,大约[20]章
+使用 chinese-novelist 帮我写一部小说
```
-然后只需回答 5 个问题:
+### 三阶段创作流程
+
+**第一阶段:5 问逐一确认**
+
+AI 会逐一询问,你用上下箭头选择:
```
-📝 题材?悬疑推理 / 现代言情 / 古代言情 / 奇幻玄幻 / 科幻未来 ...
-📝 主角?男性 / 女性 / 双主角 / 群像
-📝 性格?热血正义 / 冷静智慧 / 温暖治愈 / 高冷孤傲 ...
-📝 冲突?生死存亡 / 查明真相 / 爱情阻碍 / 复仇雪恨 ...
-📝 几章?10章 / 15章 / 20章 / 自定义
+📝 问题 1/5:你想要创作什么题材的小说?
+ □ 悬疑推理(侦探、破案、解谜)
+ □ 现代言情(都市、职场、恋爱)
+ □ 古代言情(宫廷、江湖、穿越)
+ □ 奇幻玄幻(魔法、异世界、修真)
+ □ 科幻未来(科技、太空、末世)
+ □ 武侠仙侠(江湖、门派、飞升)
+ □ 历史架空(朝堂、战争、权谋)
+ □ 都市现实(生活、成长、社会)
+
+📝 问题 2/5:主角是什么设定?
+ □ 男性主角(独角戏)
+ □ 女性主角(独角戏)
+ □ 双主角(男女双线)
+ □ 群像戏(多线叙事)
+
+📝 问题 3/5:主角的核心性格是?
+ □ 热血正义(积极、勇敢、有担当)
+ □ 冷静智慧(理性、谋略、高智商)
+ □ 温暖治愈(善良、温柔、有同理心)
+ □ 高冷孤傲(冷漠、独立、强大)
+ □ 阴暗腹黑(心机、算计、复仇)
+ □ 成长逆袭(从弱到强、打脸升级)
+
+📝 问题 4/5:小说的核心冲突是什么?
+ □ 生死存亡 / 查明真相 / 爱情阻碍
+ □ 复仇雪恨 / 权力争夺 / 成长突破 / 守护保护
+
+📝 问题 5/5:你计划创作多少章?
+ □ 10章(3-5万字)
+ □ 15章(4.5-7.5万字)
+ □ 20章(6-10万字)
+ □ 30章(9-15万字)
+ □ 50章(15-25万字)
+ □ 自定义
```
-确认后,AI 进入**疯狂创作模式**,一章接一章地写下去。
+**第二阶段:规划展示 + 二次确认**
+
+AI 自动生成完整大纲和人物档案,展示给你确认:
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+规划完成!请确认以下内容:
+
+基本信息
+ 题材:悬疑推理
+ 主角:男性主角(侦探)
+ 核心冲突:查明真相
+ 章节数:20章
+
+章节规划
+ 第1章:午夜凶铃 - 主角接到神秘电话
+ 第2章:第一具尸体 - 发现密室杀人案
+ 第3章:消失的证据 - 线索被人篡改
+ ...
+
+主要角色
+ 主角:李明 - 资深刑警,冷静智慧
+ 反派:张华 - 高智商罪犯
+ 关键配角:王芳 - 法医专家
+
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+回复"确认"或"开始" → 立即进入疯狂创作模式
+提出修改意见 → 调整后重新确认
+```
+
+**第三阶段:疯狂创作**
+
+确认后,AI 进入**疯狂创作模式**,一章接一章地写下去,无需再次确认。
+
+你可以离开工作台,等待完成。
---
@@ -79,19 +147,63 @@ novels/
## 📸 效果展示
-### 第一步:写作计划确认
+### 第一步:5 问逐一确认
-
+AI 逐一询问问题,你用上下箭头选择选项:
-### 第二步:疯狂创作,等待全稿完成
+```
+📝 问题 1/5:你想要创作什么题材的小说?
+ ○ 悬疑推理(侦探、破案、解谜)
+ ○ 现代言情(都市、职场、恋爱)
+ ○ 古代言情(宫廷、江湖、穿越)
+ ● 奇幻玄幻(魔法、异世界、修真) ← 你选择这个
+ ...
+```
+
+### 第二步:查看规划并确认
+
+AI 生成完整大纲和人物档案后,展示给你确认:
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+规划完成!请确认以下内容:
+
+基本信息
+ 题材:奇幻玄幻
+ 主角:女性主角(修真者)
+ 核心冲突:成长突破
+ 章节数:30章
+
+章节规划(前 5 章)
+ 第1章:天降异象 - 灵根觉醒仪式
+ 第2章:拜入仙门 - 踏入修真界
+ 第3章:初次试炼 - 迷幻森林试炼
+ 第4章:遭遇强敌 - 面对宗门刁难
+ 第5章:突破瓶颈 - 顿悟筑基期
+ ...
+
+主要角色
+ 主角:林雨 - 天灵根,坚韧不拔
+ 反派:赵天 - 嫉妒主角天赋
+ 关键配角:白师姐 - 宗门导师
+
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+回复"确认"或"开始" → 立即进入疯狂创作模式
+```
+
+### 第三步:疯狂创作,等待全稿完成
确认后立即进入创作模式,AI 一章接一章地输出:
-
+```
+✅ 第1章完成(3247字)
+✅ 第2章完成(3582字)
+✅ 第3章完成(3412字)
+...
+```
-
-
-几十分钟后,一部完整的 20 章小说初稿就完成了。
+几十分钟后,一部完整的 30 章小说初稿就完成了。你可以离开工作台,等待完成。
---
@@ -100,11 +212,16 @@ novels/
| 文件 | 内容 |
|------|------|
| `chapter-guide.md` | 章节结构设计指南(含 10 种强力开头技巧) |
-| `hook-techniques.md` | 悬念设置技巧(18 种结尾钩子类型) |
+| `hook-techniques.md` | 悬念设置技巧(10 种结尾钩子类型) |
| `character-building.md` | 人物塑造方法 |
| `dialogue-writing.md` | 对话写作规范 |
| `quality-checklist.md` | 质量检查清单(交付前自查) |
| `plot-structures.md` | 情节结构模板 |
+| `consistency.md` | 连贯性保证机制(人物、情节、节奏) |
+| `content-expansion.md` | 内容扩充技巧(7 种自然扩充方法) |
+| `outline-template.md` | 大纲模板(章节规划、悬念线) |
+| `character-template.md` | 人物档案模板 |
+| `chapter-template.md` | 章节文件模板 |
---
diff --git a/SKILL.md b/SKILL.md
index 98afb75..cf0700e 100644
--- a/SKILL.md
+++ b/SKILL.md
@@ -1,192 +1,175 @@
---
name: chinese-novelist
description: |
- 长时间创作指定主题的极其吸引人的中文短篇小说。支持分章节创作,每章均有引人入胜的故事剧情,章节之间有关联有钩子。
- 用于:创作短篇小说系列、分章节连续故事、悬疑/奇幻/言情/科幻等各类题材小说。
- 当用户要求:写小说、创作故事、分章节写作、连续剧情、章节悬念、长篇故事时使用。
+ 分章节创作引人入胜的中文小说。支持各种题材(悬疑/言情/奇幻/科幻/历史等),支持10-50章长篇创作,每章3000-5000字,结尾设置悬念钩子。强调深度润色去除AI痕迹,确保文字自然流畅。
+ 当用户要求:写小说、创作故事、分章节写作、连续剧情、章节悬念、长篇小说时使用。
metadata:
- trigger: 创作中文小说、分章节故事
+ trigger: 创作中文小说、分章节故事、长篇小说创作
source: 基于小说创作最佳实践设计
---
# Chinese Novelist: 中文小说创作助手
-分章节创作引人入胜的中文短篇小说,每章结尾设置悬念钩子。
+## 核心流程
-## 核心创作流程
+### 第一阶段:5问确认
-### 前置阶段:创作规划(5问确认后疯狂创作)
-
-**快速确认5个核心问题后,立即进入疯狂创作模式:**
+**使用 AskUserQuestion 工具逐一询问用户,每个问题提供选项供用户选择。**
---
-#### 📝 问题 1:题材与风格
+**问题1:题材与风格**
-**A. 悬疑推理**(紧张刺激)
-**B. 现代言情**(甜宠/虐恋)
-**C. 古代言情**(宫廷/江湖)
-**D. 奇幻玄幻**(修仙/魔法)
-**E. 科幻未来**(星际/赛博)
-**F. 武侠仙侠**(江湖/修仙)
-**G. 历史架空**(权谋/战争)
-**H. 都市现实**(职场/商战)
+```
+Question: 你想要创作什么题材的小说?
+Options:
+- 悬疑推理(侦探、破案、解谜)
+- 现代言情(都市、职场、恋爱)
+- 古代言情(宫廷、江湖、穿越)
+- 奇幻玄幻(魔法、异世界、修真)
+- 科幻未来(科技、太空、末世)
+- 武侠仙侠(江湖、门派、飞升)
+- 历史架空(朝堂、战争、权谋)
+- 都市现实(生活、成长、社会)
+```
-> 选择 A-H,或自定义:
+用户选择后记录:`题材 = [用户选择]`
---
-#### 📝 问题 2:主角设定
+**问题2:主角设定**
-**A. 男性**(学生/侦探/医生/商人/官员/修仙者...)
-**B. 女性**(学生/明星/医生/公主/修仙者...)
-**C. 双主角**(一男一女,恋人/搭档/对手)
-**D. 群像**(3-5人轮流视角)
+```
+Question: 主角是什么设定?
+Options:
+- 男性主角(独角戏)
+- 女性主角(独角戏)
+- 双主角(男女双线)
+- 群像戏(多线叙事)
+```
-> 选择 A-D,并说明职业/身份:
+用户选择后,如需进一步询问职业/身份,继续追问。
+
+记录:`主角 = [用户选择]` + `职业/身份 = [用户回答]`
---
-#### 📝 问题 3:主角性格
+**问题3:主角性格**
-**A. 热血正义**(嫉恶如仇、勇往直前)
-**B. 冷静智慧**(理性分析、布局谋划)
-**C. 温暖治愈**(善良温和、乐于助人)
-**D. 高冷孤傲**(独来独往、外冷内热)
-**E. 阴暗腹黑**(心思深沉、亦正亦邪)
-**F. 成长逆袭**(从弱小到强大)
+```
+Question: 主角的核心性格是?
+Options:
+- 热血正义(积极、勇敢、有担当)
+- 冷静智慧(理性、谋略、高智商)
+- 温暖治愈(善良、温柔、有同理心)
+- 高冷孤傲(冷漠、独立、强大)
+- 阴暗腹黑(心机、算计、复仇)
+- 成长逆袭(从弱到强、打脸升级)
+```
-> 选择 A-F,或自定义:
+记录:`性格 = [用户选择]`
---
-#### 📝 问题 4:核心冲突
+**问题4:核心冲突**
-**A. 生死存亡**(需要活下去)
-**B. 查明真相**(揭开谜团)
-**C. 爱情阻碍**(克服阻碍在一起)
-**D. 复仇雪恨**(踏上复仇路)
-**E. 权力争夺**(各方博弈)
-**F. 成长突破**(突破自我)
-**G. 守护保护**(守护某人/物)
+```
+Question: 小说的核心冲突是什么?
+Options:
+- 生死存亡(生存危机、逃出生天)
+- 查明真相(寻找答案、揭露秘密)
+- 爱情阻碍(追求真爱、克服阻碍)
+- 复仇雪恨(复仇计划、伸张正义)
+- 权力争夺(竞争上位、资源争夺)
+- 成长突破(自我突破、实现价值)
+- 守护保护(守护重要的人或事)
+```
-> 选择 A-G,或自定义:
+记录:`核心冲突 = [用户选择]`
---
-#### 📝 问题 5:章节数量
+**问题5:章节数量**
-**A. 10章**(短篇,约3万字)
-**B. 15章**(中短篇,约5万字)
-**C. 20章**(中篇,约8万字)【推荐】
-**D. 自定义**
+```
+Question: 你计划创作多少章?
+Options:
+- 10章(短篇,约3-5万字)
+- 15章(中短篇,约4.5-7.5万字)
+- 20章(中篇,约6-10万字)
+- 30章(中长篇,约9-15万字)
+- 50章(长篇,约15-25万字)
+- 自定义(输入具体章节数)
+```
-> 选择 A-D:
+记录:`章节数 = [用户选择]`
---
-#### ✅ 规划锁定,立即开写
-
-收集完5个问题后,**直接进入创作流程**,无需再次确认。
-
-生成完整规划并说明:
-
-> **✅ 规划完成,开启疯狂创作模式!**
->
-> 题材:[XXX] | 主角:[XXX] | 冲突:[XXX] | 章节数:[X]章
-> 立即开始创作第1章...
-
-此后直接进入"零阶段:项目设置",开始疯狂创作。
+**5问收集完成后**然后进入"第二阶段:规划"。
---
-### 零阶段:项目设置
+### 第二阶段:规划 + 二次确认
-**每次创作新建项目文件夹,每章一个独立 md 文件。**
+执行以下步骤:
-1. **创建项目文件夹**
- ```
- novels/
- └── [小说名称]/
- ├── 00-大纲.md
- ├── 01-人物档案.md
- ├── 第01章-[章节标题].md
- ├── 第02章-[章节标题].md
- └── ...
- ```
+1. **创建项目文件夹**:`novels/[小说名称]/`
+2. **生成大纲**:创建 `00-大纲.md`,使用 `references/outline-template.md` 模板,填入完整的章节规划
+3. **生成人物档案**:创建 `01-人物档案.md`,使用 `references/character-template.md` 模板,创建主角、反派、配角档案
-2. **创建基础文件**
- - `00-大纲.md` - 故事概述、章节大纲、悬念规划
- - `01-人物档案.md` - 所有主要角色的详细档案
+完成后,向用户展示规划摘要并请求确认,等待用户确认。用户同意后,进入"第三阶段:疯狂创作"。
-3. **章节命名规范**
- - 格式:`第XX章-[章节标题].md`(XX 为两位数字)
- - 示例:`第01章-深夜敲门.md`、`第02章-消失的客人.md`
+---
-### 第一阶段:规划
+### 第三阶段:疯狂创作
-1. **确定核心要素**
- - 主题/题材(悬疑、奇幻、言情、科幻、历史等)
- - 核心冲突(主角想要什么?什么阻止了他?)
- - 预计章节数(建议 10-20 章中篇小说,最低不少于 8 章)
+**重要:全程无需再次向用户确认,必须逐一章创作**
-2. **创建人物档案**
- - 主角:姓名、年龄、外貌、性格、动机、缺陷
- - 反派/对手:与主角的冲突点
- - 配角:推动剧情的关键人物
+按顺序逐章创作,每章执行完整的创作流程(见下方"逐章创作"),完成一章后自动继续下一章,直到所有章节完成。
-3. **规划章节大纲**
- - 每章核心事件
- - 章节间的情节递进关系
- - 每章结尾的悬念点
+---
-### 第二阶段:逐章创作
+## 疯狂创作——逐章创作流程
-对每一章:
+每章创作时严格执行以下步骤:
-**【写前准备】**
+#### 1. 写前分析
-1. **读取 00-大纲.md** - 查看当前 TODO list,确认本章任务
-2. **读取章节摘要** - 查看所有已完成章节的摘要,确保连贯性
-3. **读取上一章** - 读取上一章文件,了解当前悬念
-4. **更新 TODO list** - 将当前本章标记为"进行中"
-5. **设置本章目标** - 本章要推进什么剧情?揭示什么信息?
-6. **设计开头钩子** - **最关键步骤**:前 20% 必须有即时冲突/重大转折/行动场景
-7. **规划场景** - 确定本章需要 3-5 个场景以确保足够长度
+1. 读取 `00-大纲.md` - 查看TODO list和已完成章节的摘要
+2. 读取 `00-大纲.md` 中上一章的摘要
+3. 更新`00-大纲.md` 中 TODO list - 将本章标记为"进行中"
+4. 设计开头钩子 - **最关键**:前20%必须有即时冲突 → [chapter-guide.md](references/chapter-guide.md)(10种开头技巧)
+5. 规划场景 - 确定本章需要3-5个场景
-**【撰写正文】**
+#### 2. 撰写
-8. **创建章节文件** - 使用 Write 工具创建新章节 md 文件
-9. **撰写正文** - 遵循章节写作指南(见 [chapter-guide.md](references/chapter-guide.md))
- - **开头检查**:前 20% 是否极其吸引人?如果不是,重写
- - **字数要求**:每章 3000-5000 字,最低 2500 字
- - 如果字数不足,使用内容扩充技巧
-10. **设置结尾钩子** - 使用悬念技巧(见 [hook-techniques.md](references/hook-techniques.md))
-11. **质量检查** - 对照检查清单(见 [quality-checklist.md](references/quality-checklist.md))
+6. 创建章节文件 - 使用`references/chapter-template.md` 模板
+7. 撰写正文 - **每章必须达到3000-5000字**
+ - 开头检查:前20%是否极其吸引人?
+ - 对话规范 → [dialogue-writing.md](references/dialogue-writing.md)
+ - 内容不足?使用 [content-expansion.md](references/content-expansion.md) 扩充技巧
+8. 设置结尾钩子 → [hook-techniques.md](references/hook-techniques.md)(10种钩子类型)
+9. **字数检查** - 必须使用脚本检查字数:`python scripts/check_chapter_wordcount.py <章节文件路径>` 低于3000字必须使用扩充技巧重写
-**【写后收尾】**
+#### 3. 撰写后优化
-12. **生成章节摘要** - 在章节文件末尾添加摘要(300-500字)
-13. **追加摘要到大纲** - 将本章摘要追加到 `00-大纲.md` 的"章节摘要"区域
-14. **更新大纲状态** - 在 `00-大纲.md` 中标记本章已完成、记录实际字数
-15. **更新 TODO list** - 将当前本章标记为"已完成",下一章标记为"进行中"
+10. 连贯性检查 → [consistency.md](references/consistency.md) - 人物一致性、情节连贯、节奏控制
+11. **深度润色(去除AI味)** - 重点检查并修改:
+ - **去除过度修饰的形容词**:删减"璀璨"、"瑰丽"、"绚烂"等AI常用词堆砌
+ - **减少抽象陈述**:把"心中涌起复杂的情感"改为具体动作/对话
+ - **打破四字格律**:避免"心潮澎湃、热血沸腾"等陈词滥调
+ - **增加口语化表达**:人物对话要有个性,避免"书面语套话"
+ - **优化节奏感**:长句和短句交替,避免句式单调
+ - **细节具象化**:用具体的视觉/听觉/嗅觉细节替代笼统描述
+12. **字数检查** - 必须使用脚本检查字数:`python scripts/check_chapter_wordcount.py <章节文件路径>` 低于3000字必须使用扩充技巧重写
-### 第三阶段:连贯性检查
+#### 4. 最后收尾
-1. **人物一致性** - 人物行为符合其性格设定
-2. **情节连贯** - 前后伏笔有呼应,逻辑闭环
-3. **节奏控制** - 高潮低谷分布合理
+13. 生成章节摘要 - 在 `00-大纲.md` 添加摘要(300-500字)
+14. 更新状态 - `00-大纲.md` 中 TODO list - 将本章标记为"完成"
-## 快速参考
-
-| 任务 | 参考文件 |
-|------|----------|
-| 章节结构设计 | [chapter-guide.md](references/chapter-guide.md) |
-| 悬念设置技巧 | [hook-techniques.md](references/hook-techniques.md) |
-| 人物塑造方法 | [character-building.md](references/character-building.md) |
-| 对话写作规范 | [dialogue-writing.md](references/dialogue-writing.md) |
-| 质量检查清单 | [quality-checklist.md](references/quality-checklist.md) |
-| 情节结构模板 | [plot-structures.md](references/plot-structures.md) |
+---
## 三大黄金法则
@@ -194,251 +177,19 @@ metadata:
2. **冲突驱动剧情** - 每章必须有冲突或转折
3. **悬念承上启下** - 每章结尾必须留下钩子
-## 第四法则:开头即高潮
+### 字数检查脚本
-**章节前 20% 必须极其吸引人,否则读者会放弃。**
+使用 `scripts/check_chapter_wordcount.py` 检查章节字数:
-每章开头的首要任务是**立即抓住读者**。读者只有几秒钟的耐心。
-
-### 前;20% 必须包含
-
-1. **即时冲突** - 立即呈现问题/危机/紧张
-2. **重大信息** - 揭示关键线索或转折
-3. **情感冲击** - 让读者产生强烈情绪反应
-4. **行动场景** - 从动作/追逐/对抗中开始
-
-### 开头禁忌(绝对避免)
-
-- ❌ 天气描写("那天天气晴朗...")
-- ❌ 主角起床/洗漱/吃早餐
-- ❌ 回顾上章内容(读者已经知道)
-- ❌ 缓慢的场景铺垫
-- ❌ 大段背景说明
-- ❌ 平淡的日常对话
-
-### 开头黄金公式
-
-```
-前 20% = 即时冲突 + 重大转折 + 行动开始
-```
-
-示例:
-```
-错误:李明醒来,阳光照进房间。他想起昨天收到的那封信...
-正确:信封上的血迹还没干。李明盯着那个熟悉的签名,手指在颤抖...
-```
-
-## 内容扩充技巧
-
-当章节内容不足时,使用以下技巧自然扩充:
-
-### 1. 场景细节描写
-不要只说"他走进房间",描写:
-- 房间的布局、光线、气味
-- 物品的细节和质感
-- 环境对人物的影响
-- 人物在空间中的移动
-
-### 2. 人物内心活动
-展示而非讲述内心世界:
-- 角色的犹豫和纠结
-- 过去记忆的闪回(1-2 段)
-- 对未来的担忧和期待
-- 道德选择的内心辩论
-
-### 3. 对话扩展
-不要只推进剧情,让对话:
-- 展现人物性格和说话方式
-- 包含潜台词和暗示
-- 有来回交锋和试探
-- 偶尔跑题再拉回(更真实)
-
-### 4. 感官体验
-调动五感描写:
-- 视觉:颜色、光影、形状
-- 听觉:声音、音乐、沉默
-- 触觉:温度、质感、疼痛
-- 嗅觉:气味、香味、腐臭
-- 味觉:食物、饮料、血腥味
-
-### 5. 次要情节线
-在主剧情中穿插:
-- 配角的小故事
-- 暗线的发展
-- 伏笔的埋设
-- 人物关系的微妙变化
-
-### 6. 节奏放慢
-关键时刻慢下来描写:
-- 动作场景的分解
-- 情感转变的过程
-- 发现真相的时刻
-- 紧张对峙的延展
-
-### 7. 环境烘托
-用环境反映情绪:
-- 天气和氛围
-- 社会环境背景
-- 文化习俗细节
-- 时代特征展现
-
-### 扩充原则
-- **自然融入** - 扩充内容要服务于故事,不要注水
-- **保持张力** - 即使扩充场景也不能失去冲突
-- **推进主线** - 所有扩充最终都要指向核心剧情
-
-## 章节长度建议
-
-**最低要求**:每章不低于 2500 字
-
-**推荐长度**:
-- **中篇小说**:每章 3000-5000 字(10-20 章,总计 3-10 万字)
-- **长篇小说**:每章 4000-6000 字(20+ 章,总计 10 万字以上)
-
-**重要**:宁可少一章,也不要章节过短。如果某章内容不足,考虑:
-- 增加场景细节描写
-- 扩展人物内心活动
-- 添加对话互动
-- 深化次要情节线
-
-## 输出格式
-
-### 章节文件模板
-
-每个章节 md 文件格式:
-
-```markdown
-# 第[X]章:[章节标题]
-
-## 本章概要
-- **核心事件**:[一句话概括本章发生的事]
-- **承接上章**:[回应上一章的悬念]
-- **悬念钩子**:[本章结尾的钩子]
-
----
-
-## 正文
-
-[章节正文内容 3000-5000 字,最低不低于 2500 字]
-
-...
-
----
-
-## 章节备注
-本章悬念:[简述结尾钩子]
-下章预告:[可选,1-2 句话]
-伏笔标记:[如果埋下伏笔,在此记录]
-
-```
-
-### 大纲文件模板 (00-大纲.md)
-
-```markdown
-# [小说名称] 大纲
-
-## 基本信息
-- **题材**:[悬疑/奇幻/言情/科幻等]
-- **预计章节数**:[10-20] 章
-- **目标字数**:每章 3000-5000 字,总计 [X] 万字
-- **核心冲突**:[主角想要什么?什么阻止了他?]
-
-## TODO List
-
-### 待创作
-- [ ] 第[X]章:[章节标题] - [核心事件]
-
-### 进行中
-- [ ] 第[X]章:[章节标题] - [核心事件]
-
-### 已完成
-- [x] 第[X]章:[章节标题] - [核心事件]([字数]字)
-- [x] 第[X]章:[章节标题] - [核心事件]([字数]字)
-...
-
-## 章节规划
-
-| 章节 | 标题 | 核心事件 | 悬念钩子 | 字数 | 状态 |
-|-----|------|---------|---------|------|------|
-| 第1章 | | | | | 待创作 |
-| 第2章 | | | | | 待创作 |
-| ... | | | | | |
-
-## 全书悬念线
-- **主线悬念**:[核心谜题]
-- **支线悬念**:[其他悬念]
-- **终极揭秘**:[最终答案]
-
-## 字数统计
-- 已完成章节数:[0] 章
-- 累计字数:[0] 字
-- 完成进度:[0]%
-
----
-
-## 章节摘要
-
-### 第[X]章:[章节标题]
-**摘要**:[300-500字概括本章核心内容、重要情节、人物变化、悬念揭示等]
-
----
-
-(后续章节摘要依次追加)
-```
-
-### 人物档案模板 (01-人物档案.md)
-
-```markdown
-# 人物档案
-
-## 主角
-### [角色姓名]
-- **年龄/职业**:
-- **外貌特征**:
-- **性格核心**:
-- **核心价值观**:
-- **最大恐惧**:
-- **致命缺陷**:
-- **内心渴望**:
-- **背景故事**:
-
-## 反派
-### [角色姓名]
-- [同主角格式]
-
-## 配角
-### [角色姓名]
-- [简化格式]
-```
-
----
-
-## 文件操作命令
-
-**创建新项目时:**
```bash
-mkdir -p novels/[小说名称]
+# 检查单个章节
+python scripts/check_chapter_wordcount.py novels/小说名/第01章.md
+
+# 检查所有章节
+python scripts/check_chapter_wordcount.py --all novels/小说名/
+
+# 自定义最小字数
+python scripts/check_chapter_wordcount.py novels/小说名/第01章.md 3500
```
-**创建章节文件:**
-使用 Write 工具,路径格式:`novels/[小说名称]/第XX章-[标题].md`
-
-**写前必读:**
-- 使用 Read 工具读取 `00-大纲.md` - 查看 TODO list 和章节摘要
-- 使用 Read 工具读取上一章文件 - 了解当前悬念
-
-**写后必做:**
-- 在章节文件末尾添加摘要(300-500字)
-- 将摘要追加到 `00-大纲.md` 的"章节摘要"区域
-- 更新 `00-大纲.md` 中的 TODO list 和状态
-
----
-
-## 连贯性保证机制
-
-为确保长时间创作的故事连贯性:
-
-1. **写前阅读摘要** - 每次开始写新章节前,必须阅读 `00-大纲.md` 中所有已完成章节的摘要
-2. **穿针引线** - 在新章节中呼应前文埋下的伏笔和线索
-3. **人物状态跟踪** - 注意人物在各章节中的变化和成长
-4. **悬念线延续** - 确保主线悬念逐步推进,不要遗忘
+低于3000字的章节必须使用 [content-expansion.md](references/content-expansion.md) 的扩充技巧进行扩充。
diff --git a/references/chapter-template.md b/references/chapter-template.md
new file mode 100644
index 0000000..9e35e5e
--- /dev/null
+++ b/references/chapter-template.md
@@ -0,0 +1,19 @@
+# 第[X]章:[章节标题]
+
+## 本章概要
+- **核心事件**:[一句话概括本章发生的事]
+- **承接上章**:[回应上一章的悬念]
+- **悬念钩子**:[本章结尾的钩子]
+
+---
+
+## 正文
+
+[章节正文内容 3000-5000 字,最低不低于 2500 字]
+
+---
+
+## 章节备注
+- 本章悬念:[简述结尾钩子]
+- 下章预告:[可选,1-2句话]
+- 伏笔标记:[如果埋下伏笔,在此记录]
diff --git a/references/character-template.md b/references/character-template.md
new file mode 100644
index 0000000..62ac37c
--- /dev/null
+++ b/references/character-template.md
@@ -0,0 +1,30 @@
+# 人物档案
+
+## 主角
+
+### [角色一姓名]
+- **年龄/职业**:
+- **外貌特征**:
+- **性格核心**:
+- **核心价值观**:
+- **最大恐惧**:
+- **致命缺陷**:
+- **内心渴望**:
+- **背景故事**:
+- **MBTI:**
+
+### [角色二姓名]
+
+......
+
+
+
+## 反派
+
+### [角色姓名]
+- [同主角格式]
+
+## 配角
+
+### [角色姓名]
+- [简化格式]
diff --git a/references/consistency.md b/references/consistency.md
new file mode 100644
index 0000000..24072fc
--- /dev/null
+++ b/references/consistency.md
@@ -0,0 +1,40 @@
+# 连贯性保证机制
+
+为确保长时间创作的故事连贯性:
+
+## 写前必读
+
+每次开始写新章节前:
+1. 阅读 `00-大纲.md` 中所有已完成章节的摘要
+2. 读取上一章文件,了解当前悬念
+3. 检查人物状态(位置、情绪、关系)
+
+## 穿针引线
+
+在新章节中:
+- 呼应前文埋下的伏笔和线索
+- 提及之前发生的事件(自然融入)
+- 让人物行为与之前保持一致
+
+## 人物状态跟踪
+
+注意人物在各章节中的变化和成长:
+- 位置变化(人在哪里)
+- 情绪状态(当前心情)
+- 关系变化(与其他角色关系)
+- 能力变化(获得新技能/信息)
+
+## 悬念线延续
+
+确保主线悬念逐步推进:
+- 每章至少回应一个旧悬念
+- 提出新悬念或升级现有悬念
+- 不要遗忘任何未解的悬念
+
+## 一致性检查清单
+
+- [ ] 人物行为符合其性格设定
+- [ ] 前后伏笔有呼应,逻辑闭环
+- [ ] 高潮低谷分布合理,节奏恰当
+- [ ] 时间线连贯(没有时间跳跃错误)
+- [ ] 场景转换自然(没有凭空出现)
diff --git a/references/content-expansion.md b/references/content-expansion.md
new file mode 100644
index 0000000..d2ec2a5
--- /dev/null
+++ b/references/content-expansion.md
@@ -0,0 +1,66 @@
+# 内容扩充技巧
+
+当章节内容不足时,使用以下技巧自然扩充。
+
+## 1. 场景细节描写
+
+不要只说"他走进房间",描写:
+- 房间的布局、光线、气味
+- 物品的细节和质感
+- 环境对人物的影响
+- 人物在空间中的移动
+
+## 2. 人物内心活动
+
+展示而非讲述内心世界:
+- 角色的犹豫和纠结
+- 过去记忆的闪回(1-2段)
+- 对未来的担忧和期待
+- 道德选择的内心辩论
+
+## 3. 对话扩展
+
+不要只推进剧情,让对话:
+- 展现人物性格和说话方式
+- 包含潜台词和暗示
+- 有来回交锋和试探
+- 偶尔跑题再拉回(更真实)
+
+## 4. 感官体验
+
+调动五感描写:
+- 视觉:颜色、光影、形状
+- 听觉:声音、音乐、沉默
+- 触觉:温度、质感、疼痛
+- 嗅觉:气味、香味、腐臭
+- 味觉:食物、饮料、血腥味
+
+## 5. 次要情节线
+
+在主剧情中穿插:
+- 配角的小故事
+- 暗线的发展
+- 伏笔的埋设
+- 人物关系的微妙变化
+
+## 6. 节奏放慢
+
+关键时刻慢下来描写:
+- 动作场景的分解
+- 情感转变的过程
+- 发现真相的时刻
+- 紧张对峙的延展
+
+## 7. 环境烘托
+
+用环境反映情绪:
+- 天气和氛围
+- 社会环境背景
+- 文化习俗细节
+- 时代特征展现
+
+## 扩充原则
+
+- **自然融入** - 扩充内容要服务于故事,不要注水
+- **保持张力** - 即使扩充场景也不能失去冲突
+- **推进主线** - 所有扩充最终都要指向核心剧情
diff --git a/references/outline-template.md b/references/outline-template.md
new file mode 100644
index 0000000..9465a72
--- /dev/null
+++ b/references/outline-template.md
@@ -0,0 +1,47 @@
+# [小说名称] 大纲
+
+## 基本信息
+- **题材**:[悬疑/奇幻/言情/科幻等]
+- **预计章节数**:[10-20] 章
+- **目标字数**:每章 3000-5000 字,总计 [X] 万字
+- **核心冲突**:[主角想要什么?什么阻止了他?]
+
+## TODO List
+
+### 待创作
+- [ ] 第[X]章:[章节标题] - [核心事件]
+
+### 进行中
+- [ ] 第[X]章:[章节标题] - [核心事件]
+
+### 已完成
+- [x] 第[X]章:[章节标题] - [核心事件]([字数]字)
+- [x] 第[X]章:[章节标题] - [核心事件]([字数]字)
+
+## 章节规划
+
+| 章节 | 标题 | 核心事件 | 悬念钩子 | 字数 | 状态 |
+|-----|------|---------|---------|------|------|
+| 第1章 | | | | | 待创作 |
+| 第2章 | | | | | 待创作 |
+
+## 全书悬念线
+- **主线悬念**:[核心谜题]
+- **支线悬念**:[其他悬念]
+- **终极揭秘**:[最终答案]
+
+## 字数统计
+- 已完成章节数:[0] 章
+- 累计字数:[0] 字
+- 完成进度:[0]%
+
+---
+
+## 章节摘要
+
+### 第[X]章:[章节标题]
+**摘要**:[300-500字概括本章核心内容、重要情节、人物变化、悬念揭示等]
+
+---
+
+(后续章节摘要依次追加)
diff --git a/scripts/check_chapter_wordcount.py b/scripts/check_chapter_wordcount.py
new file mode 100644
index 0000000..c176759
--- /dev/null
+++ b/scripts/check_chapter_wordcount.py
@@ -0,0 +1,178 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+章节字数检查脚本
+检查指定章节文件的字数,低于3000字时提示需要扩充
+"""
+
+import os
+import re
+import sys
+from pathlib import Path
+
+# 修复 Windows 控制台编码问题
+if sys.platform == 'win32':
+ import io
+ sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace')
+ sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8', errors='replace')
+
+
+def count_chinese_words(text: str) -> int:
+ """统计中文字数(排除标点符号和Markdown标记)"""
+ # 移除Markdown标记
+ text = re.sub(r'#{1,6}\s*', '', text) # 标题
+ text = re.sub(r'\*\*(.*?)\*\*', r'\1', text) # 粗体
+ text = re.sub(r'\*(.*?)\*', r'\1', text) # 斜体
+ text = re.sub(r'~~(.*?)~~', r'\1', text) # 删除线
+ text = re.sub(r'`(.*?)`', r'\1', text) # 行内代码
+ text = re.sub(r'\[(.*?)\]\(.*?\)', r'\1', text) # 链接
+
+ # 统计中文字符(汉字)
+ chinese_chars = re.findall(r'[\u4e00-\u9fff]', text)
+ return len(chinese_chars)
+
+
+def extract_content_from_chapter(file_path: Path) -> str:
+ """从章节文件中提取正文内容(排除标题等元数据)"""
+ with open(file_path, 'r', encoding='utf-8') as f:
+ content = f.read()
+
+ # 查找正文开始位置(通常是第一个一级标题或二级标题之后)
+ lines = content.split('\n')
+
+ # 跳过开头的元数据(如 # 第XX章 标题)
+ content_start = 0
+ for i, line in enumerate(lines):
+ if line.startswith('#') and '章' in line:
+ content_start = i + 1
+ break
+
+ # 提取正文
+ main_content = '\n'.join(lines[content_start:])
+ return main_content
+
+
+def check_chapter(file_path: str, min_words: int = 3000) -> dict:
+ """检查单个章节的字数"""
+ path = Path(file_path)
+
+ if not path.exists():
+ return {
+ 'file': str(path),
+ 'exists': False,
+ 'word_count': 0,
+ 'status': 'error',
+ 'message': f'文件不存在: {file_path}'
+ }
+
+ main_content = extract_content_from_chapter(path)
+ word_count = count_chinese_words(main_content)
+
+ status = 'pass' if word_count >= min_words else 'fail'
+ message = f'字数: {word_count}' + (
+ f' (✓ 达标)' if word_count >= min_words else f' (✗ 不足,需要至少 {min_words} 字)'
+ )
+
+ return {
+ 'file': str(path),
+ 'exists': True,
+ 'word_count': word_count,
+ 'status': status,
+ 'message': message
+ }
+
+
+def check_all_chapters(directory: str, pattern: str = '第*.md', min_words: int = 3000) -> list:
+ """检查目录下所有符合模式的章节文件"""
+ dir_path = Path(directory)
+ if not dir_path.exists():
+ print(f'错误: 目录不存在 - {directory}')
+ return []
+
+ chapter_files = sorted(dir_path.glob(pattern))
+ results = []
+
+ for chapter_file in chapter_files:
+ result = check_chapter(str(chapter_file), min_words)
+ results.append(result)
+
+ return results
+
+
+def print_results(results: list, min_words: int = 3000):
+ """打印检查结果"""
+ if not results:
+ print('没有找到章节文件')
+ return
+
+ total_words = 0
+ passed = 0
+ failed = 0
+
+ print('\n' + '=' * 60)
+ print('章节字数检查报告')
+ print('=' * 60)
+
+ for result in results:
+ if not result['exists']:
+ print(f'\n❌ {result["file"]}')
+ print(f' {result["message"]}')
+ continue
+
+ total_words += result['word_count']
+ if result['status'] == 'pass':
+ passed += 1
+ icon = '✅'
+ else:
+ failed += 1
+ icon = '⚠️ '
+
+ print(f'\n{icon} {Path(result["file"]).name}')
+ print(f' {result["message"]}')
+
+ print('\n' + '-' * 60)
+ print(f'总计: {len(results)} 章 | {passed} 章达标 | {failed} 章不足 | 总字数: {total_words:,}')
+ print('-' * 60)
+
+ if failed > 0:
+ print(f'\n⚠️ 有 {failed} 章内容不足 {min_words} 字,建议使用扩充技巧:')
+ print(' - 添加细节描写(环境、心理、动作)')
+ print(' - 增加对话场景')
+ print(' - 扩展人物内心活动')
+ print(' - 补充背景故事')
+ print(f'\n 参考: references/content-expansion.md')
+
+
+def main():
+ """主函数"""
+ min_words = 3000
+
+ if len(sys.argv) < 2:
+ print('用法:')
+ print(' 检查单个章节: python check_chapter_wordcount.py <章节文件路径> [最小字数]')
+ print(' 检查所有章节: python check_chapter_wordcount.py --all <目录路径> [最小字数]')
+ print('')
+ print('示例:')
+ print(' python check_chapter_wordcount.py novels/故事/第01章.md')
+ print(' python check_chapter_wordcount.py novels/故事/第01章.md 3500')
+ print(' python check_chapter_wordcount.py --all novels/故事')
+ print(' python check_chapter_wordcount.py --all novels/故事 3500')
+ return
+
+ if sys.argv[1] == '--all':
+ if len(sys.argv) < 3:
+ print('错误: 使用 --all 时需要指定目录路径')
+ return
+ directory = sys.argv[2]
+ min_words = int(sys.argv[3]) if len(sys.argv) > 3 else 3000
+ results = check_all_chapters(directory, min_words=min_words)
+ print_results(results, min_words)
+ else:
+ file_path = sys.argv[1]
+ min_words = int(sys.argv[2]) if len(sys.argv) > 2 else 3000
+ result = check_chapter(file_path, min_words)
+ print_results([result], min_words)
+
+
+if __name__ == '__main__':
+ main()