# 提示词增强

> LLM提示词增强技能——将剧情大纲中每章节的简短描述自动扩充为可直接供LLM使用的高质量写作提示词。 当用户说"你再帮我补一点"、指定"写XX作品的第XX章"但未提供任何写作提示词、 或要求全自动批量生成章节提示词时触发。 启用计划模式，读取剧情大纲+角色文件（三类）+设定+写作配置+伏笔数据， 按Core/NSFW规范合理扩充，输出后询问用户是否立即执行； 批量处理时经用户允许后将提示词持久化至 `大纲/剧情/Prompt.md`。

- Skill: `jackal9384/skill-11` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jackal9384/skill-11`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jackal9384/skill-11/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: jackal9384 (https://skillmd.com/u/jackal9384)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jackal9384/skill-11

---


# 提示词增强

此技能是写作系统的**提示词自动化引擎**，桥接剧情大纲与正文写作——将大纲中一两句话的章节描述，扩展为包含人物状态、剧情走向、伏笔指令的完整 LLM 可执行提示词。

## 核心定位

- **大纲→提示词转译**：读取 `剧情大纲.md`（或分卷模式下 `剧情大纲-卷X.md`）中目标章的简短描述 → 融合人物/设定/写作配置/伏笔数据 → 输出结构化写作提示词
- **计划模式驱动**：所有操作必须先进入计划模式（EnterPlanMode），列出上下文预读取范围与扩充策略，用户批准后执行
- **多源上下文聚合**：同时读取剧情大纲、角色文件（三类）、设定文件、写作配置、伏笔数据、NSFW 偏好——一章提示词所需的全部上下文一次性拉齐
- **先注入后扩充**：步骤 0 拉取原始数据 → 步骤 1 定位章节 → 步骤 2 注入人物/设定/伏笔/NSFW → 步骤 3 填内部模板（3.1）→ Write-Router 轻量模式调度 Core 精细化重写（3.2）→ 输出
- **执行可选 + 批量持久化**：提示词输出后询问用户是否立即执行；批量处理时经用户允许后将全部提示词存储至 `大纲/剧情/Prompt.md`

## 关联文件

| 文件                                | 位置                             | 用途                                                 | 读写  |
| --------------------------------- | ------------------------------ | -------------------------------------------------- | --- |
| `剧情大纲.md` 或 `剧情大纲-卷X.md`          | `大纲/剧情/` 或 `outline/plot/`     | 章节描述的唯一数据源；分卷多文件模式需先读 `项目信息.json` → `volumes` 确定文件 | 只读  |
| `Prompt.md`                       | `大纲/剧情/` 或 `outline/plot/`     | 批量模式下经用户允许后持久化生成的提示词（Markdown，可直接编辑）               | 读写  |
| `项目信息.json`                       | `大纲/` 或 `outline/`             | `content_rating`、NSFW 配置、伏笔数据                      | 只读  |
| `写作配置.json`                       | `大纲/` 或 `outline/`             | `正文.polish_mode`（轻度/中度/重度）                         | 只读  |
| `主要角色.md` / `次要角色.md` / `龙套角色.md` | `大纲/人物/`（或 `大纲/人物/卷{N}/`）      | 出场人物性格、关系、当前状态                                     | 只读  |
| `设定.md`                           | `大纲/设定/` 或 `outline/settings/` | 世界观约束、核心设定、故事走向                                    | 只读  |

## 触发条件

### 直接触发

当用户消息中出现以下表述时，调用此技能：

**A. 自动补充类（单章）**：

- "你再帮我补一点" / "帮我补一下这章" / "补全这章"
- "扩充一下这章" / "展开这章" / "丰富一下"
- 用户提供了极简的章节提示（≤50 字），要求扩充为完整写作提示词

**B. 零提示词指定章节类**：

- "写XX作品的第XX章"（无任何额外提示词）
- "写第XX章"（当前项目下，无其他描述）
- "开始写第XX章" / "继续写下一章"（无章节内容描述）
- "生成第XX章的写作提示词"

**C. 批量生成类**：

- "批量生成章节提示词" / "自动生成第X到第Y章的提示词"
- "帮我把大纲所有章都转成提示词"
- "全自动写作" / "按大纲自动写"

### 由其他技能调度

当「基础写作辅助」(Core) 或「剧情编辑」检测到用户无提示词直接指定章节时，可调度此技能先生成提示词再执行写作。

---

## 执行模式

**必须首先进入计划模式（EnterPlanMode）。**

1. 使用 `EnterPlanMode` 工具进入计划模式
2. 在计划中列出：
   - 目标章节范围（单章或多章）
   - 将读取的上下文文件清单
   - 扩充策略（轻度/中度/重度润色模式、NSFW 档位判断）
   - 输出提示词数量与结构
   - 如为批量处理：是否写入 `Prompt.md`
3. 等待用户批准计划后执行
4. 执行时按四阶段流水线：
   - **步骤 0-1**：读取原始数据 + 定位目标章节
   - **步骤 2**：注入人物/设定/伏笔/NSFW → 得到完整的写作要素清单
   - **步骤 3**：用注入后的数据填内部模板（3.1）→ 精细化提取重写（3.2）→ 输出到对话
   - **步骤 4.3**（仅批量）：按新模板格式组装 → 写入 `Prompt.md`
5. 提示词输出后，询问用户是否立即执行；批量处理时询问是否写入 `Prompt.md`

---

## 步骤 0：上下文预读取

进入计划模式、用户批准后，第一步执行上下文预读取。

### 0.1 读取清单（按顺序）

| 读取顺序 | 文件                                                          | 提取内容                                                                                 | 用途                                     |
| ---- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------ | -------------------------------------- |
| 1    | `项目信息.json`                                                 | `content_rating`、`nsfw_output_level`、`nsfw_tier_range`、`foreshadowing`、**`volumes`** | 内容分级判定、NSFW 档位确定、伏笔关联、**分卷状态与章号所属卷推算** |
| 2    | `写作配置.json`                                                 | `正文.polish_mode` + `分卷` 覆盖项                                                          | 提示词中润色程度指令（分卷时优先取对应卷独立配置）              |
| 3    | `剧情大纲.md`（不分卷）或 `剧情大纲-卷{N}.md`（分卷多文件）                       | 目标章的剧情要点描述                                                                           | 提示词的核心内容源                              |
| 4    | `主要角色.md` / `次要角色.md` / `龙套角色.md`（分卷多文件时读取 `大纲/人物/卷{N}/` 下） | 目标章出场人物的性格、能力、关系、当前状态                                                                | 人物行为边界与对话风格约束                          |
| 5    | `设定.md`                                                     | 相关世界观规则、场景设定                                                                         | 场景描写约束                                 |

### 0.2 读取结果汇总（内部，不输出给用户）

```
[内部] 第X章提示词增强上下文

