webnovel-plan
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseOutline 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 into it.
cd
- Must run inside a project containing .
.webnovel/state.json - If missing, ask for the project path and into it.
cd
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
- Load project data.
- Select volume and confirm scope.
- Generate volume skeleton.
- Generate chapter outlines in batches.
- Validate + save + update state.
- Load project data.
- Select volume and confirm scope.
- Generate volume skeleton.
- Generate chapter outlines in batches.
- 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- (inherit constraints)
.webnovel/idea_bank.json
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- (inherit constraints)
.webnovel/idea_bank.json
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
undefinedIf 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 Range | Dominant Strand | Content Summary |
|---|
爽点密度规划
Cool Point Density Planning
| 章节 | 爽点类型 | 具体内容 | 强度 |
|---|
| Chapter | Cool Point Type | Details | Intensity |
|---|
伏笔规划
Foreshadowing Planning
| 章节 | 操作 | 伏笔内容 |
|---|
| Chapter | Action | Foreshadowing Content |
|---|
约束触发规划(如有)
Constraint Trigger Planning (if applicable)
- 反套路规则:每 N 章触发一次
- 硬约束:贯穿全卷
undefined- Anti-cliché Rules: Trigger once every N chapters
- Hard Constraints: Applied throughout the volume
undefined4) 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
undefinedFor 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:
- Stop and list the failing items.
- Re-generate only the failed batch (do not overwrite the whole file).
- If the last batch is invalid, remove that batch and rewrite it.
- Only update state after Final check passes.
Next steps:
- 继续规划下一卷 → /webnovel-plan
- 开始写作 → /webnovel-write
If any hard fail triggers:
- Stop and list the failing items.
- Re-generate only the failed batch (do not overwrite the whole file).
- If the last batch is invalid, remove that batch and rewrite it.
- Only update state after Final check passes.
Next steps:
- Continue planning next volume → /webnovel-plan
- Start writing → /webnovel-write