webnovel-init

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Project Initialization (Deep only)

项目初始化(仅深度模式)

Goal: create a writing-ready project skeleton + creative constraints. No Quick/Standard mode.
目标:创建可直接用于写作的项目框架+创意约束条件。无快速/标准模式。

Workflow

工作流程

  1. Ask for deep setup info (story, character, world, golden finger, constraints).
  2. Run init_project.py with full parameters.
  3. Write idea_bank.json.
  4. Patch 总纲.md with the collected core info.
  5. Verify files.
  1. 询问深度设置信息(故事、人物、世界观、金手指、约束条件)。
  2. 使用完整参数运行init_project.py。
  3. 写入idea_bank.json文件。
  4. 将收集到的核心信息补充到《总纲.md》中。
  5. 验证文件。

Reference Loading Levels (strict, lazy)

参考资料加载级别(严格、延迟)

Apply progressive disclosure:
  • L0: Load nothing extra until task type is confirmed.
  • L1: Load only the minimum file needed for the current wave.
  • L2: Load conditional files only when the user choice requires them.
  • L3: Load optional/time-sensitive files only on explicit user request.
Do not recursively chase references inside a reference file unless blocked.
Path conventions:
  • references/...
    → relative to this skill directory (i.e.
    .claude/skills/webnovel-init/references/...
    )
  • @templates/...
    → relative to
    .claude/templates/...
    (project-level shared templates)
采用渐进式披露原则:
  • L0:在确认任务类型前,不加载任何额外内容。
  • L1:仅加载当前阶段所需的最少文件。
  • L2:仅在用户选择需要时加载条件性文件。
  • L3:仅在用户明确请求时加载可选/时效性文件。
除非被阻止,否则不要递归加载参考文件内部的引用内容。
路径约定:
  • references/...
    → 相对于本Skill目录(即
    .claude/skills/webnovel-init/references/...
  • @templates/...
    → 相对于
    .claude/templates/...
    (项目级共享模板)

L1 (minimum, wave-gated)

L1(最少内容,按阶段加载)

  • Before Wave 1:
    references/genre-tropes.md
  • 第一阶段前:
    references/genre-tropes.md

L2 (conditional)

L2(条件性加载)

  • After genre selection:
    @templates/genres/{genre}.md
    (only for selected genres in A+B)
  • Before Wave 3 (golden finger):
    @templates/golden-finger-templates.md
  • Before Wave 4 (world):
    references/worldbuilding/faction-systems.md
  • Before Wave 4 (constraints):
    • references/creativity/creativity-constraints.md
    • references/creativity/anti-trope-xianxia.md
      (修仙/玄幻/高武/西幻)
    • references/creativity/anti-trope-rules-mystery.md
      (规则/悬疑/灵异)
  • 选择题材后:
    @templates/genres/{genre}.md
    (仅适用于A+B类中选中的题材)
  • 第三阶段(金手指)前:
    @templates/golden-finger-templates.md
  • 第四阶段(世界观)前:
    references/worldbuilding/faction-systems.md
  • 第四阶段(约束条件)前:
    • references/creativity/creativity-constraints.md
    • references/creativity/anti-trope-xianxia.md
      (修仙/玄幻/高武/西幻)
    • references/creativity/anti-trope-rules-mystery.md
      (规则/悬疑/灵异)

L3 (optional, explicit only)

L3(可选,仅明确请求时加载)

  • references/creativity/market-trends-2026.md
  • If used, explicitly mark it as time-sensitive and verify freshness before relying on it.
  • references/creativity/market-trends-2026.md
  • 若使用该文件,需明确标记其具有时效性,并在依赖前验证内容的新鲜度。

Questioning style

提问风格

  • Ask in 3–4 conversational waves; avoid rigid templates.
  • Ask only missing info; confirm before generation.
  • Offer options only when the user is stuck.
  • 以3-4轮对话式提问;避免使用僵化的模板。
  • 仅询问缺失的信息;在生成前确认所有信息。
  • 仅在用户陷入困境时提供选项。

Suggested grouping (flexible)

建议分组(灵活调整)

Wave 1: 书名 + 题材 + 目标规模 + 一句话故事 Wave 2: 主角(姓名/欲望/缺陷/结构) + 感情线 + 反派分层 Wave 3: 金手指(类型/名称/风格/可见度/代价) + 条件追问 Wave 4: 世界观(规模/力量/势力/阶层/境界) + 创意约束确认
Adjust order based on user's initial input. If user provides detailed info upfront, skip to missing items.
第一轮:书名 + 题材 + 目标规模 + 一句话故事 第二轮:主角(姓名/欲望/缺陷/结构) + 感情线 + 反派分层 第三轮:金手指(类型/名称/风格/可见度/代价) + 针对性追问 第四轮:世界观(规模/力量/势力/阶层/境界) + 创意约束确认
可根据用户的初始输入调整顺序。若用户提前提供了详细信息,可直接跳过已提供的部分,仅询问缺失项。

Required data (collect and map)

需收集的必填数据(分类整理)

Order is flexible; group by theme.
顺序可灵活调整;按主题分组。

A) Project scale & premise