📋 项目：{书名} / {content_rating} / 正文润色模式：{polish_mode} {分卷时：/ 第{N}卷「{卷名}」润色：{卷覆盖模式或继承全局}}
🔞 NSFW：{nsfw_output_level} / 值域：{nsfw_tier_range}
👤 本章出场人物：
  - {角色A} — 性格：{简述} / 当前状态：{简述} / 关系：{简述}
  - {角色B} — …
🔖 本章关联伏笔：
  - 第X章需放置的伏笔（如有）
  - 第X章需回收的伏笔（如有）
🌍 相关设定约束：{简述}
📖 剧情大纲原始描述：{原文引用}
```

### 0.3 内容分级交叉校验

根据 `content_rating` 和当前章的 NSFW 章节区域配置，判定本章的 NSFW 档位：

| content_rating | nsfw_tier_range 覆盖 | 本章 NSFW 档位    |
| -------------- | ------------------ | ------------- |
| `一般向`          | —                  | 不启用 NSFW      |
| `NSFW`         | 当前章在 chapters 范围内  | 使用对应档位        |
| `NSFW`         | 当前章在 global 范围内    | 使用 global 中位值 |
| `NSFW`         | 无配置                | 在计划中询问用户      |

---

## 步骤 1：解析剧情大纲原始描述

### 1.1 定位目标章节

在 `剧情大纲.md`（或分卷模式下 `剧情大纲-卷X.md`）中定位目标章的剧情要点。定位前先读 `大纲/项目信息.json` → `volumes` 判断分卷状态与文件命名：

```
// 分卷判断逻辑
volumes.enabled === true 且 volumes.multi_file === true
  → 定位 `大纲/剧情/剧情大纲-卷{N}.md`（N 由目标章号推算，如第 45 章 → 若每卷 30 章 → 第 2 卷）
