webnovel-plan

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Outline Planning

Outline Planning

Purpose: refine 总纲 into volume + chapter outlines. Do not redesign the global story.
Purpose: Refine the master outline into volume + chapter outlines. Do not redesign the overall story.

Project Root Guard

Project Root Guard

  • Must run inside a project containing
    .webnovel/state.json
    .
  • If missing, ask for the project path and
    cd
    into it.
  • Must run inside a project containing
    .webnovel/state.json
    .
  • If missing, ask for the project path and
    cd
    into it.

Reference Loading Levels (strict, lazy)

Reference Loading Levels (strict, lazy)

Use progressive disclosure and load only what current step requires:
  • L0: No references before scope/volume is confirmed.
  • L1: Minimum set for current generation step.
  • L2: Conditional references only if constraints/genre details are needed.
Use progressive disclosure and load only what the current step requires:
  • L0: No references before scope/volume is confirmed.
  • L1: Minimum set for current generation step.
  • L2: Conditional references only if constraints/genre details are needed.

L1 (step-gated minimum)

L1 (step-gated minimum)

  • Before Step 3 (volume skeleton):
    • references/strand-weave-pattern.md
    • .claude/references/genre-profiles.md
  • Before Step 3 (volume skeleton):
    • references/strand-weave-pattern.md
    • .claude/references/genre-profiles.md

L2 (conditional)

L2 (conditional)

  • Before Step 3, load only if爽点结构需要细化:
    • references/cool-points-guide.md
  • Before Step 4, load only if需要钩子/节奏细分:
    • .claude/references/reading-power-taxonomy.md
  • Before Step 3/4, load only if题材为电竞/直播文/克苏鲁:
    • references/outlining/genre-volume-pacing.md
  • Before Step 3, load only if the cool point structure needs refinement:
    • references/cool-points-guide.md
  • Before Step 4, load only if hook/rhythm subdivision is needed:
    • .claude/references/reading-power-taxonomy.md
  • Before Step 3/4, load only if the genre is esports/live stream fiction/Cthulhu:
    • references/outlining/genre-volume-pacing.md

Workflow

Workflow

  1. Load project data.
  2. Select volume and confirm scope.
  3. Generate volume skeleton.
  4. Generate chapter outlines in batches.
  5. Validate + save + update state.
  1. Load project data.
  2. Select volume and confirm scope.
  3. Generate volume skeleton.
  4. Generate chapter outlines in batches.
  5. Validate + save + update state.

1) Load project data

1) Load project data

bash
cat "$PROJECT_ROOT/.webnovel/state.json"
cat "$PROJECT_ROOT/大纲/总纲.md"
Optional (only if they exist):
  • 设定集/主角组.md
  • 设定集/女主卡.md
  • 设定集/反派设计.md
  • .webnovel/idea_bank.json
    (inherit constraints)
If 总纲.md lacks volume ranges / core conflict / climax, ask the user to fill those before proceeding.
bash
cat "$PROJECT_ROOT/.webnovel/state.json"
cat "$PROJECT_ROOT/大纲/总纲.md"
Optional (only if they exist):
  • 设定集/主角组.md
  • 设定集/女主卡.md
  • 设定集/反派设计.md
  • .webnovel/idea_bank.json
    (inherit constraints)
If the master outline (总纲.md) lacks volume ranges / core conflict / climax, ask the user to fill those before proceeding.

2) Select volume

2) Select volume

  • Offer choices from 总纲.md (卷名 + 章节范围).
  • Confirm any special requirement (tone, POV emphasis, romance, etc.). If 总纲缺少卷名/章节范围/核心冲突/卷末高潮,先补问并更新总纲,再继续。
  • Offer choices from the master outline (volume name + chapter range).
  • Confirm any special requirements (tone, POV emphasis, romance, etc.). If the master outline is missing volume names/chapter ranges/core conflicts/volume-ending climaxes, first ask the user to supplement and update the master outline before proceeding.

3) Generate volume skeleton

3) Generate volume skeleton

Load genre profile and apply standards:
bash
cat ".claude/references/genre-profiles.md"
Extract for current genre:
  • Strand 比例(Quest/Fire/Constellation)
  • 爽点密度标准(每章最低/推荐)
  • 钩子类型偏好
Load genre profile and apply standards:
bash
cat ".claude/references/genre-profiles.md"
Extract for current genre:
  • Strand ratio (Quest/Fire/Constellation)
  • Cool point density standards (minimum/recommended per chapter)
  • Preferred hook types

Strand Weave 规划策略

Strand Weave Planning Strategy

Based on genre profile, distribute chapters:
  • Quest Strand (主线推进): 55-65% 章节
    • 目标明确、进展可见、有阶段性成果
    • 例:突破境界、完成任务、获得宝物
  • Fire Strand (情感/关系): 20-30% 章节
    • 人物关系变化、情感冲突、团队动态
    • 例:与女主互动、师徒矛盾、兄弟背叛
  • Constellation Strand (世界/谜团): 10-20% 章节
    • 世界观揭示、伏笔埋设、谜团推进
    • 例:发现古老秘密、揭示反派阴谋、世界真相
Weaving pattern (recommended):
  • 每 3-5 章切换主导 Strand
  • 高潮章节可多 Strand 交织
  • 卷末 3-5 章集中 Quest Strand
For 电竞/直播文/克苏鲁, apply dedicated volume pacing template:
bash
cat "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-plan/references/outlining/genre-volume-pacing.md"
Based on genre profile, distribute chapters:
  • Quest Strand (Mainline Progression): 55-65% of chapters
    • Clear goals, visible progress, phased achievements
    • Examples: Breaking through realms, completing tasks, obtaining treasures
  • Fire Strand (Emotion/Relationships): 20-30% of chapters
    • Changes in character relationships, emotional conflicts, team dynamics
    • Examples: Interactions with the female lead, mentor-apprentice conflicts, brotherly betrayal
  • Constellation Strand (World/Mystery): 10-20% of chapters
    • Worldview reveals, foreshadowing, mystery progression
    • Examples: Discovering ancient secrets, revealing villainous conspiracies, world truths
Weaving pattern (recommended):
  • Switch dominant Strand every 3-5 chapters
  • Climax chapters can interweave multiple Strands
  • Concentrate Quest Strand in the last 3-5 chapters of the volume
For esports/live stream fiction/Cthulhu genres, apply the dedicated volume pacing template:
bash
cat "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-plan/references/outlining/genre-volume-pacing.md"

爽点密度规划策略

Cool Point Density Planning Strategy

Based on genre profile:
  • 常规章节: 1-2 个小爽点(强度 2-3)
  • 关键章节: 2-3 个爽点,至少 1 个中爽点(强度 4-5)
  • 高潮章节: 3-4 个爽点,至少 1 个大爽点(强度 6-7)
Distribution rule:
  • 每 5-8 章至少 1 个关键章节
  • 每卷至少 1 个高潮章节(通常在卷末)
Based on genre profile:
  • Regular chapters: 1-2 small cool points (intensity 2-3)
  • Key chapters: 2-3 cool points, at least 1 medium cool point (intensity 4-5)
  • Climax chapters: 3-4 cool points, at least 1 major cool point (intensity 6-7)
Distribution rule:
  • At least 1 key chapter every 5-8 chapters
  • At least 1 climax chapter per volume (usually at the end of the volume)

约束触发规划策略

Constraint Trigger Planning Strategy

If idea_bank.json exists:
bash
cat ".webnovel/idea_bank.json"
Calculate trigger frequency:
  • 反套路规则: 每 N 章触发 1 次
    • N = max(5, 总章数 / 10)
    • 例:50 章卷 → 每 5 章触发
    • 例:100 章卷 → 每 10 章触发
  • 硬约束: 贯穿全卷,在章节目标/爽点设计中体现
  • 主角缺陷: 每卷至少 2 次成为冲突来源
  • 反派镜像: 反派出场章节必须体现镜像对比