A) 项目规模与核心设定

  • 书名
  • 题材(支持 A+B)
    • 玄幻修仙类: 修仙 | 系统流 | 高武 | 西幻 | 无限流 | 末世 | 科幻
    • 都市现代类: 都市异能 | 都市日常 | 都市脑洞 | 现实题材 | 黑暗题材 | 电竞 | 直播文
    • 言情类: 古言 | 宫斗宅斗 | 青春甜宠 | 豪门总裁 | 职场婚恋 | 民国言情 | 幻想言情 | 现言脑洞 | 女频悬疑 | 狗血言情 | 替身文 | 多子多福 | 种田 | 年代
    • 特殊题材: 规则怪谈 | 悬疑脑洞 | 悬疑灵异 | 历史古代 | 历史脑洞 | 游戏体育 | 抗战谍战 | 知乎短篇 | 克苏鲁
  • 目标规模:总字数或总章数(若只给总字数,默认按每章 3500 估算并告知)
  • 一句话故事 + 核心冲突 + 主线目标
  • 目标读者/平台(可一句话描述)
  • 书名
  • 题材(支持A+B复合题材)
    • 玄幻修仙类: 修仙 | 系统流 | 高武 | 西幻 | 无限流 | 末世 | 科幻
    • 都市现代类: 都市异能 | 都市日常 | 都市脑洞 | 现实题材 | 黑暗题材 | 电竞 | 直播文
    • 言情类: 古言 | 宫斗宅斗 | 青春甜宠 | 豪门总裁 | 职场婚恋 | 民国言情 | 幻想言情 | 现言脑洞 | 女频悬疑 | 狗血言情 | 替身文 | 多子多福 | 种田 | 年代
    • 特殊题材: 规则怪谈 | 悬疑脑洞 | 悬疑灵异 | 历史古代 | 历史脑洞 | 游戏体育 | 抗战谍战 | 知乎短篇 | 克苏鲁
  • 目标规模:总字数或总章节数(若仅提供总字数,默认按每章3500字估算并告知用户)
  • 一句话故事 + 核心冲突 + 主线目标
  • 目标读者/平台(可一句话描述)

B) 主角与阵营

B) 主角与阵营

  • 主角姓名、人设类型、核心欲望、关键缺陷
  • 主角结构(单/多主角)+ 多主角姓名与定位
  • 感情线:无/单女主/多女主;女主姓名与定位
  • 反派分层(小/中/大)+ 反派镜像一句话 + 反派等级(若有)
  • 主角姓名、人设类型、核心欲望、关键缺陷
  • 主角结构(单/多主角)+ 多主角姓名与定位
  • 感情线:无/单女主/多女主;女主姓名与定位
  • 反派分层(小/中/大)+ 反派镜像一句话描述 + 反派等级(若有)

C) 金手指

C) 金手指

  • 类型、名称/系统名、风格
    • 常见类型: 系统面板 | 重生记忆 | 老爷爷/传承 | 血脉觉醒 | 异能觉醒 | 随身空间 | 无金手指
  • 读者可见度、不可逆代价、成长节奏
  • 条件追问(根据类型):
    • 系统面板 → 系统性格、系统命名、升级节奏
    • 重生记忆 → 重生时间点、记忆完整度、先知程度
    • 老爷爷/传承 → 器灵性格、器灵实力、辅助方式
    • 随身空间 → 空间大小、特殊功能、升级方式
    • 血脉觉醒 → 血脉来源、觉醒条件、能力限制
    • 异能觉醒 → 异能来源、异能上限、是否可进化
    • 无金手指 → 主角天赋、特殊机遇、成长路线
  • 类型、名称/系统名、风格
    • 常见类型: 系统面板 | 重生记忆 | 老爷爷/传承 | 血脉觉醒 | 异能觉醒 | 随身空间 | 无金手指
  • 读者可见度、不可逆代价、成长节奏
  • 针对性追问(根据类型):
    • 系统面板 → 系统性格、系统命名、升级节奏
    • 重生记忆 → 重生时间点、记忆完整度、先知程度
    • 老爷爷/传承 → 器灵性格、器灵实力、辅助方式
    • 随身空间 → 空间大小、特殊功能、升级方式
    • 血脉觉醒 → 血脉来源、觉醒条件、能力限制
    • 异能觉醒 → 异能来源、异能上限、是否可进化
    • 无金手指 → 主角天赋、特殊机遇、成长路线

D) 世界观与力量

D) 世界观与力量体系

  • 世界规模、势力格局、力量体系类型
  • 社会阶层、资源分配
  • 货币体系 + 兑换规则
  • 宗门/组织层级
  • 境界链 + 小境界划分(如适用)
  • 世界规模、势力格局、力量体系类型
  • 社会阶层、资源分配
  • 货币体系 + 兑换规则
  • 宗门/组织层级
  • 境界链 + 小境界划分(如适用)

E) 创意约束

E) 创意约束

Generation flow:
  1. Load anti-trope library based on genre (xianxia or rules-mystery)
  2. Generate 2-3 creative packages, each containing:
    • 书名变体(可选)
    • 一句话卖点
    • 反套路规则(从库中选 1 条)
    • 主角缺陷(驱动故事)
    • 反派镜像设计(一句话)
    • 开篇钩子
    • 硬约束 2–3 条
  3. Apply 三问筛选:
    • Q1: 这题材为什么"只能这样写"?
    • Q2: 这主角如果换成常规人设会崩吗?
    • Q3: 这个卖点一句话能讲清、且不撞常见套路吗?
  4. Score each package (满分 50):
    • 新颖度 25% | 市场性 20% | 可写性 20% | 爽点密度 20% | 长线潜力 15%
  5. Present packages to user for selection
Collected data:
  • 反套路规则(从对应库选 1 条)
  • 硬约束 2–3 条
  • 主角缺陷如何驱动故事(一句话)
  • 反派镜像如何体现(一句话)
  • 开篇钩子 + 核心卖点 1–3 条
生成流程:
  1. 根据题材加载反套路库(修仙/玄幻类或规则悬疑类)
  2. 生成2-3个创意包,每个包含:
    • 书名变体(可选)
    • 一句话卖点
    • 反套路规则(从库中选1条)
    • 驱动故事的主角缺陷
    • 反派镜像设计(一句话)
    • 开篇钩子
    • 2-3条硬性约束
  3. 应用三问筛选:
    • Q1: 这个题材为什么"只能这样写"?
    • Q2: 如果把主角换成常规人设,故事是否会崩塌?
    • Q3: 这个卖点能否用一句话讲清楚,且不撞常见套路?
  4. 为每个创意包打分(满分50):
    • 新颖度25% | 市场性20% | 可写性20% | 爽点密度20% | 长线潜力15%
  5. 将创意包呈现给用户供其选择
需收集的相关数据:
  • 反套路规则(从对应库中选1条)
  • 2-3条硬性约束
  • 主角缺陷如何驱动故事(一句话描述)
  • 反派镜像如何体现(一句话描述)
  • 开篇钩子 + 1-3条核心卖点

Generate project

生成项目

Sufficiency check (must pass before running init)

充分性检查(运行初始化前必须通过)

Hard requirement: do not run init_project.py until all items below are known or explicitly deferred by the user.
  • 书名、题材(含复合题材)
  • 目标规模(总字数或总章数)
  • 主角姓名 + 欲望 + 缺陷
  • 世界规模 + 力量体系类型
  • 金手指类型(可为“无金手指”)
  • 反套路规则 + 硬约束(若用户拒绝创意约束,必须明确记录)