volumes.enabled === false 或无 volumes 字段
  → 定位 `大纲/剧情/剧情大纲.md`
```

```
- **≈X—X章**：{一句话或多句描述}
```

或分条形式：

```
- 第X章：{描述}
```

### 1.2 提取原始描述

提取目标章的**原始描述全文**。这是提示词扩充的唯一剧情依据。

---

## 步骤 2：多源数据注入

> 步骤 0 已拉取全部原始文件，步骤 1 已定位目标章节。本步骤将原始数据加工为结构化写作要素。
> **此步骤必须在填模板（步骤 3）之前完成**——模板的每一个段落都依赖此处注入的数据。

### 2.1 人物数据注入

从角色文件中提取目标章涉及的人物，产出人物写作要素清单，供步骤 3 填入模板的「剧情要点」段落。

**提取规则**：

| 人物类型             | 注入内容                          |
| ---------------- | ----------------------------- |
| 主要出场（本章有重要戏份）    | 性格简述 + 当前状态 + 本章行为边界 + 对话风格提示 |
| 次要出场（本章露面或功能性出场） | 角色定位 + 一句话行为边界                |
| 仅提及（本章不出场但被提到）   | 仅列角色名                         |

**人物的"当前状态"如何确定**：

- 回溯前文章节，总结该角色到上一章末为止的状态（位置、情绪、身体状态、人际关系变动）
- 如无法回溯 → 在计划中标注"人物状态未知，需用户补充"，不编造

**人物行为边界示例**：

```
张三（主角）
- 本章定位：初次独立面对危险，无师长兜底
- 行为边界：可以紧张、可以犯错，但不能冷静从容——他有战斗经验但从未独当一面
- 对话风格：对敌时嘴硬但手抖，对自己人时话少但句句到位
- 禁忌：不要在战斗中做出"微微一笑""轻描淡写"等超出当前能力的姿态
```

### 2.2 设定数据注入

从 `设定.md` 中提取与目标章场景相关的设定约束，产出场景约束清单，供步骤 3 填入模板的「场景与氛围」段落。

**提取优先级**：

1. 本章发生的具体地点设定（如"西城贫民区——巷窄、污水横流、棚户密集"）
2. 本章涉及的世界观规则（如"符文体系——初级符文只能发光，无法主动攻击"）
3. 本章时间线约束（如"本章发生在冬季，天黑的早，角色穿着厚重"）

**不注入的内容**：

- 与本章无关的设定条目
- 尚未在该章揭示的世界观秘密（避免剧透式写作）

**示例**：

```
场景约束（供步骤 3 填入「场景与氛围」）：
- 地点：西城贫民区 — 巷窄、污水横流、棚户密集，天色暗后灯笼是唯一光源
- 规则：初级符文只能发光发热，无法主动攻击——主角手心印记在本章仅作为预警信号
- 时间：初冬，天黑早（约酉时三刻），角色穿棉麻夹衣，呵气成雾
```

### 2.3 伏笔数据注入

从 `项目信息.json` 的 `foreshadowing` 数组中提取与目标章相关的伏笔，产出伏笔清单，供步骤 3 填入模板的「伏笔指令」段落。

**关联判断**：

| 关联类型  | 判断依据                                    | 注入方式      |
| ----- | --------------------------------------- | --------- |
| 本章需埋设 | 伏笔条目第一字段 = `第X章` + 状态为 `待回收`（即预登记在本章放置） | 写入「需埋设」清单 |
| 本章需回收 | 伏笔条目第三字段 = `第X章`（即计划在本章回收）              | 写入「需回收」清单 |

**伏笔清单示例**：

```
伏笔清单（供步骤 3 填入「伏笔指令」）：

