novel-writer-cn
Version:
AI 驱动的中文小说创作工具 - 基于结构化工作流的智能写作助手
660 lines (491 loc) • 20.3 kB
Markdown
---
description: 定义故事规格,明确要创造什么样的作品
argument-hint: [故事描述]
allowed-tools: Read(//stories/**/specification.md), Read(stories/**/specification.md), Write(//stories/**/specification.md), Write(stories/**/specification.md), Read(/.specify/memory/constitution.md), Read(.specify/memory/constitution.md), Bash(find:*), Bash(*)
model: claude-sonnet-4-5-20250929
---
用户输入:$ARGUMENTS
## 目标
像产品规格书(PRD)一样定义故事,明确"要创造什么"而非"如何创造"。支持**渐进式规格定义**,从一句话到完整规格,循序渐进。输出带有 `[需要澄清]` 标记的规格,为后续澄清步骤留出空间。
## 渐进式规格层级
根据用户输入的详细程度,自动判断并生成相应层级的规格:
**Level 1 - 一句话故事(Logline)**:
- 30字以内的核心创意
- 示例:"一个失忆的黑客发现自己活在虚拟世界中"
- 适用:初期灵感阶段
**Level 2 - 一段话概要(Premise)**:
- 100-200字的故事梗概
- 包含:主角、冲突、目标、障碍
- 适用:创意验证阶段
**Level 3 - 一页纸大纲(One-Page Spec)**:
- 包含:概要、主角、主要冲突、三幕结构
- 简化版规格(约500字)
- 适用:快速原型阶段
**Level 4 - 完整规格(Full Specification)**:
- 包含完整九章规格内容
- 详细的线索管理、成功标准等
- 适用:正式创作准备阶段
## 执行步骤
### 0. 判断规格层级
**根据用户输入自动判断层级**:
```python
input_length = len($ARGUMENTS)
existing_spec = check_if_exists()
if existing_spec:
# 已有规格,执行升级或修改
level = get_current_level(existing_spec)
action = "upgrade" or "modify"
elif input_length < 50:
# 一句话输入 → Level 1
target_level = 1
elif input_length < 300:
# 一段话输入 → Level 2
target_level = 2
elif input_length < 1000:
# 简要描述 → Level 3
target_level = 3
else:
# 详细描述 → Level 4
target_level = 4
```
**决策逻辑**:
- 如果已存在规格文件,询问用户是"升级层级"还是"修改内容"
- 如果是新故事,根据输入长度自动选择层级
- 生成规格后,提示用户如何扩展到下一层级
### 1. 初始化故事规格
运行 `.specify/scripts/bash/specify-story.sh --json` 获取路径信息:
- 解析 JSON 获取 `STORY_NAME` 和 `SPEC_PATH`
- 如果是新故事,创建规格文件
- 如果已存在,准备更新或升级
### 2. 检查宪法合规性
如果存在 `.specify/memory/constitution.md`:
- 加载宪法原则
- 确保规格符合宪法价值观
- 在规格中引用相关原则
### 3. 创建故事规格文档
**根据判断的层级生成相应规格**:
---
#### Level 1 规格模板(一句话故事)
```markdown
# 故事规格书
## 元数据
- 故事名称:[名称]
- 版本:1.0.0-L1(一句话)
- 创建日期:[YYYY-MM-DD]
- 当前层级:Level 1
- 作者:[作者名]
## 一句话故事(Logline)
[30字以内的核心创意]
**示例**:
- "一个失忆的黑客发现自己活在虚拟世界中"
- "普通高中生获得预知未来的能力,但每次使用都会缩短寿命"
- "退役特工为了救女儿,必须完成一次不可能的任务"
## 核心元素识别
基于这句话,识别以下核心元素:
- **主角**:[谁]
- **困境/冲突**:[面临什么问题]
- **目标**:[想要达成什么]
- **障碍/代价**:[阻碍是什么]
## 下一步
✅ **Level 1 规格已完成**
**扩展建议**:
1. 将一句话扩展为一段话(100-200字)
2. 运行 `/specify` 命令,输入扩展的段落
3. 系统将自动升级到 Level 2
**扩展提示**:
- 加入主角的背景和动机
- 明确主要冲突的起因
- 暗示故事的走向和结局可能性
```
---
#### Level 2 规格模板(一段话概要)
```markdown
# 故事规格书
## 元数据
- 故事名称:[名称]
- 版本:1.1.0-L2(一段话)
- 创建日期:[YYYY-MM-DD]
- 当前层级:Level 2
- 作者:[作者名]
## 一句话故事(Logline)
[从Level 1继承,或新提取]
## 一段话概要(Premise)
[100-200字的故事梗概,包含主角、冲突、目标、障碍]
**示例结构**:
{主角背景}在{起始情境}下,发现/遭遇{核心冲突}。为了{目标},他/她必须{行动},但{主要障碍}使得{困难/代价}。最终{暗示结局走向}。
## 核心要素
### 主角设定
- **身份**:[职业/年龄/背景]
- **性格特点**:[2-3个关键词]
- **核心欲望**:[想要什么]
- **致命弱点**:[阻碍他的是什么]
### 核心冲突
- **外部冲突**:[与什么对抗]
- **内部冲突**:[内心挣扎是什么]
- **冲突起因**:[为什么现在爆发]
### 故事走向
- **起点**:[故事从哪里开始]
- **中点**:[预计的转折点]
- **终点**:[可能的结局方向]
## 类型初步定位
- **主类型**:[玄幻/都市/历史/科幻等]
- **子类型**:[具体流派]
- **参考作品**:类似[作品名]的[某个特点]
## 下一步
✅ **Level 2 规格已完成**
**扩展建议**:
1. 将概要扩展为一页纸大纲(约500字)
2. 增加三幕结构、主要角色、关键场景
3. 运行 `/specify` 命令,输入扩展内容
4. 系统将自动升级到 Level 3
**扩展提示**:
- 明确三幕结构的分界点
- 增加2-3个主要配角
- 列出5-10个关键场景
- 思考世界观的基本设定
```
---
#### Level 3 规格模板(一页纸大纲)
```markdown
# 故事规格书
## 元数据
- 故事名称:[名称]
- 版本:1.2.0-L3(一页纸)
- 创建日期:[YYYY-MM-DD]
- 当前层级:Level 3
- 作者:[作者名]
## 一、故事核心
### 一句话故事
[从Level 1继承]
### 故事简介(100-200字)
[从Level 2继承]
### 核心主题
- **主题**:[如"成长"、"救赎"、"复仇"]
- **情感内核**:[希望读者感受到什么]
## 二、主要角色(3-5人)
### 主角
- **姓名**:[名字]
- **身份/背景**:[简要]
- **核心欲望**:[想要什么]
- **性格弧光**:从[A状态] → 经历[冲突] → 成为[B状态]
### 主要配角1
[姓名、功能定位、与主角关系]
### 主要配角2
[姓名、功能定位、与主角关系]
### 反派/对抗力量
[姓名/势力、动机、威胁程度]
## 三、三幕结构
### 第一幕:建立(预计篇幅的25%)
- **起始**:[日常世界]
- **触发事件**:[打破平衡的事件]
- **决定**:[主角决定行动]
- **进入新世界**:[离开舒适区]
### 第二幕:对抗(预计篇幅的50%)
- **上半段**:[尝试与失败]
- **中点**:[重大转折/假胜利或假失败]
- **下半段**:[形势恶化/黑暗时刻]
- **最低点**:[一切似乎失败]
### 第三幕:解决(预计篇幅的25%)
- **顿悟**:[主角的觉醒/成长]
- **最终对抗**:[高潮战斗/冲突]
- **结局**:[新的平衡状态]
## 四、关键场景(5-10个)
1. **[场景1名称]**:[1-2句描述,情感作用]
2. **[场景2名称]**:[描述]
3. **[场景3名称]**:[描述]
4. ...
## 五、目标定位
### 目标读者
- **年龄段**:[范围]
- **类型偏好**:[玄幻/都市/历史等]
- **阅读场景**:[碎片时间/深度阅读]
### 市场定位
- **主类型**:[类型]
- **子类型**:[流派]
- **竞品分析**:类似[作品1]的[特点] + [作品2]的[特点]
- **差异化**:[核心卖点]
### 量化目标
- **目标字数**:[3万/10万/50万]
- **更新频率**:[日更/周更]
- **完成时间**:[预计时长]
## 六、下一步
✅ **Level 3 规格已完成**
**扩展建议**:
1. 将一页纸大纲扩展为完整规格
2. 增加详细的线索管理规格(多线索、伏笔、交汇点)
3. 增加成功标准、约束条件、风险评估
4. 运行 `/specify` 命令,告诉AI"扩展到完整规格"
5. 系统将自动升级到 Level 4
**扩展提示**:
- 明确多线索管理策略(如有)
- 列出所有约束条件和红线
- 标记5-10个需要澄清的决策点
- 准备参考资料和灵感来源
```
---
#### Level 4 规格模板(完整规格)
使用完整九章规格结构(保持原有模板):
```markdown
# 故事规格书
## 元数据
- 故事名称:[名称]
- 版本:1.0.0
- 创建日期:[YYYY-MM-DD]
- 状态:草案
- 作者:[作者名]
## 一、故事概要
### 一句话故事(电梯演讲)
[30字以内描述故事核心]
### 故事简介(100-200字)
[扩展描述,包含主要冲突和结局暗示]
### 核心主题
- 主题:[如"成长"、"救赎"、"复仇"]
- 深层含义:[想要表达什么]
- 情感内核:[希望读者感受到什么]
## 二、目标定位
### 目标读者画像
- 年龄段:[需要澄清:具体年龄范围]
- 性别倾向:[需要澄清:男性向/女性向/通用]
- 阅读层次:[需要澄清:入门/进阶/资深]
- 类型偏好:[玄幻/都市/历史等]
- 阅读场景:[碎片时间/深度阅读]
### 市场定位
- 主类型:[需要澄清:爽文/悬疑/言情/严肃文学/科幻/奇幻/历史/都市/其他]
- 子类型:[具体流派,如系统流/本格推理/霸总文等]
- 类型融合:[如有,如悬疑+爱情]
- 类型标签:[主标签] + [副标签]
- 竞品分析:类似[作品1]的[特点] + [作品2]的[特点]
- 差异化:[需要澄清:核心卖点是什么]
## 三、成功标准
### 量化指标
- 目标字数:[需要澄清:3万/10万/50万]
- 更新频率:[需要澄清:日更/周更/月更]
- 完成时间:[预计时长]
- 商业目标:[如适用]
### 质量标准
- 逻辑一致性:[必须/应该]无明显漏洞
- 人物丰满度:主角有[X]个层次,配角有[Y]个层次
- 情节紧凑度:[需要澄清:每章都有冲突/允许过渡章节]
- 文字水准:[需要澄清:通俗易懂/文学性/专业性]
### 读者反馈指标
- 目标评分:[如适用]
- 互动率:[评论/收藏比例]
- 完读率:[期望的读者完成度]
## 四、核心需求
### 必须包含(P0)
1. [核心情节元素1]
2. [核心人物关系]
3. [核心冲突设定]
4. [必要的世界观元素]
### 应该包含(P1)
1. [增强体验的元素]
2. [深化主题的内容]
3. [丰富人物的支线]
### 可以包含(P2)
1. [锦上添花的内容]
2. [可选的支线]
3. [额外的彩蛋]
## 五、线索管理规格
> **多线索管理说明**:本章节定义故事的所有线索(主线、副线)及其管理策略,用于解决多线索并行推进、交汇时机控制、修改后一致性保证等问题。
### 5.1 线索定义表
定义所有故事线索的基本信息:
| 线索ID | 线索名称 | 类型 | 优先级 | 起止章节 | 核心冲突 | 主要角色 |
|-------|---------|------|--------|---------|---------|---------|
| PL-01 | [线索1名称,如"家庭线"] | 主线/支线/主线支撑 | P0/P1/P2 | [起始章-结束章] | [线索的核心冲突] | [涉及的主要角色] |
| PL-02 | [线索2名称,如"爱情线"] | 主线/支线/主线支撑 | P0/P1/P2 | [起始章-结束章] | [线索的核心冲突] | [涉及的主要角色] |
**说明**:
- 线索ID统一格式:PL-XX(Plotline的缩写)
- 类型:主线(驱动故事发展)、支线(丰富情节)、主线支撑(为主线服务)
- 优先级:P0(必须)、P1(重要)、P2(可选)
### 5.2 线索节奏规划
规划每条线索在不同阶段的活跃程度:
| 线索ID | 第一卷 | 第二卷 | 第三卷 | 第四卷 |
|-------|--------|--------|--------|--------|
| PL-01 | ⭐⭐⭐ 活跃 | ⭐⭐ 中等 | ⭐ 背景 | ⭐⭐⭐ 活跃 |
| PL-02 | ⭐⭐ 启动 | ⭐⭐⭐ 活跃 | ⭐⭐⭐ 活跃 | ⭐⭐ 收尾 |
**说明**:
- ⭐⭐⭐ 活跃:本卷重点推进,大量篇幅
- ⭐⭐ 中等:正常推进,适量篇幅
- ⭐ 背景:偶尔提及,保持存在感
- ❌ 未出场:线索尚未启动
### 5.3 线索交汇点规划
预先规划线索之间的交汇点,避免AI随意发挥:
| 交汇点ID | 章节 | 涉及线索 | 交汇内容 | 预期效果 |
|---------|------|---------|---------|---------|
| X-001 | [章节号] | PL-XX+PL-YY | [两条/多条线索如何交汇,发生什么] | [对故事和人物的影响] |
| X-002 | [章节号] | PL-XX+PL-YY+PL-ZZ | [交汇的具体内容] | [预期产生的效果] |
**说明**:
- 交汇点ID统一格式:X-XXX(Intersection的首字母)
- 涉及线索:列出所有在此处交汇的线索ID
- 交汇内容:具体的情节或事件
- 预期效果:情感冲突、情节转折、人物成长等
### 5.4 伏笔管理表
管理所有伏笔的埋设与揭晓,确保不遗漏:
| 伏笔ID | 埋设章节 | 涉及线索 | 伏笔内容 | 揭晓章节 | 揭晓方式 |
|-------|---------|---------|---------|---------|---------|
| F-001 | [章节号] | PL-XX | [埋下什么伏笔,具体内容] | [章节号] | [如何揭晓,通过什么事件] |
| F-002 | [章节号] | PL-XX+PL-YY | [跨线索的伏笔内容] | [章节号] | [揭晓方式] |
**说明**:
- 伏笔ID统一格式:F-XXX(Foreshadowing的首字母)
- 涉及线索:伏笔关联的线索,可能跨多条线索
- 埋设与揭晓的章节号必须明确,避免遗忘
### 5.5 线索修改决策矩阵
当需要修改某条线索时,必须按此流程评估影响:
**修改检查清单**:
1. 检查 5.2节:该线索在哪些卷活跃?活跃度是否需要调整?
2. 检查 5.3节:该线索涉及哪些交汇点?交汇点时机是否需要改变?
3. 检查 5.4节:该线索涉及哪些伏笔?伏笔埋设/揭晓是否需要调整?
4. 检查 creative-plan.md:哪些章节段需要同步修改?
5. 检查 tasks.md:哪些写作任务需要重新规划?
6. 检查 plot-tracker.json:当前进展如何,后续如何调整?
**示例**:假设修改PL-03(爱情线),将某角色出场提前到第50章(原计划第100章):
- ✅ 交汇点X-004需要提前或取消
- ✅ 第二卷的章节段活跃线索需要调整
- ✅ 相关任务的"涉及线索"字段需要更新
- ✅ 可能影响伏笔F-002的揭晓时机
### 5.6 线索一致性原则
**规划原则**:
- 每条线索必须有明确的起承转合
- 主线占用总篇幅的40-60%
- 支线不超过2-3条,避免过于分散
- 线索交汇应服务于主题,不为交汇而交汇
- 长时间休眠的线索(>20章)必须有合理理由
**验证标准**:
- [ ] 所有线索都有明确的冲突和解决方案
- [ ] 线索节奏分布合理,没有过度集中或空白
- [ ] 交汇点数量适中(建议每50章2-3个)
- [ ] 伏笔都有对应的揭晓计划
- [ ] 修改决策矩阵可操作
## 六、约束条件
### 内容红线
- 绝对禁止:[如违法内容]
- 需要避免:[如敏感话题]
- 谨慎处理:[需要澄清:如何处理情感关系]
### 创作约束
- 知识限制:[需要澄清:是否需要专业知识]
- 时间限制:[完成期限]
- 资源限制:[如需要的参考资料]
### 技术约束
- 发布平台:[需要澄清:网文平台/出版/自媒体]
- 格式要求:[章节长度等]
- 更新要求:[固定时间等]
## 七、风险评估
### 创作风险
- 写作难度:[需要澄清:挑战在哪里]
- 灵感枯竭:[如何应对]
- 逻辑漏洞:[复杂度评估]
- 多线索管理:[需要澄清:线索数量是否过多]
### 市场风险
- 同质化:[如何差异化]
- 读者接受度:[需要澄清:创新是否过度]
- 时效性:[题材是否会过时]
## 八、核心决策点 [需要澄清]
以下关键决策需要在 `/clarify` 阶段明确:
1. [决策1:如主角性格是热血还是冷静]
2. [决策2:如结局是开放还是圆满]
3. [决策3:如叙事是单线还是多线]
4. [决策4:如节奏是快速还是缓慢]
5. [决策5:如风格是轻松还是严肃]
## 九、验证清单
- [ ] 故事概要清晰明确
- [ ] 目标读者定义准确
- [ ] 成功标准可衡量
- [ ] 核心需求已列出
- [ ] 线索管理规格已定义
- [ ] 约束条件已识别
- [ ] 风险已评估
- [ ] 关键决策点已标记
## 附录:参考资料
### 灵感来源
- [来源1]
- [来源2]
### 参考作品
- [作品1]:参考其[特点]
- [作品2]:参考其[特点]
### 补充说明
[其他需要说明的内容]
```
### 4. 根据层级输出规格
**根据步骤0判断的层级,选择相应模板输出**:
- **Level 1**:输出一句话规格 + 核心元素识别 + 扩展指导
- **Level 2**:输出一段话规格 + 核心要素 + 类型定位 + 扩展指导
- **Level 3**:输出一页纸规格 + 三幕结构 + 关键场景 + 扩展指导
- **Level 4**:输出完整九章规格 + `[需要澄清]` 标记
**输出后的提示**:
对于 Level 1-3,完成后告知用户:
```
✅ Level X 规格已完成!
**当前进度**:一句话 → 一段话 → 一页纸 → 完整规格
[=====---](您在这里)
**下一步选项**:
1. 直接使用当前规格开始创作(适合快速原型)
2. 扩展到下一层级(更详细的规划)
3. 运行 `/clarify` 对当前规格进行澄清
**如何扩展**:
- 提供更详细的故事描述
- 再次运行 `/specify [详细描述]`
- 系统会自动升级到 Level X+1
```
对于 Level 4,完成后告知用户:
```
✅ 完整规格已完成!
**下一步**:
1. 运行 `/clarify` 澄清所有 [需要澄清] 标记的决策点
2. 或直接运行 `/plan` 开始制定创作计划
```
### 5. 标记需要澄清的点(仅Level 4)
**仅在 Level 4 完整规格中**标记所有需要进一步澄清的决策点:
- 使用 `[需要澄清:具体问题]` 格式
- 确保标记 5-10 个关键决策点
- 这些将在 `/clarify` 步骤中处理
**Level 1-3 不需要标记澄清点**,因为它们本身就是渐进式澄清的过程
### 6. 版本管理
**渐进式版本号规则**:
- **Level 1**:1.0.0-L1(一句话)
- **Level 2**:1.1.0-L2(一段话)
- **Level 3**:1.2.0-L3(一页纸)
- **Level 4**:1.0.0(完整规格-草案)
- **澄清后**:1.1.0(澄清版)
- **计划后**:1.2.0(确认版)
- **执行中**:2.0.0(执行版)
**升级规则**:
- Level 1 → Level 2:小版本号+1
- Level 2 → Level 3:小版本号+1
- Level 3 → Level 4:重置为1.0.0(进入正式规格周期)
- Level 4 后续修改:按原有规则
### 7. 输出和保存
- 将规格保存到 `stories/[story-name]/specification.md`
- 输出创建成功消息
- **根据层级提示下一步**:
- Level 1-3:提示如何扩展到下一层级
- Level 4:提示运行 `/clarify` 澄清关键决策
## 注意事项
### 渐进式规格的价值
**为什么需要渐进式规格?**
- ✅ **降低门槛**:从一句话开始,不需要一次性完成完整规格
- ✅ **快速验证**:在投入大量精力前,验证创意是否可行
- ✅ **自然演进**:随着思考深入,自然扩展规格细节
- ✅ **避免过度规划**:根据实际需要决定规格深度
**何时使用哪个层级?**
- **Level 1**:灵感阶段,快速记录创意
- **Level 2**:验证阶段,确认故事是否值得写
- **Level 3**:原型阶段,快速开始写作(适合短篇、中篇)
- **Level 4**:正式阶段,长篇小说或需要详细规划的作品
### 聚焦于 WHAT 而非 HOW
- ✅ 正确:"需要一个让读者恨之入骨的反派"
- ❌ 错误:"反派在第三章出场,使用倒叙手法"
### 保持规格的灵活性
- 留出澄清空间(Level 4)
- 不要过早确定细节(Level 1-3)
- 标记所有不确定点(Level 4)
### 渐进式扩展的原则
- **继承性**:Level N+1 应包含 Level N 的所有内容
- **增量性**:每次只增加必要的细节
- **可逆性**:可以回到较低层级修改核心要素
- **可跳跃性**:可以直接从 Level 1 跳到 Level 4(如果已经想清楚)
### 与后续步骤的关系
- **Level 1-3**:可以直接开始写作(适合探索性创作)
- **Level 4**:运行 `/clarify` 处理所有 `[需要澄清]` 标记
- **澄清后**:运行 `/plan` 制定创作计划
- **执行时**:运行 `/analyze` 验证实现是否符合规格
记住:**规格定义目标,而非路径。渐进式规格让你从模糊到清晰,而不是从一开始就要求清晰。**