Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion webnovel-writer/skills/webnovel-plan/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" mem

按需读取 `${SKILL_ROOT}/../../references/reading-power-taxonomy.md` 与 `${SKILL_ROOT}/references/outlining/chapter-planning.md`。

每章必须包含:目标、阻力、代价、时间锚点、章内时间跨度、与上章时间差、倒计时状态、爽点、Strand、反派层级、视角/主角、关键实体、本章变化、章末未闭合问题、钩子,以及结构化节点 `CBN`、`CPNs`、`CEN`、`必须覆盖节点`、`本章禁区`。
每章必须包含:目标、阻力、代价、时间锚点、章内时间跨度、与上章时间差、倒计时状态、爽点、Strand、反派层级、视角/主角、关键实体、本章变化、章末未闭合问题、钩子、`章长方向`,以及结构化节点 `CBN`、`CPNs`、`CEN`、`必须覆盖节点`、`本章禁区`。

#### 结构化节点

Expand All @@ -151,6 +151,11 @@ python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" mem

- 每章固定 1 个 `CBN`、`2-4 个 CPN`、固定 1 个 `CEN`;`CPNs` 按时间顺序排列。
- 相邻章节 `CEN -> 下一章 CBN` 必须逻辑承接(首章和末章除外)。
- **`章长方向` 记录本章走哪一档**(值域由项目自定,如 长/中/短)。
它的排布来自 Step 4 的卷节拍表——**Step 7 生成章纲时必须把每章的排布落进这个字段**,
不要只留在节拍表里:写手打开的是章纲,判据不在章纲里等于没有。
**本字段只写档位方向,不写字数区间**——区间属于项目自己的文风判据,
应留在项目的判据文件中,章纲里写指针即可,避免同一组数字散在多处、改一处漏一处。
- `必须覆盖节点`最多 4 个,建议 `CBN + CEN + 1~2 个核心 CPN`;可选节点只作建议,不作 fail 主依据。
- `本章禁区`不超过 5 条,只写本章绝对不能发生的硬禁区,不写风格类建议。
- 向后兼容:旧项目章纲缺失上述字段时,下游流程正常执行,仅跳过结构化检查。
Expand All @@ -169,6 +174,11 @@ python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" mem

必须通过:节拍表 / 时间线表 / 详细大纲均存在且非空;每章时间字段齐全;时间线单调递增;倒计时推进正确;新设定已回写;`BLOCKER=0`;有节点时相邻章节 `CEN -> CBN` 无明显逻辑冲突且每章`必须覆盖节点`不超过 4 个。

`章长方向` 检查(有该字段时执行):

- 每章都有 `章长方向`。
- 该字段与 Step 4 节拍表里的排布一致;不一致时报出章号,不自动改写。

验证全部通过后,生成显式结构化写回文件 `大纲/第{volume_id}卷-总纲写回.json`(只写规划中显式列出的伏笔 / 开放环,禁止从卷纲自由文本推断):

```json
Expand Down