需埋设：
- 主角右臂受伤后伤口边缘出现金色纹路——在战斗结束后的检查场景中自然写出，
  不使用"伏笔""神秘""暗示"等提示词，仅作为身体异常状态客观描写

需回收：
- 第3章_后山发现发光符文石触碰后手心留印记_→ 本章打斗中手心印记首次发热，
  回收方式：主角感到掌心异样时低头看了一眼，不展开解释
```

### 2.4 NSFW 数据注入

根据步骤 0.3 的交叉校验结果，判断本章是否需要 NSFW 写作。

**不触发 NSFW** → 不注入 NSFW 内容，步骤 3 填模板时维持一般向正文。

**触发 NSFW** → 产出 NSFW 写作要素，供步骤 3 融入模板对应位置：

- **内容分级**：`NSFW — N{N}档`
- **剧情要点融入**：NSFW 场景的触发时机、尺度边界、档位篇幅控制
- **场景与氛围融入**：NSFW 场景的情绪基调（如"暧昧/张力/情欲暗涌"）
- **前情衔接融入**：如涉及角色 NSFW 偏好，简述角色的性相关状态延续

核心原则（融入时不做独立段落）：

- 输出词级别 {限制级 / 解限级}，角色语气仅限制级有效 {保守 / 中性 / 放荡}
- 肉体感受 > 精神思考，白描直接描写身体感受
- 档位篇幅按 N1-N5 控制白描占比

**示例**（NSFW N3档、输出词限制级、角色语气中性）：

```
NSFW 写作要素（供步骤 3 融入）：

内容分级：NSFW — N3档

剧情要点融入：
③ 两人从酒馆回到客栈房间，张三关上门后氛围骤然转变——此处进入N3档情色场景。
   尺度边界：从接吻过渡到相互探索身体，以触感描写为主（限制级用词），白描占比约60%。
   情绪走向：紧张试探→逐步放松→沉浸其中，中间插入一句窗外夜雨的环境换气。

场景与氛围融入 → 氛围关键词：暧昧/张力/情欲暗涌/夜雨

感官细节融入 → 主导通道：触觉（肌肤接触/体温/呼吸），轮换提示：窗外夜雨作听觉换气，避免全程白描触感

