webnovel-init
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseProject Initialization (Deep only)
项目初始化(仅深度模式)
Goal: create a writing-ready project skeleton + creative constraints. No Quick/Standard mode.
目标:创建可直接用于写作的项目框架+创意约束条件。无快速/标准模式。
Workflow
工作流程
- Ask for deep setup info (story, character, world, golden finger, constraints).
- Run init_project.py with full parameters.
- Write idea_bank.json.
- Patch 总纲.md with the collected core info.
- Verify files.
- 询问深度设置信息(故事、人物、世界观、金手指、约束条件)。
- 使用完整参数运行init_project.py。
- 写入idea_bank.json文件。
- 将收集到的核心信息补充到《总纲.md》中。
- 验证文件。
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:
- → relative to this skill directory (i.e.
references/...).claude/skills/webnovel-init/references/... - → relative to
@templates/...(project-level shared templates).claude/templates/...
采用渐进式披露原则:
- L0:在确认任务类型前,不加载任何额外内容。
- L1:仅加载当前阶段所需的最少文件。
- L2:仅在用户选择需要时加载条件性文件。
- L3:仅在用户明确请求时加载可选/时效性文件。
除非被阻止,否则不要递归加载参考文件内部的引用内容。
路径约定:
- → 相对于本Skill目录(即
references/...).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: (only for selected genres in A+B)
@templates/genres/{genre}.md - 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
- 选择题材后:(仅适用于A+B类中选中的题材)
@templates/genres/{genre}.md - 第三阶段(金手指)前:
@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:
- Load anti-trope library based on genre (xianxia or rules-mystery)
- Generate 2-3 creative packages, each containing:
- 书名变体(可选)
- 一句话卖点
- 反套路规则(从库中选 1 条)
- 主角缺陷(驱动故事)
- 反派镜像设计(一句话)
- 开篇钩子
- 硬约束 2–3 条
- Apply 三问筛选:
- Q1: 这题材为什么"只能这样写"?
- Q2: 这主角如果换成常规人设会崩吗?
- Q3: 这个卖点一句话能讲清、且不撞常见套路吗?
- Score each package (满分 50):
- 新颖度 25% | 市场性 20% | 可写性 20% | 爽点密度 20% | 长线潜力 15%
- Present packages to user for selection
Collected data:
- 反套路规则(从对应库选 1 条)
- 硬约束 2–3 条
- 主角缺陷如何驱动故事(一句话)
- 反派镜像如何体现(一句话)
- 开篇钩子 + 核心卖点 1–3 条
生成流程:
- 根据题材加载反套路库(修仙/玄幻类或规则悬疑类)
- 生成2-3个创意包,每个包含:
- 书名变体(可选)
- 一句话卖点
- 反套路规则(从库中选1条)
- 驱动故事的主角缺陷
- 反派镜像设计(一句话)
- 开篇钩子
- 2-3条硬性约束
- 应用三问筛选:
- Q1: 这个题材为什么"只能这样写"?
- Q2: 如果把主角换成常规人设,故事是否会崩塌?
- Q3: 这个卖点能否用一句话讲清楚,且不撞常见套路?
- 为每个创意包打分(满分50):
- 新颖度25% | 市场性20% | 可写性20% | 爽点密度20% | 长线潜力15%
- 将创意包呈现给用户供其选择
需收集的相关数据:
- 反套路规则(从对应库中选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 with the selected idea and inherited constraints.
.webnovel/idea_bank.jsonjson
{
"selected_idea": {
"title": "",
"one_liner": "",
"anti_trope": "",
"hard_constraints": []
},
"constraints_inherited": {
"anti_trope": "",
"hard_constraints": [],
"protagonist_flaw": "",
"antagonist_mirror": ""
}
}创建文件,写入选中的创意包及继承的约束条件。
.webnovel/idea_bank.jsonjson
{
"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 using collected info:
大纲/总纲.md- 故事一句话 / 核心主线 / 核心暗线
- 创意约束(反套路规则 / 硬约束 / 主角缺陷 / 反派镜像)
- 反派分层概要
- 关键爽点里程碑(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
最终检查
- 存在且包含 title/genre/target_words/target_chapters
.webnovel/state.json - 、
设定集/世界观.md、力量体系.md、主角卡.md已生成金手指设计.md - 已填:一句话故事 / 核心主线 / 创意约束 / 反派分层
大纲/总纲.md - 已写入(有创意约束时)
.webnovel/idea_bank.json
- 文件存在且包含title/genre/target_words/target_chapters字段
.webnovel/state.json - 、
设定集/世界观.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:
- Stop and report missing items.
- Ask only for missing info.
- Re-run the minimal step needed:
- Missing files → re-run init_project.py.
- 总纲缺字段 → patch 总纲.md only.
- idea_bank.json 缺失 → write it only.
- Re-run Final check. Do not proceed to /webnovel-plan until passing.
若触发任何硬性失败条件:
- 停止操作并报告缺失项。
- 仅询问缺失的信息。
- 仅重新运行必要的最小步骤:
- 缺失文件 → 重新运行init_project.py。
- 总纲字段缺失 → 仅补充《总纲.md》。
- idea_bank.json缺失 → 仅写入该文件。
- 重新运行最终检查。在通过检查前,不得进入/webnovel-plan环节。