If any is missing, stop and ask only for the missing items.
硬性要求:在以下所有项均已明确或被用户明确推迟前,不得运行init_project.py。
  • 书名、题材(含复合题材)
  • 目标规模(总字数或总章节数)
  • 主角姓名 + 核心欲望 + 关键缺陷
  • 世界规模 + 力量体系类型
  • 金手指类型(可为“无金手指”)
  • 反套路规则 + 硬性约束(若用户拒绝创意约束,必须明确记录)
若有任何一项缺失,停止操作并仅询问缺失的内容。

Project directory

项目目录

  • project_root = 书名安全化(去非法字符,空格转
    -
    ;为空或以
    .
    开头则前缀
    proj-
  • 禁止在
    .claude/
    下生成
  • project_root = 书名安全化处理(移除非法字符,空格替换为
    -
    ;若为空或以
    .
    开头则添加前缀
    proj-
  • 禁止在
    .claude/
    目录下生成项目

Run init script

运行初始化脚本

bash
python "${CLAUDE_PLUGIN_ROOT}/scripts/init_project.py" \
  "{project_root}" \
  "{title}" \
  "{genre}" \
  --protagonist-name "{protagonist_name}" \
  --target-words {target_words} \
  --target-chapters {target_chapters} \
  --golden-finger-name "{gf_name}" \
  --golden-finger-type "{gf_type}" \
  --golden-finger-style "{gf_style}" \
  --core-selling-points "{core_points}" \
  --protagonist-structure "{protagonist_structure}" \
  --heroine-config "{heroine_config}" \
  --heroine-names "{heroine_names}" \
  --heroine-role "{heroine_role}" \
  --co-protagonists "{co_protagonists}" \
  --co-protagonist-roles "{co_protagonist_roles}" \
  --antagonist-tiers "{antagonist_tiers}" \
  --world-scale "{world_scale}" \
  --factions "{factions}" \
  --power-system-type "{power_system_type}" \
  --social-class "{social_class}" \
  --resource-distribution "{resource_distribution}" \
  --gf-visibility "{gf_visibility}" \
  --gf-irreversible-cost "{gf_irreversible_cost}" \
  --currency-system "{currency_system}" \
  --currency-exchange "{currency_exchange}" \
  --sect-hierarchy "{sect_hierarchy}" \
  --cultivation-chain "{cultivation_chain}" \
  --cultivation-subtiers "{cultivation_subtiers}" \
  --protagonist-desire "{protagonist_desire}" \
  --protagonist-flaw "{protagonist_flaw}" \
  --protagonist-archetype "{protagonist_archetype}" \
  --antagonist-level "{antagonist_level}" \
  --target-reader "{target_reader}" \
  --platform "{platform}"
bash
python "${CLAUDE_PLUGIN_ROOT}/scripts/init_project.py" \
  "{project_root}" \
  "{title}" \
  "{genre}" \
  --protagonist-name "{protagonist_name}" \
  --target-words {target_words} \
  --target-chapters {target_chapters} \
  --golden-finger-name "{gf_name}" \
  --golden-finger-type "{gf_type}" \
  --golden-finger-style "{gf_style}" \
  --core-selling-points "{core_points}" \
  --protagonist-structure "{protagonist_structure}" \
  --heroine-config "{heroine_config}" \
  --heroine-names "{heroine_names}" \
  --heroine-role "{heroine_role}" \
  --co-protagonists "{co_protagonists}" \
  --co-protagonist-roles "{co_protagonist_roles}" \
  --antagonist-tiers "{antagonist_tiers}" \
  --world-scale "{world_scale}" \
  --factions "{factions}" \
  --power-system-type "{power_system_type}" \
  --social-class "{social_class}" \
  --resource-distribution "{resource_distribution}" \
  --gf-visibility "{gf_visibility}" \
  --gf-irreversible-cost "{gf_irreversible_cost}" \
  --currency-system "{currency_system}" \
  --currency-exchange "{currency_exchange}" \
  --sect-hierarchy "{sect_hierarchy}" \
  --cultivation-chain "{cultivation_chain}" \
  --cultivation-subtiers "{cultivation_subtiers}" \
  --protagonist-desire "{protagonist_desire}" \
  --protagonist-flaw "{protagonist_flaw}" \
  --protagonist-archetype "{protagonist_archetype}" \
  --antagonist-level "{antagonist_level}" \
  --target-reader "{target_reader}" \
  --platform "{platform}"

Write idea_bank.json

写入idea_bank.json

Create
.webnovel/idea_bank.json
with the selected idea and inherited constraints.
json
{
  "selected_idea": {
    "title": "",
    "one_liner": "",
    "anti_trope": "",
    "hard_constraints": []
  },
  "constraints_inherited": {
    "anti_trope": "",
    "hard_constraints": [],
    "protagonist_flaw": "",
    "antagonist_mirror": ""
  }
}
创建
.webnovel/idea_bank.json
文件,写入选中的创意包及继承的约束条件。
json
{
  "selected_idea": {
    "title": "",
    "one_liner": "",
    "anti_trope": "",
    "hard_constraints": []
  },
  "constraints_inherited": {
    "anti_trope": "",
    "hard_constraints": [],
    "protagonist_flaw": "",
    "antagonist_mirror": ""
  }
}

Patch 总纲.md

补充《总纲.md》

After init, fill these fields in
大纲/总纲.md
using collected info:
  • 故事一句话 / 核心主线 / 核心暗线
  • 创意约束(反套路规则 / 硬约束 / 主角缺陷 / 反派镜像)
  • 反派分层概要
  • 关键爽点里程碑(2–3 条)
初始化完成后,将收集到的信息填入
大纲/总纲.md
的以下字段:
  • 故事一句话 / 核心主线 / 核心暗线
  • 创意约束(反套路规则 / 硬约束 / 主角缺陷 / 反派镜像)
  • 反派分层概要
  • 关键爽点里程碑(2-3条)

Verify

验证文件

bash
Get-Item "{project_root}/.webnovel/state.json"
Get-ChildItem "{project_root}/设定集" -Filter *.md
Get-Item "{project_root}/大纲/总纲.md"
bash
Get-Item "{project_root}/.webnovel/state.json"
Get-ChildItem "{project_root}/设定集" -Filter *.md
Get-Item "{project_root}/大纲/总纲.md"

Final check

最终检查

  • .webnovel/state.json
    存在且包含 title/genre/target_words/target_chapters
  • 设定集/世界观.md
    力量体系.md
    主角卡.md
    金手指设计.md
    已生成
  • 大纲/总纲.md
    已填:一句话故事 / 核心主线 / 创意约束 / 反派分层
  • .webnovel/idea_bank.json
    已写入(有创意约束时)
  • .webnovel/state.json
    文件存在且包含title/genre/target_words/target_chapters字段
  • 设定集/世界观.md
    力量体系.md
    主角卡.md
    金手指设计.md
    已生成
  • 大纲/总纲.md
    已填写:一句话故事 / 核心主线 / 创意约束 / 反派分层
  • .webnovel/idea_bank.json
    已写入(当启用创意约束时)

Hard fail conditions (must stop)

硬性失败条件(必须停止操作)

  • 任一关键文件不存在(state.json / 总纲.md / 设定集主文件)
  • 总纲关键字段为空(故事一句话 / 核心主线 / 创意约束 / 反派分层)
  • idea_bank.json 需要但未生成(当创意约束被启用时)
  • 任一关键文件缺失(state.json / 总纲.md / 设定集核心文件)
  • 总纲的关键字段为空(故事一句话 / 核心主线 / 创意约束 / 反派分层)
  • 需启用创意约束但未生成idea_bank.json文件

Rollback / recovery

回滚/恢复

If any hard fail triggers:
  1. Stop and report missing items.
  2. Ask only for missing info.
  3. Re-run the minimal step needed:
    • Missing files → re-run init_project.py.
    • 总纲缺字段 → patch 总纲.md only.
    • idea_bank.json 缺失 → write it only.
  4. Re-run Final check. Do not proceed to /webnovel-plan until passing.
若触发任何硬性失败条件:
  1. 停止操作并报告缺失项。
  2. 仅询问缺失的信息。
  3. 仅重新运行必要的最小步骤:
    • 缺失文件 → 重新运行init_project.py。
    • 总纲字段缺失 → 仅补充《总纲.md》。
    • idea_bank.json缺失 → 仅写入该文件。
  4. 重新运行最终检查。在通过检查前,不得进入/webnovel-plan环节。