前情衔接融入 → 张三自上一章与李四分开后，整日心神不宁——此刻的急切有一半是积压的想念。
```

### 2.5 感官细节注入

从步骤 2.2 的场景约束反推本章的感官通道切入点，产出感官细节方向，供步骤 3 填入模板的「感官细节方向」段落。

**反推规则**：

- **主导通道**：结合场景与人物状态，选定本章主导的感官通道（视觉/听觉/触觉/嗅觉/味觉），通常 1 个主导 + 1 个辅助，不贪多
- **情绪节点优先级**：各情绪节点的感官优先级不同——紧张/警戒期以听觉、触觉为主（脚步声、心跳、衣料摩擦），温馨/暧昧期以视觉、触觉为主（光线、温度、肌肤接触），压抑/诡异期以嗅觉、听觉为主（气味、静默）
- **轮换提示**：同一特征跨段落、跨章节轮换感官通道，避免感官单一（见 Core 降重率规范——禁令 4：禁止感官单一）

**不注入的内容**：

- 与场景无关的感官堆砌
- 大段感官罗列——提示词是蒸馏梗概，感官细节只给方向，不给清单

**示例**：

```
感官细节方向（供步骤 3 填入「感官细节方向」）：
- 主导通道：听觉+触觉（暗巷夜戏——脚步声回响、呼吸急促、衣料摩擦）
- 情绪节点优先级：警戒期→听觉（脚步声逼近），搏杀期→触觉（虎口发麻、血滴落），收束期→听觉（重归寂静）
- 轮换提示：灯笼光是本场景核心视觉特征，已在「场景与氛围」注入——正文写作时避免每段重复写"灯光昏暗"，以听觉/触觉段落穿插换气
```

---

## 步骤 3：扩充提示词

> 步骤 2 已完成数据注入，人物行为边界、设定约束、伏笔清单、NSFW 档位、感官细节方向均已就绪。
> 本步骤用这些数据填写内部模板（3.1），再由 Write-Router 轻量模式调度 Core 执行精细化重写（3.2）为最终输出。

统一做**重排+逻辑修改+扩充**：理解用户意图 → 修正语病与逻辑断裂 → 重排叙事顺序 → 将步骤 2 注入的人物/设定/伏笔/NSFW/感官要素填入模板 → 按章节目标字数自适应扩充幅度，不设输入字数门槛。

### 3.1 提示词结构模板（LLM 内部规划文档）

> **此模板仅供 LLM 内部规划使用**，不直接对外输出。模板的每一个段落都从步骤 2 的注入数据中取值填充。填写完毕后进入步骤 3.2「精细化提取与重写」将模板内容提炼为最终输出。

模板结构（7 段落：章节定位/剧情要点/剧情走向/伏笔指令/场景与氛围/感官细节方向/前情衔接——段落内容与取值来源见 `data/prompt-template.json` → `sections`，机器规格按需读取）：

### 3.2 Write-Router 轻量模式精细化重写

步骤 3.1 内部模板填写完毕后，**将模板内容传入 Write-Router（轻量模式），由 Core 按写作规范执行精细化重写**。

Core 是文本优化引擎，其写作规范本身就是精细化重写的质量标准——由 Core 执行重写，输出质量远高于 LLM 自行手工提炼。此前 3.2 由 LLM 手工提炼、3.3 再经 Core 事后检查——两步分离，Core 沦为摆设。现合并为一步：**Core 直接执行精细化重写，加工即输出**。

**执行方式**：

1. 读取 `写作配置.json` → 取 `大纲.polish_mode`（或分卷覆盖项）
2. 将步骤 3.1 填好的模板内容组装数据包传入 Write-Router：

```
{
  "mode": "creation_phase",
  "text": "{步骤 3.1 填好的模板全文}",
  "context": {
    "source_skill": "提示词增强",
    "content_type": "大纲文本",
    "field_name": "提示词"
  },
  "polish_mode": "{有效润色模式}",
  "polish_config": { "{写作配置 JSON}" }
}
```

3. Write-Router 通过轻量模式调度 Core，Core 按大纲文本规范（规范 1.5/1.6/5）进行精细化重写，返回 `{ "processed_text": "{重写后的提示词}", "changes_summary": "{调整摘要}" }`

**Core 重写时遵循以下格式约束**：

- 模板中的 `###` 标题全部去除，将内部模板各段落的内容重组为分号分隔的情节序列

- 以剧情情节为基本单元，单元之间用中文分号`；`分隔；每个单元是一个完整的剧情推进动作

- 章节定位中的元数据（所属阶段、篇幅预期、核心事件、内容分级）提取至章标题行——不进入情节序列正文

- 仅专项提醒（写作注意事项、伏笔埋设标注、特殊尺度边界等）以中文全角括号`（）`包裹，紧跟在所属情节之后；角色情绪、氛围基调、动作细节等叙事内容直接写入情节文本，不放入括号

- 修正语病与逻辑断裂，补入人物行为边界与对话风格约束

- 情节按叙事逻辑排列：场景氛围与感官细节→前情衔接→人物状态→剧情发展→走向→伏笔提醒

- NSFW 内容不单独成情节单元，直接融入对应剧情情节中，以`（）`标注档位与尺度边界
4. Core 返回的 `processed_text` 即为最终提示词，直接进入步骤 4 输出

**最终提示词格式**：

```
第X章 章节名 | 字数需求 | 所属卷 | NSFW-N5 | 埋伏笔 是/否|："{本章梗概情节①；本章梗概情节②（专项提醒：XX哭了）；本章梗概情节③（专项提醒：这章是XX的重要转折点）；}"
```

- **情节分隔**：情节与情节之间用中文分号`；`相连，必要强调直接写入情节文本中
- **特殊补充**：仅作专项提醒（如写作注意事项、伏笔埋设标注、特殊尺度边界等）放在中文全角括号`（）`中——角色情绪、氛围基调、动作细节等叙事内容直接写入情节文本，不放入括号
- **元数据行**：章标题行承载全部元数据，以中文冒号`：`引出剧情内容
- **内容包裹**：剧情内容以双引号`"`包裹
- **梗概本质**：提示词是本章情节的蒸馏梗概——提炼核心事件与关键节点，不作正文铺陈
- **无标题段落**：不出现任何 `###` 结构化标题，所有信息融入情节序列中
- **NSFW 融入**：NSFW 内容作为剧情情节的一部分，以`（）`标注档位与尺度边界

**输出目标**：

- **单章**：将 Core 重写后的提示词直接输出到对话中（不写入文件）
- **批量**：将 Core 重写后的提示词输出到对话中，同时将数据写入 `Prompt.md`（见步骤 4.3）

**硬约束**：不经 Write-Router → Core 精细化重写直接输出提示词 = 流程违规。

### 3.3 扩充示例

> `（）`仅用于特殊补充说明（如给写作者的专项提醒、伏笔埋设标注等）。必要描写、情绪、氛围均直接写入情节文本，不放入括号。

| 输入                 | 输出                                                                                                                                                                                                                                                                     |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `第5章：主角遭遇伏击`       | 第5章 窄巷伏击 \| 约2500字 \| 第一卷 \| 一般向 \| 埋伏笔 是\|："{西城窄巷天色将暗巷口灯笼初亮光线昏暗逼仄；主角自酒馆得线索后独自探查孤身一人手按剑柄警惕不安；三名蒙面人自两侧屋顶跃下弯刀出鞘骤然发难；主角拔剑格挡出招快却不准右臂被划伤手在抖但嘴不饶人；危急间一道白影以飞刀逼退蒙面人不露面不对话；战斗结束检视伤口边缘有微弱金色纹路蔓延仅一句你是谁无人应答收束于困惑与悬念；}"                                                             |
| `第5章：主角在城西窄巷遭遇伏击…` | 第5章 窄巷伏击 \| 约2500字 \| 第一卷 \| 一般向 \| 埋伏笔 是\|："{西城贫民区窄巷初冬酉时三刻天色已暗呵气成雾手心符文印记在寒意中微微发烫自第3章后山触碰符文石后首次异样；主角孤身探查线索穿棉麻夹衣三名蒙面人从屋顶跃下弯刀直取要害；主角拔剑格挡出招快但章法凌乱右臂划开口子血顺肘滴滴嘴硬手抖战斗经验从未独当一面；危急间白影掠檐三柄飞刀逼退蒙面人不露面对话；战斗结束伤口边缘浮现金色纹路缓慢向肩蔓延（注意：此处为伏笔埋设金色纹路自然描写勿用暗示性词语）；氛围由昏暗逼仄转入激烈搏杀最终落于寂静诡异；}" |

---

### 4.1 单章输出

按步骤 3.2 Core 重写后的格式（元数据行 + 分号分隔情节序列）输出完整提示词到对话中，不写入文件。

### 4.2 批量输出

当用户要求批量生成时：

1. 逐章按步骤 1-3 生成
2. 每章提示词以 `---` 分隔
3. 首章之前输出批量概览：

