name: webnovel-init
Goal: create a writing-ready project skeleton + creative constraints. No Quick/Standard mode.
Apply progressive disclosure:
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)references/genre-tropes.md@templates/genres/{genre}.md (only for selected genres in A+B)@templates/golden-finger-templates.mdreferences/worldbuilding/faction-systems.mdreferences/creativity/creativity-constraints.mdreferences/creativity/anti-trope-xianxia.md (修仙/玄幻/高武/西幻)references/creativity/anti-trope-rules-mystery.md (规则/悬疑/灵异)references/creativity/market-trends-2026.mdWave 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.
Order is flexible; group by theme.
Generation flow:
Collected data:
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.
-;为空或以 . 开头则前缀 proj-).claude/ 下生成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}"
Create .webnovel/idea_bank.json with the selected idea and inherited constraints.
{
"selected_idea": {
"title": "",
"one_liner": "",
"anti_trope": "",
"hard_constraints": []
},
"constraints_inherited": {
"anti_trope": "",
"hard_constraints": [],
"protagonist_flaw": "",
"antagonist_mirror": ""
}
}
After init, fill these fields in 大纲/总纲.md using collected info:
Get-Item "{project_root}/.webnovel/state.json"
Get-ChildItem "{project_root}/设定集" -Filter *.md
Get-Item "{project_root}/大纲/总纲.md"
.webnovel/state.json 存在且包含 title/genre/target_words/target_chapters设定集/世界观.md、力量体系.md、主角卡.md、金手指设计.md 已生成大纲/总纲.md 已填:一句话故事 / 核心主线 / 创意约束 / 反派分层.webnovel/idea_bank.json 已写入(有创意约束时)If any hard fail triggers: