fiction-start:正式开书
这是一个心理仪式 + 状态切换。开书前用户可自由调整设定/大纲/扫榜/拆书。 开书后设定锁定为基线,系统正式进入写作阶段。
前置条件
以下文件必须存在(由 fiction-setup + fiction-conceive 产生):
.novel/state.json设定集/主角卡.md(含欲望/缺陷/能力/代价)设定集/世界观.md设定集/核心冲突.md(含一句话梗概)大纲/总纲草案.md
缺失则提示用户先完成对应步骤,不强开。
检查清单
═══════════════════════════════════════
正式开书前检查清单
═══════════════════════════════════════
☐ 书名: {读取}
☐ 题材: {读取}
☐ 主角设定: 欲望({}) + 缺陷({})
☐ 世界观框架: {已确立/未完成}
☐ 核心冲突: {已定/未定}
☐ 总纲草案: {存在/缺失}
⬜ 可选: 文风档案 → {存在/缺失}
⬜ 可选: 扫榜分析 → {已完成/未做}
⬜ 可选: 对标拆书 → {已完成/未做}
─────────────────────────────────
建议项(⬜)可选,不影响开书但建议准备。
必填缺失则提示补完再回来。
下一步:
1. 补完必填项再回来
2. 先做扫榜/拆文,再回来看市场
必填项未完成时不得跳过并开书;可选项缺失不阻断。
开书执行
用户确认后,系统执行:
# SCRIPTS_DIR 由安装宿主指向本仓库或已安装的 scripts/ 目录。
export PROJECT_ROOT="${CODEX_PROJECT_DIR:-${CLAUDE_PROJECT_DIR:-$PWD}}"
1. 锁定构思文件
将总纲草案升级为正式总纲:
大纲/总纲草案.md→ 去除"草案"标记- 在
大纲/总纲.md中写入核心主线、创意约束(反套路规则/硬约束/主角缺陷/反派镜像)
2. 初始化 Story System 底本
# 生成 MASTER_SETTING.json(全局调性、核心禁忌、题材映射)
python -X utf8 "${SCRIPTS_DIR}/fiction.py" --project-root "${PROJECT_ROOT}" init-contract
3. 更新 state.json
{
"progress": { "writing_started": true },
"versions": { "baseline_version": 1 }
}
4. 输出开书报告
═══════════════════════════════════════
🎉 正式开书完成!
状态:
· 设定集已锁定为基线
· 底本已初始化(版本号以脚本输出为准)
· 当前阶段:正文写作就绪
现在可以规划第 1 卷:
→ fiction-plan 1
或者继续调整构思:
→ fiction-conceive
═══════════════════════════════════════
开书前 vs 开书后行为差异
| 维度 | 开书前 | 开书后 |
|---|---|---|
| 修改设定 | 随意改 | 改完需传播检测 |
| 写正文 | 不支持 | 正常 |
| 底本 | 不存在 | 执行 init-contract 后存在(版本号以输出为准) |
| fiction-write | 提示"请先 fiction-start" | 正常 |
| fiction-plan | 只做规划,不同步底本 | 规划 + 同步底本 |
开书后每次 fiction-plan 只有在实际写入底本时才刷新对应版本号;若底本不存在或同步失败,必须报告未同步。
参考
Story System 底本初始化由 scripts/fiction.py 的 init-contract 子命令完成。
底本刷新由 fiction-plan 和 fiction-write 负责,start 只做初始建立。
致谢
本 skill 的开发参考了以下开源项目的思路与实现:
感谢原作者的开源贡献。