```
📋 批量提示词生成完成 — {K} 章

| 章节 | 字数 | 所属卷 | 分级 | 埋伏笔 |
|------|------|--------|------|--------|
| 第3章 | 约2500字 | 第一卷 | 一般向 | 是 |
| 第4章 | 约3000字 | 第一卷 | 一般向 | 否 |
| 第5章 | 约2500字 | 第二卷 | NSFW-N3 | 是 |
…
```

### 4.3 批量存储至 Prompt.md

**仅批量处理时执行此步骤，单章不存储。**

批量提示词输出完成后，**必须**询问用户是否存储：

```
💾 是否将以上 {K} 章提示词持久化存储至 `大纲/剧情/Prompt.md`？
  • 是 — 写入文件，后续可随时读取调用、用户可直接编辑
  • 否 — 仅在对话中保留，不写入文件
```

**用户选择"是" → 写入：**

**定位文件**：`大纲/剧情/Prompt.md`（优先）或 `outline/plot/Prompt.md`。

**Prompt.md 数据格式**：

> Prompt.md 是步骤 3.1 模板的**下游消费者**。采用 Markdown 格式，用户可直接打开阅读和编辑。每章以 `---` 分隔，章标题行承载全部元数据，剧情内容以冒号+双引号引出。

```markdown
# 写作提示词
> 最后更新: 2026-06-14

第3章 初入江湖 | 约2500字 | 第一卷 | 一般向 | 埋伏笔 否|："{西城窄巷天色将暗巷口灯笼初亮光线昏暗逼仄；主角从酒馆得到线索后独自前往探查孤身一人手按剑柄警惕不安；三名蒙面人从屋顶跃下弯刀出鞘骤然发难；……；}"

---

第4章 宗门考核 | 约3000字 | 第一卷 | 一般向 | 埋伏笔 是|："{次日清晨宗门广场已聚满弟子气氛肃穆；主角混在人群中观察考核流程暗自忐忑；……；}"

---
```

**章标题格式**：`第X章 章节名 | 字数需求 | 所属卷 | NSFW-N{档位} | 埋伏笔 {是/否}|："{梗概情节①；梗概情节②（专项提醒）；…}"`

- 提示词为本章情节的蒸馏梗概，提炼核心事件与关键节点，不作正文铺陈
- 情节之间用中文分号`；`分隔，必要强调直接写入情节文本
- 仅专项提醒（写作注意事项、伏笔埋设标注、特殊尺度边界等）放在中文全角括号`（）`中，紧跟所属情节

**写入逻辑**：

1. 将每章提示词按上述格式拼合为完整 Markdown 文本，章节间以 `---` 分隔

2. 如 `Prompt.md` 已存在 → 先 `Read` 读取 → 以章名去重合并（同章名覆盖旧条目，新章追加）→ 更新 `> 最后更新:` 行

3. 调度 `成品输出校验`：
   
   ```
   {
     "type": "prose",
     "content": "{Prompt.md 全文}",
     "file_path": "大纲/剧情/Prompt.md",
     "prose_mode": "outline"
   }
   ```

4. 校验技能执行 CPS.json 标点扫描 + Core 结构规范扫描。`prose_mode: "outline"` 触发段落豁免——提示词文本与大纲类文本共享规范 1.5。破折号禁令（规范 1.6）正常执行

5. 校验通过后由校验技能执行落盘写入

**写入完成后确认**：

```
✅ 已存储至 大纲/剧情/Prompt.md（{K} 章）
```

**用户选择"否" →** 不写入，提示词仅保留在对话中。

---

## 步骤 5：询问是否执行

提示词输出（及存储）完成后，**必须**询问用户：

```
✏️ 以上提示词已生成完毕{如已存储则追加：并已保存至 Prompt.md}。

是否立即执行写作？
  • 是 — 使用此提示词立即开始写作（调度 Core/NSFW 技能执行）
  • 否 — 保留提示词，稍后手动使用
  • 修改 — 对提示词进行调整后再执行
```

### 5.1 用户选择"是"

调度流程：