Use this template and fill from 总纲 + idea_bank:
markdown
undefined
If idea_bank.json exists:
bash
cat ".webnovel/idea_bank.json"
Calculate trigger frequency:
  • Anti-cliché rules: Trigger once every N chapters
    • N = max(5, total chapters / 10)
    • Example: 50-chapter volume → trigger every 5 chapters
    • Example: 100-chapter volume → trigger every 10 chapters
  • Hard constraints: Applied throughout the entire volume, reflected in chapter goals/cool point design
  • Protagonist flaws: Become a source of conflict at least 2 times per volume
  • Villain mirroring: Must reflect mirror comparison in chapters where villains appear
Use this template and fill from the master outline + idea_bank:
markdown
undefined

第 {volume_id} 卷:{卷名}

Volume {volume_id}: {Volume Name}

章节范围: 第 {start} - {end} 章 核心冲突: {conflict} 卷末高潮: {climax}
Chapter Range: Chapters {start} - {end} Core Conflict: {conflict} Volume-Ending Climax: {climax}

卷摘要

Volume Summary

{2-3 段落概述}
{2-3 paragraph overview}

关键人物与反派

Key Characters & Villains

  • 主要登场角色:
  • 反派层级:
  • Main Characters Introduced:
  • Villain Hierarchy:

Strand Weave 规划

Strand Weave Planning

章节范围主导 Strand内容概要
Chapter RangeDominant StrandContent Summary

爽点密度规划

Cool Point Density Planning

章节爽点类型具体内容强度
ChapterCool Point TypeDetailsIntensity

伏笔规划

Foreshadowing Planning

章节操作伏笔内容
ChapterActionForeshadowing Content

约束触发规划(如有)

Constraint Trigger Planning (if applicable)

  • 反套路规则:每 N 章触发一次
  • 硬约束:贯穿全卷
undefined
  • Anti-cliché Rules: Trigger once every N chapters
  • Hard Constraints: Applied throughout the volume
undefined

4) Generate chapter outlines (batched)

4) Generate chapter outlines (batched)

Batching rule:
  • ≤20 章:1 批
  • 21–40 章:2 批
  • 41–60 章:3 批
  • 60 章:4+ 批
Batching rule:
  • ≤20 chapters: 1 batch
  • 21–40 chapters: 2 batches
  • 41–60 chapters: 3 batches
  • 60 chapters: 4+ batches

Chapter generation strategy

Chapter generation strategy

For each chapter, determine:
1. Strand assignment (follow volume skeleton distribution)
  • Quest: 主线任务推进、目标达成、能力提升
  • Fire: 人物关系、情感冲突、团队动态
  • Constellation: 世界揭示、伏笔埋设、谜团推进
2. 爽点设计 (based on Strand and position)
  • Quest Strand → 成就爽点(打脸、逆袭、突破)
  • Fire Strand → 情感爽点(认可、保护、告白)
  • Constellation Strand → 认知爽点(真相、预言、身份)