```
提示词增强输出 → 用户确认执行 → 传递至 Write-Router（写作流水线唯一入口）
                                    │
                                    ├── 内容检测与类型判定
                                    ├── 段落预分配
                                    ├── Core + 专项技能（Combat/Romance/NSFW）
                                    ├── 整合 + 长篇专项（伏笔/回忆）
                                    └── 成品输出校验（落盘）
```

将提示词作为写作指令传入 Write-Router，由 Write-Router 按标准写作流水线执行正文写作。

### 5.2 用户选择"修改"

询问修改方向：

```
✏️ 请说明需要修改的内容：
  • 调整润色程度（当前：{polish_mode}）
  • 调整 NSFW 档位（当前：{nsfw_tier}）
  • 补充/删减剧情要点
  • 调整剧情走向
  • 其他
```

根据用户反馈修改提示词后，再次输出并询问是否执行。

### 5.3 用户选择"否"

提示词文本已存在于对话中（如已存储则在 `Prompt.md` 中），用户可随时使用。不做额外操作。

---

## 步骤 6：从 Prompt.md 读取已存提示词

当用户要求"使用已存的提示词"/"执行第X章的提示词"/"查看已生成的提示词"时执行。

### 6.1 读取

`Read` 读取 `大纲/剧情/Prompt.md`（优先）或 `outline/plot/Prompt.md`。

如文件不存在 → 提示"尚未生成提示词，请先使用批量生成功能"。

### 6.2 按章匹配

| 用户要求  | 匹配方式               |
| ----- | ------------------ |
| 查看全部  | 输出全部条目概览           |
| 执行某章  | 匹配标题行中 `第X章` 部分    |
| 查看埋伏笔 | 匹配标题行中 `埋伏笔 是` 的条目 |
| 查看无伏笔 | 匹配标题行中 `埋伏笔 否` 的条目 |

### 6.3 输出

```
📋 Prompt.md — 已存提示词

| 章节 | 字数 | 所属卷 | 分级 | 埋伏笔 |
|------|------|--------|------|--------|
| 第3章 | 约2500字 | 第一卷 | 一般向 | 否 |
| 第4章 | 约3000字 | 第一卷 | 一般向 | 是 |
…
```

用户指定某章后，输出该章的 `prompt` 全文并询问是否执行。

---

## 注意事项

- **计划模式为强制入口**：调用此技能后必须先 `EnterPlanMode`，不得直接进入上下文预读取
- **提示词由 Write-Router → Core 精细化重写**：步骤 3.1 模板填写完毕后，由 Write-Router（轻量模式）调度 Core 按大纲文本规范（1.5/1.6/5）执行精细化重写——Core 是文本优化引擎，精细化重写是其核心职责，不经此链路直接输出 = 流程违规
- **不清空对话上下文**：提示词增强生成的是"写作指令"，不是"写作替代"——执行时由 Core/NSFW 按规范矩阵实际写作正文
- **Prompt.md 写入时机**：仅在批量处理 + 用户明确允许时写入；单章输出不自动写入文件
- **Prompt.md 去重逻辑**：同一章号再次生成时覆盖旧条目，不产生重复记录
- **人物状态追踪**：连续多章生成时，前一章的人物状态变化应自动反映到下一章的「剧情要点」中——实现上下文接力
- **伏笔状态同步**：批量生成时，如前一章生成提示词中标注了"本章需埋设"的伏笔，下一章生成时应自动检索该伏笔是否已到回收时机
- **不替代用户判断**：提示词中的内容是**建议**而非命令，最终由用户决定是否接受。用户说"改"即改
- **批量上限**：单次批量生成最多 10 章，超出时提示用户分批进行——防止上下文窗口溢出
- **文件缺失处理**：角色文件/设定文件不存在时，在提示词中标注"⚠ 缺少{文件}，相关约束未注入"，不编造人物或设定
- **Prompt.md 与项目信息.json 的关系**：Prompt.md 存储写作提示词（元数据行 + 分号分隔的情节序列），项目信息.json 存储项目元数据——两者职责分离，互不写入