3. 钩子设计 (based on next chapter's Strand)
  • 悬念钩子:提出问题、制造危机
  • 承诺钩子:预告奖励、暗示转折
  • 情感钩子:关系变化、角色危机
4. 反派层级 (based on volume skeleton)
  • 无:日常章节、修炼章节、关系章节
  • 小:小冲突、小反派、局部对抗
  • 中:中反派出场、重要冲突、阶段性对抗
  • 大:大反派出场、核心冲突、卷级高潮
5. 关键实体 (new or important)
  • 新角色:姓名 + 一句话定位
  • 新地点:名称 + 一句话描述
  • 新物品:名称 + 功能
  • 新势力:名称 + 立场
6. 约束检查 (if idea_bank exists)
  • 是否触发反套路规则?
  • 是否体现硬约束?
  • 是否展现主角缺陷?
  • 是否体现反派镜像?
Chapter format (include 反派层级 for context-agent):
markdown
undefined
For each chapter, determine:
1. Strand assignment (follow volume skeleton distribution)
  • Quest: Mainline task progression, goal achievement, ability improvement
  • Fire: Character relationships, emotional conflicts, team dynamics
  • Constellation: Worldview reveals, foreshadowing, mystery progression
2. Cool point design (based on Strand and position)
  • Quest Strand → Achievement cool points (humiliation reversal, underdog rise, breakthrough)
  • Fire Strand → Emotional cool points (recognition, protection, confession)
  • Constellation Strand → Cognitive cool points (truth, prophecy, identity revelation)
3. Hook design (based on next chapter's Strand)
  • Suspense hook: Raise questions, create crises
  • Promise hook: Tease rewards, hint at twists
  • Emotional hook: Relationship changes, character crises
4. Villain hierarchy (based on volume skeleton)
  • None: Daily chapters, cultivation chapters, relationship chapters
  • Minor: Small conflicts, minor villains, local confrontations
  • Medium: Medium villains appear, important conflicts, phased confrontations
  • Major: Major villains appear, core conflicts, volume-level climaxes
5. Key entities (new or important)
  • New characters: Name + one-sentence positioning
  • New locations: Name + one-sentence description
  • New items: Name + function
  • New forces: Name + stance
6. Constraint check (if idea_bank exists)
  • Is the anti-cliché rule triggered?
  • Are hard constraints reflected?
  • Are protagonist flaws demonstrated?
  • Is villain mirroring reflected?
Chapter format (include villain hierarchy for context-agent):
markdown
undefined

第 {N} 章:{标题}

Chapter {N}: {Title}

  • 目标: {20字以内}
  • 爽点: {类型} - {30字以内}
  • Strand: {Quest|Fire|Constellation}
  • 反派层级: {无/小/中/大}
  • 视角/主角: {主角A/主角B/女主/群像}
  • 关键实体: {新增或重要出场}
  • 钩子: {类型} - {30字以内}

**字段说明**:
- **钩子**:本章应设置的章末钩子(规划用)
  - 例:悬念钩 - 神秘人身份即将揭晓
  - 意思是:本章结尾要设置这个悬念钩子
  - 下章 context-agent 会读取 chapter_meta[N].hook(实际实现的钩子),生成"接住上章"指导
  - 钩子类型参考:悬念钩 | 危机钩 | 承诺钩 | 情绪钩 | 选择钩 | 渴望钩

Save after each batch:
```bash
@'
{batch_content}
'@ | Add-Content -Encoding UTF8 "$PROJECT_ROOT/大纲/第{volume_id}卷-详细大纲.md"
  • Goal: {≤20 characters}
  • Cool Point: {Type} - {≤30 characters}
  • Strand: {Quest|Fire|Constellation}
  • Villain Hierarchy: {None/Minor/Medium/Major}
  • POV/Protagonist: {Protagonist A/Protagonist B/Female Lead/Ensemble}
  • Key Entities: {New or important appearances}
  • Hook: {Type} - {≤30 characters}

**Field Explanations**:
- **Hook**: The end-of-chapter hook to be planned for this chapter
  - Example: Suspense Hook - The identity of the mysterious person is about to be revealed
  - Meaning: This chapter's ending should include this suspense hook
  - The next chapter's context-agent will read chapter_meta[N].hook (the actual implemented hook) to generate "pick up from previous chapter" guidance
  - Hook type references: Suspense Hook | Crisis Hook | Promise Hook | Emotional Hook | Choice Hook | Desire Hook

Save after each batch:
```bash
@'
{batch_content}
'@ | Add-Content -Encoding UTF8 "$PROJECT_ROOT/大纲/第{volume_id}卷-详细大纲.md"

5) Validate + save

5) Validate + save

Validation checks (must pass all)

Validation checks (must pass all)

1. 爽点密度检查
  • 每章 ≥1 小爽点(强度 2-3)
  • 每 5-8 章至少 1 个关键章节(强度 4-5)
  • 每卷至少 1 个高潮章节(强度 6-7)
2. Strand 比例检查 Count chapters by Strand and compare with genre profile:
  • Quest: 应占 55-65%
  • Fire: 应占 20-30%
  • Constellation: 应占 10-20%
If deviation > 15%, adjust chapter assignments.
3. 总纲一致性检查
  • 卷核心冲突是否贯穿章节?
  • 卷末高潮是否在最后 3-5 章体现?
  • 关键人物是否按计划登场?
4. 约束触发频率检查 (if idea_bank exists)
  • 反套路规则触发次数 ≥ 总章数 / N(N = max(5, 总章数/10))
  • 硬约束在至少 50% 章节中体现
  • 主角缺陷至少 2 次成为冲突来源
  • 反派镜像在反派出场章节中体现
5. 完整性检查 Every chapter must have:
  • 目标(20 字以内)
  • 爽点(类型 + 30 字描述)
  • Strand(Quest/Fire/Constellation)
  • 反派层级(无/小/中/大)
  • 视角/主角
  • 关键实体(至少 1 个)
  • 钩子(类型 + 30 字描述)
Update state (include chapters range):
bash
python "${CLAUDE_PLUGIN_ROOT}/scripts/update_state.py" \
  --project-root "$PROJECT_ROOT" \
  --volume-planned {volume_id} \
  --chapters-range "{start}-{end}"
Final check:
  • 章纲文件已写入:
    大纲/第{volume_id}卷-详细大纲.md
  • 每章包含:目标/爽点/Strand/反派层级/视角/关键实体/钩子
  • 与总纲冲突/高潮一致,约束触发频率合理(如有 idea_bank)
1. Cool point density check
  • Each chapter has ≥1 small cool point (intensity 2-3)
  • At least 1 key chapter every 5-8 chapters (intensity 4-5)
  • At least 1 climax chapter per volume (intensity 6-7)
2. Strand ratio check Count chapters by Strand and compare with genre profile:
  • Quest: Should account for 55-65%
  • Fire: Should account for 20-30%
  • Constellation: Should account for 10-20%
If deviation >15%, adjust chapter assignments.
3. Master outline consistency check
  • Does the volume's core conflict run through the chapters?
  • Is the volume-ending climax reflected in the last 3-5 chapters?
  • Do key characters appear as planned?
4. Constraint trigger frequency check (if idea_bank exists)
  • Number of anti-cliché rule triggers ≥ total chapters / N (N = max(5, total chapters/10))
  • Hard constraints are reflected in at least 50% of chapters
  • Protagonist flaws become a source of conflict at least 2 times
  • Villain mirroring is reflected in chapters where villains appear
5. Completeness check Every chapter must have:
  • Goal (≤20 characters)
  • Cool Point (type + ≤30 character description)
  • Strand (Quest/Fire/Constellation)
  • Villain Hierarchy (None/Minor/Medium/Major)
  • POV/Protagonist
  • Key Entities (at least 1)
  • Hook (type + ≤30 character description)
Update state (include chapters range):
bash
python "${CLAUDE_PLUGIN_ROOT}/scripts/update_state.py" \
  --project-root "$PROJECT_ROOT" \
  --volume-planned {volume_id} \
  --chapters-range "{start}-{end}"
Final check:
  • Chapter outline file has been written:
    大纲/第{volume_id}卷-详细大纲.md
  • Each chapter includes: Goal/Cool Point/Strand/Villain Hierarchy/POV/Key Entities/Hook
  • Consistent with master outline conflict/climax, reasonable constraint trigger frequency (if idea_bank is enabled)

Hard fail conditions (must stop)

Hard fail conditions (must stop)

  • 章纲文件不存在或为空
  • 任一章节缺少:目标/爽点/Strand/反派层级/视角/关键实体/钩子
  • 与总纲核心冲突或卷末高潮明显冲突
  • 约束触发频率不足(当 idea_bank 启用时)
  • Chapter outline file does not exist or is empty
  • Any chapter is missing: Goal/Cool Point/Strand/Villain Hierarchy/POV/Key Entities/Hook
  • Obvious conflict with master outline core conflict or volume-ending climax
  • Insufficient constraint trigger frequency (when idea_bank is enabled)

Rollback / recovery

Rollback / recovery

If any hard fail triggers:
  1. Stop and list the failing items.
  2. Re-generate only the failed batch (do not overwrite the whole file).
  3. If the last batch is invalid, remove that batch and rewrite it.
  4. Only update state after Final check passes.
Next steps:
  • 继续规划下一卷 → /webnovel-plan
  • 开始写作 → /webnovel-write
If any hard fail triggers:
  1. Stop and list the failing items.
  2. Re-generate only the failed batch (do not overwrite the whole file).
  3. If the last batch is invalid, remove that batch and rewrite it.
  4. Only update state after Final check passes.
Next steps:
  • Continue planning next volume → /webnovel-plan
  • Start writing → /webnovel-write