소스 정보
- 저장소
- cwjdong-design/novel
- 최근 소스 활동
- 2026년 8월 12일 17:30
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 0
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/cwjdong-design/novel --skill novel-main명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | novel-main |
| description | 番茄小说章节全流程创作 — 统筹调用所有子技能,按7步状态机完成从资料整理到备份的完整流程。支持中断恢复与自动/确认双模式 |
| category | novel |
版本历史见 git 提交记录,不在技能正文维护。
用户说「写第X章」「继续下一章」「生成一章」「续写」时使用本技能。
🚫 硬性约束:用户未明确说"继续""写第X章"时,严禁擅自推进到下一章。写完当前章后必须等待用户确认,不得自动开始新章。
在进入状态机之前,执行以下检查:
确保状态目录存在:mkdir -p ~/.hermes/skills/novel/_state/。此目录用于存储进度文件和活跃书记录。同时确保 ~/novels/_shared/{logs,backups} 存在(为 cron 预留)。
确认工作书:读取 ~/.hermes/skills/novel/_state/current_book.txt,获取当前活跃书名。如果为空或不存在,提示用户选择书籍。
确认目录存在:检查 ~/novels/books/<书名>/ 目录存在(否则先调用 novel-new-book)。
确认目标章节号:
01-正文存稿/ 下最大章节号 + 1尝试恢复中断任务:检查 ~/.hermes/skills/novel/_state/<书名>_progress.json,如果存在且 status != 'completed':
milestone_blocked == true:拦截并提示「⚠️ 第 N 章里程碑审查未通过,请先修正阻塞问题后再继续。阻塞报告见 00-大纲细纲/里程碑审查_第N章.md」。不允许开始新章节。检查章节规划内容:读取 00-大纲细纲/章节规划.md,查找目标章节号对应行。
00-大纲细纲/章节规划.md 中为该章填写具体章节标题后再开始生成。」00-大纲细纲/章节规划.md 中为第 1 章填写具体核心事件后再开始生成。」不允许从主线大纲自动提取替代——章节规划是硬性底线。00-大纲细纲/章节规划.md 中填写该章计划后再生成。」等待用户补充后重新触发。00-大纲细纲/章节规划.md 中补充该章计划后再生成。」等待用户补充后重新触发。IDLE → PREP → PLOT → DRAFT → REVIEW → POLISH → TRACK → [章节号%5==0 → MILESTONE] → BACKUP → COMPLETED
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
(任意步骤失败可回退至 PREP 或用户取消,MILESTONE 阻塞时须回退修正对应章节后方可继续)
每个步骤有 3 种状态流转:
→ next:正常进入下一步↻ retry:失败后重试(最多 2 次)← rollback:回退至 PREP 重新开始MILESTONE 特殊规则:
current_step 标记 milestone_blocked,状态机暂停。用户必须修正对应问题的章节后重新触发。---
### 步骤 1:PREP(资料整理)
**调用子技能**:`novel-prep` + `novel-character`(人物 Want/Need 追踪)
**传入参数**:
```json
{
"book_name": "<书名>",
"chapter_num": <章节号>
}
🔒 加载书配置(不可跳过):
读取 ~/novels/books/<书名>/02-设定文档/书配置.md,提取以下规则供后续步骤使用:
⚠️ 如果书配置.md 不存在,提示用户先创建(可参考
novel-new-book§3.35 模板)。
人物 Want/Need 更新(加载 novel-character):
期望输出格式:
## 创作上下文(第 X 章)
### 前文关键信息
- 上一章结尾:<文本>
- 章末钩子:<文本>
### 人物当前状态
| 人物 | 状态 | 最近变化 |
|------|------|---------|
| ... | ... | ... |
### 待回收伏笔(优先级排序)
1. [伏笔内容] — 计划第 Y 章回收(⚠️正常 / 🚨超期 Z 章)
### 本章大纲要点
<从章节规划提取>
### 近期修正反馈
<从错误库提取,如无则写「无」>
调用子技能:novel-plot
传入参数:
{
"大纲要点": "<从步骤1 prep_output 中提取的「本章大纲要点」区块>",
"前文上下文": "<从步骤1 prep_output 中提取的完整上下文(人物状态、伏笔、修正反馈)>",
"目标章节号": <章节号>
}
🔒 跨章节奏门控(硬性,不可跳过):进入 PLOT 推演前,必须对最近 4 章(Ch.N-4 至 Ch.N-1)做情绪曲线分析,检测节奏衰退。检测方法:读取最近 4 章正文,逐章标注情绪类型(爽/建设/危机/压抑/调查),然后检查以下阈值:
| 信号 | 阈值 | 触发动作 |
|---|---|---|
| 连续无打脸 | ≥ 3 章 | 🔴 本章 PLOT 必须包含至少 1 次当众打脸(质疑→实力→闭嘴),否则退回重推 |
| 连续无正面胜利 | ≥ 3 章 | 🔴 本章 PLOT 必须包含至少 1 次「赢」(对手退让/围观者认可/问题解决) |
| 连续同情绪类型 | ≥ 3 章 | 🔴 本章情绪类型必须切换(如连续压抑→本章必须有释放/反转) |
| 主角连续被动 | ≥ 3 章 | 🔴 本章 PLOT 必须让主角主动出击(不是应对危机,是制造局面) |
| 反派隔空出手 | ≥ 3 章 | ⚠️ 本章建议让反派或其代理人正面出场 |
来源:
references/general/writing-rhythm.md。MILESTONE 每 5 章才检测一次,但节奏衰退从第 3 章就开始可观测。PLOT 门控把检测前移到每章,防止「写完 5 章才发现无聊」。与 MILESTONE 的分工:PLOT 门控是前瞻性的——看前几章的症状,决定本章该怎么写;MILESTONE 是回顾性的——5章写完后整体验收质量。两者有交叉但不矛盾:PLOT 门控防患于未然,MILESTONE 兜底验收。同一类问题(如「连续重复」),PLOT 门控触发时强制本章变化,MILESTONE 触发时阻塞并要求回退修正。
门控输出格式(PLOT 推演前置区块):
### 跨章节奏诊断(Ch.N-4 ~ Ch.N-1)
| 章节 | 情绪类型 | 有打脸 | 有正面胜利 | 主角主动/被动 |
|------|---------|--------|-----------|-------------|
| Ch.N-4 | 建设/危机/... | ✅/❌ | ✅/❌ | 主动/被动 |
| ... | ... | ... | ... | ... |
**触发阈值**:<列出触发的🔴项及本章强制对策>
**本章情绪目标**:<如:连续3章压抑→本章必须有释放/反转>
🔒 系统退化检测(与节奏门控并行执行):读取最近 5 章面板内容,检查系统是否退化为「计算器」(详见 references/general/system-golden-finger-design.md → 系统退化诊断清单 + references/general/writing-rhythm.md → 系统退化检测)。触发以下任一🔴→ 本章 PLOT 必须让系统做至少一件不可替代的事(弹新维度/数字跳变/情报优势/格局重定义):
🔒 剧情推进速度检测(与节奏门控并行执行):读取章节规划和最近 20 章正文,检查整体推进速度(详见 references/general/writing-rhythm.md → 剧情推进速度检测)。触发以下任一🔴→ 本章 PLOT 必须包含格局升级动作:
期望输出格式:
## 第 X 章剧情推演
### 跨章节奏诊断(Ch.N-4 ~ Ch.N-1)
<门控输出>
### 核心事件
(一句话)
### 情节节点
| # | 阶段 | 字数 | 内容 |
|---|------|------|------|
| 1 | 开场 | 350 | ... |
| 2 | 推进 | 1600 | ... |
| 3 | 高潮 | 450 | ... |
| 4 | 钩子 | 100 | ... |
### 本章涉及的伏笔
- 新增铺垫:XXX(计划第 Y 章回收)
- 回收伏笔:XXX
### 人物情感弧线
- 主角:XXX → XXX
🚫 硬性约束:助理不得直接写正文。DRAFT = 生成骨架(预审) → delegate_task 子智能体写正文 → 主 Agent 验证落盘。
⚠️ DRAFT/POLISH 文字创作通过 Hermes delegate_task 派发子智能体完成(模型为当前会话模型),不调度 Claude Code CLI。子智能体只生成文本返回,主 Agent 负责验证和落盘。
🔒 容量预审(硬性,不可跳过):进入 DRAFT 前必须检查骨架容量:
执行流程:
novel-skeleton 技能规范写骨架,存项目目录 00-大纲细纲/章节骨架/第N章_骨架.md。python3 ~/.hermes/skills/novel/scripts/review_scan.py <骨架路径> --book <书名> — ⛔ 骨有毒肉全烂,必须零违禁。--book 参数用于从 02-设定文档/书配置.md 加载该书的地名白名单/黑名单/系统违禁词。助理禁止:直接写正文、改骨架中数字/地名/面板、不预审派发。
🔒 前置自检(不可跳过):无论 PREP 是否已执行,DRAFT 必须自动收集以下上下文后再构造 prompt:
# 1. 人物卡(如 PREP 未执行,自动拉取)
cat ~/novels/books/<书名>/02-设定文档/人物库/*.md 2>/dev/null || echo "⚠️ 人物库为空"
# 2. 前文时间线速查(如 TRACK 未执行,自动生成基础版)
cat ~/novels/books/<书名>/06-追踪记录/前文时间线速查.md 2>/dev/null || echo "⚠️ 时间线为空"
# 3. 章节规划
grep "第<X>章" ~/novels/books/<书名>/00-大纲细纲/章节规划.md 2>/dev/null || echo "⚠️ 无章节规划"
# 4. 最近3章正文(自动提取)
ls -t ~/novels/books/<书名>/01-正文存稿/第*.md | head -3 | xargs cat 2>/dev/null
以上收集到的内容全部注入 delegate_task 的 goal 中。缺失项标注 ⚠️ 但不阻塞 DRAFT。
派发方式:使用 delegate_task(goal=...) 派发子智能体。goal 包含骨架全文 + 铁律 + 上下文。子智能体返回生成的正文文本,主 Agent 负责验证(字数/对话比/违禁词)和落盘。
骨架模式 goal 模板:
你是番茄小说签约作者。按以下骨架写第N章正文。只填肉不改骨。把正文写入指定文件。不要调用任何其他工具。
【骨架】
<从 00-大纲细纲/章节骨架/第N章_骨架.md 读取>
【铁律 — 只三条,骨架中已固化地名/数字/面板】
1. 禁止任何真实中国地名。只使用书配置中地名白名单字段定义的架空地名。
2. 系统面板原封不动放进去。不加减行。不修改数字。
3. 字数2000—2800(目标2350)。对话38%以上。方言/口语点缀3-5处。冷感叙述。章末无结束标记。
【网文校准(必须遵循)】
- 对话是核心!每个场景至少6-8轮对话交锋。
- 情绪直接给读者。对手被打脸后的反应要写透,围观者要有反应。
- 事件密度高:本章2-3个场景,每个场景都有信息增量和情绪变化。
- 大白话叙述。数字要具体。
- 章末钩子要具体,不要环境描写收尾。
- MC台词短但每句有分量。
- 字数不足只能增加有效冲突回合和对话交锋,禁止用环境描写凑字。
取回正文:从 delegate_task 返回结果中提取生成的正文内容。
验证(主 Agent 执行):
# 字数/对话比/违禁词扫描
python3 ~/.hermes/skills/novel/scripts/review_scan.py <落盘路径> --book <书名>
字数/对话比不达标时,再派一个 delegate_task 扩写子任务(传入当前正文 + 扩写指令)。字数略超(<2800)或对话比例略低(>38%)不算问题,不微调。
取回正文:从 delegate_task 返回结果中提取生成的正文内容。
ℹ️ novel-draft 输出格式为
## 第X章 <章节标题>+ 正文。novel-main 在最终报告中同样会输出章节标题,确保一致性。
字数要求:2000—2800字(番茄标准,弹性区间),目标2350字。容量不足时退回 PLOT/骨架补充有效回合,不得进入 DRAFT。不能靠 POLISH 补环境细节凑字数。
🚫 硬性约束:DRAFT 完成后必须立即执行 REVIEW,不得跳过。未输出审查报告前,禁止进入 POLISH/TRACK/BACKUP 及下一章。
执行方式:三步流水线 + 可选跨文档校验,自动串联。
第 0 步:跨文档一致性检查(每 5 章执行一次,约 2 秒)
python3 ~/.hermes/skills/novel/scripts/consistency_check.py --book "<书名>"
第 1 步:自动扫描(3 秒,DRAFT 完成后立即执行)
python3 ~/.hermes/skills/novel/scripts/review_scan.py ~/novels/books/<书名>/01-正文存稿/第X章.md --book <书名>
扫描通过(零真实问题)后,继续。
第 2 步:爽点注入检查(强制 5 项)
爽点注入检查(强制,加载 novel-writing → references/case-studies/爽点注入方法论.md):
[ ] 系统钱花出去了?花给谁?对方什么反应?
[ ] 有人不理解 MC 的能力/资源?MC 解释了吗?
[ ] 有打脸?(质疑→实力→闭嘴)
- [ ] 有收入对比?(书配置中的对照组 vs 系统收入)
[ ] 系统面板出现时 MC 是「行动」不是「算账」?
任一项「否」→ 该章需注入爽点后再次审查。
跨章爽点衰减检查(强制,与单章5项并行执行): 检查最近 3 章(含本章)的爽点密度,触发以下任一阈值→本章审查结论为 ⚠️ 不通过,必须在 POLISH 中补足:
[ ] 连续 ≥ 3 章无当众打脸?→ 🔴 本章必须补1次打脸场景
[ ] 连续 ≥ 3 章无正面胜利(对手退让/围观认可/问题解决)?→ 🔴 本章必须补1次「赢」
[ ] 连续 ≥ 3 章主角处于被动应对(危机来了→冷静处理→安排下一步)?→ 🔴 本章必须有主角主动出击
[ ] 连续 ≥ 3 章反派只隔空出手、从不正面出场?→ ⚠️ 本章建议让反派代理人正面出场
[ ] 连续 ≥ 3 章同一种叙事结构(如「危机→冷静→拒绝→安排」循环)?→ 🔴 本章结构必须变化
此检查与 PLOT 阶段的跨章节奏门控互为兜底:PLOT 门控在前端拦截,REVIEW 衰减检查在后端验证。如果 PLOT 门控触发了🔴但 DRAFT/正文未体现,REVIEW 必须拦截。
读者视角审查(每 3 章强制执行,references/case-studies/读者审查标准.md):
单章写完后放在上下文中连读 3 章,用 delegate_task 子智能体以 20 年网文读者身份审查。
读者说「想弃」→ 重写,不修。读者说「想追」→ 保留结构,微调。
广告打断点检查(每 3 章,加载 novel-platform):
调用子技能:novel-review
传入参数:
{
"draft_output": "<步骤3 的完整输出>",
"character_cards": "<人物库内容>",
"foreshadow_table": "<伏笔追踪表内容>",
"world_setting": "<世界观.md 内容>",
"storyline_status": "<故事线状态.md 内容>",
"recent_chapters": "<最近5章正文内容>"
}
REVIEW 审查自检清单(审查时必须逐条检查,不得跳过):
02-设定文档/人物库/ 中的人物状态)04-错误库/禁用词表.md 或知识库中的禁用词列表,注意区分对话中的口语化表达与叙事中的禁用词)02-设定文档/书配置.md 的地名白名单字段中定义的架空地名,不包含任何真实中国地名(扫描 '港''城''市''县''镇' 等字眼,与白名单交叉核验)02-设定文档/书配置.md)③结算仅在凌晨00:00弹出,其他时间面板仅被动统计 ④每章至少出现1次系统面板(面板字段从 02-设定文档/书配置.md 的系统面板字段读取)⚠️ 审查报告必须先逐条列出以上 7 项的结果(✅/⚠️),再输出问题清单。任一项未通过(⚠️)则审查结论为 ⚠️ 不通过。
🚫 硬性约束:DRAFT 完成后必须立即执行 REVIEW,不得跳过。未输出审查报告前,禁止进入 POLISH/TRACK/BACKUP 及下一章。
期望输出格式:
## 审查报告 — 第 X 章
### 总体结论
✅ 通过 / ⚠️ 不通过
### 问题清单
| 序号 | 等级 | 类型 | 位置 | 问题描述 | 修改建议 |
|------|------|------|------|---------|---------|
| 1 | 🔴严重 | OOC | 第X段 | ... | ... |
| 2 | 🟡建议 | 节奏 | 第X段 | ... | ... |
### 质量评分
- 对话自然度:⭐/5
- 节奏把控:⭐/5
- 钩子吸引力:⭐/5
通过/不通过判断:
执行方式:派发给 delegate_task 子智能体执行。
🔒 修改前备份(强制,不可跳过):在执行 POLISH 修改之前,必须先备份当前章节到版本历史:
python3 ~/.hermes/skills/novel/scripts/backup_chapter.py ~/novels/books/<书名>/01-正文存稿/第X章.md
备份后文件存入 03-版本备份/正文历史/第X章_YYYYMMDD_HHMMSS.md。
⚠️ 没有备份就没有修改历史,改错了找不回来。此步骤不可跳过。
派发方式:使用 delegate_task(goal=...) 派发子智能体。goal 包含初稿全文 + 审查报告 + 打磨原则。
传入内容(作为 goal 传递):
<书名><步骤3 的完整输出><步骤4 的完整输出>goal 模板:
你是一位番茄小说资深编辑。请根据审查报告打磨以下第X章正文。
【初稿】
{步骤3 的完整输出}
【审查报告】
{步骤4 的完整输出}
打磨原则:
- 审查通过的 → 标准打磨(对话/画面感/节奏/钩子强化)
- 审查不通过的 → 先修复审查问题,再标准打磨
- 打磨 ≠ 重写,保持原有剧情结构
- 作者风格:直接、不煽情、冷幽默、冷感叙述
- 输出打磨后的完整定稿(Markdown,格式同初稿)
取回正文:从 delegate_task 返回结果中提取打磨后的定稿,主 Agent 负责落盘。
打磨原则:
REVIEW↔POLISH 循环状态处理:
current_step 设为 "review",steps_completed 数组中移除 "review" 和 "polish",retry_counts.review_polish_loop 递增 1。调用子技能:novel-track + novel-platform(章末读者互动模板)
传入参数:
{
"final_draft": "<步骤5 的定稿>",
"plot_output": "<步骤2 的完整输出>",
"book_name": "<书名>",
"chapter_num": <章节号>
}
章末读者互动(如果本章是广告打断点(3/6/9章),加载 novel-platform 模板):
期望输出格式:
## 更新确认 — 第 X 章
### 人物状态变更
- <人物名>:XXX → XXX
### 伏笔变更
- 新增:N 条
- 回收:N 条
- 🚨 超期未回收:N 条
### 主线进度
X / Y 章(XX%)
### 前文时间线速查(供下一章 DRAFT 使用)
<!-- 本区块输出后同时追加保存到 `06-追踪记录/前文时间线速查.md`,供步骤3 DRAFT 读取 -->
| 章节 | 标题 | 梗概(≤20字) | 时间标记 |
|------|------|--------------|----------|
| Ch.X-2 | `<标题>` | `<梗概>` | `<日期/时间>` |
| Ch.X-1 | `<标题>` | `<梗概>` | `<日期/时间>` |
| Ch.X | `<标题>` | `<梗概>` | `<日期/时间>` |
> ℹ️ 首次写第1章时仅输出 Ch.1 行;第2章时输出 Ch.1–2;第3章起固定输出最近3章。每完成一章后,将此表追加/更新到 `06-追踪记录/前文时间线速查.md`(只保留最近3行)。
⚠️ 条件触发:在以下任一条件满足时执行本步骤:
章节号 % 5 == 0(即第 5、10、15、20...章)- 当前章节是所在卷的最后一章(从分卷细纲/章节规划确认。卷末必须审查,不论章节号是否为5的倍数) 非上述情况的章节跳过本步骤,直接进入 BACKUP。
调用子技能:novel-milestone(若不存在则按以下规范内联执行)
传入参数:
{
"book_name": "<书名>",
"current_chapter": <当前章节号>,
"last_5_chapters": "<最近5章正文内容(第 N-4 至第 N 章)>",
"track_output": "<步骤6 TRACK 的完整输出>",
"foreshadow_table": "<06-追踪记录/伏笔追踪表.md 完整内容>",
"main_outline": "<00-大纲细纲/主线大纲.md 内容>",
"volume_outline": "<00-大纲细纲/分卷细纲.md 内容>",
"timeline_tracker": "<06-追踪记录/前文时间线速查.md 完整内容>",
"character_cards": "<02-设定文档/人物库/ 下所有文件内容>",
"arc_tracker": "<06-追踪记录/人物弧线追踪.md(若有)>"
}
审查维度(5 项,必须逐条检查):
00-大纲细纲/主线大纲.md 中的人物弧线规划对照,检查主要人物(≥ 3 个)的阶段性推进是否达标(预期 vs 实际)00-大纲细纲/分卷细纲.md 对照,检查当前卷内进度(已完成章节数 / 本卷总章节数),确认主线事件完成度是否匹配规划00-大纲细纲/分卷细纲/ 中对应卷的细纲,确认其章节段描述与最近 5 章实际内容不矛盾。若章节段内容明显过时(描述的事件已发生但完全不同)→ ⚠️ 警告,提示需更新。期望输出格式:
## 里程碑审查报告 — 第 N 章(第 N/5 次里程碑)
### 总体结论
✅ 通过 / ⚠️ 阻塞(一级问题)
### 逐项检查
#### 1. 前后 5 章连贯性
| 检查项 | 状态 | 说明 |
|--------|------|------|
| 剧情跳跃 | ✅/⚠️/🚨 | <具体说明> |
| 剧情重复 | ✅/⚠️/🚨 | <具体说明> |
#### 2. 伏笔埋坑状态
| 类型 | 数量 | 详情 |
|------|------|------|
| 新增 | N 条 | V01, V02, ... |
| 回收 | N 条 | VXX→第X章回收, ... |
| 🚨超期≥3章 | N 条 | VXX(计划Ch.Y,已超Z章) |
| ⚠️超期1-2章 | N 条 | VXX(计划Ch.Y,已超Z章) |
#### 3. 人物弧线推进
| 人物 | 预期阶段 | 实际进度 | 偏差 |
|------|---------|---------|------|
| <主角> | <弧线描述> | <实际表现> | ✅/⚠️ |
| <配角1> | <弧线描述> | <实际表现> | ✅/⚠️ |
| <配角2> | <弧线描述> | <实际表现> | ✅/⚠️ |
#### 4. 主线进度
- 本卷总章节:X 章
- 已完成:Y 章(YY%)
- 规划节点对比:<预期 vs 实际>
- 偏差评估:✅/⚠️/🚨
#### 5. 时间线全链路一致性
| 章节 | 时间标记 | 距前章间隔 | 一致性 |
|------|---------|-----------|--------|
| Ch.N-4 | <时间> | — | ✅ |
| ... | ... | ... | ... |
| Ch.N | <时间> | <间隔> | ✅/⚠️ |
### 阻塞问题清单(如有)
| 序号 | 等级 | 维度 | 涉及章节 | 问题描述 | 修正建议 |
|------|------|------|---------|---------|---------|
| 1 | 🔴阻塞 | 连贯性 | Ch.X-Y | ... | ... |
| 2 | 🚨严重 | 伏笔 | Ch.Z | ... | ... |
### 通过后的放行声明
> ✅ 第 N 章里程碑审查通过。第 N/5 批 5 章(Ch.N-4 ~ Ch.N)质量检验合格,允许进入第 N+1 ~ N+5 章的创作。
通过/阻塞判断:
milestone_blocked,展示阻塞问题清单,提示用户修正对应章节后重新触发里程碑审查阻塞时的处理流程:
current_step 设为 milestone_blocked,status 设为 failed00-大纲细纲/里程碑审查_第N章.mdmilestone_blocked 状态 → 若存在则拦截并提示「⚠️ 第 N 章里程碑审查未通过,请先修正阻塞问题」调用子技能:novel-backup
传入参数:
{
"final_draft": "<步骤5 的定稿>",
"book_name": "<书名>",
"chapter_num": <章节号>,
"word_count": <字数>,
"mode": "chapter"
}
期望输出格式:
✅ 备份完成
- 正文:01-正文存稿/第X章.md
- 设定快照:03-版本备份/设定快照_第X章/
- 备份版本:v<version>
✅ 第 X 章《章节标题》完成!
📊 本章统计:
- 字数:XXXX
- 新增伏笔:N 条(V01-V0N)
- 回收伏笔:N 条
- 人物状态变更:N 人
📁 备份已保存 → 03-版本备份/设定快照_第X章/
🔄 下一步:说「继续下一章」写第 Y 章
写入进度文件:更新 ~/.hermes/skills/novel/_state/<书名>_progress.json,标记 status: 'completed'。
📄 完整机制(进度文件格式/状态枚举/保存时机/恢复流程/技能缓存)见
references/general/progress-format.md。
核心要点:
~/.hermes/skills/novel/_state/<书名>_progress.jsonmilestone_blocked 状态拦截新章节,需先修正阻塞问题milestone_blocked 和 status != 'completed'| 步骤 | 自动化 | 需要确认 | 触发确认的条件 |
|---|---|---|---|
| 前置检查 | ✅ | — | 无活跃书 / 书不存在时询问 |
| 中断恢复 | — | ✅ 确认 | 检测到未完成进度 |
| PREP | ✅ | — | 仅在 fallback 时询问 |
| PLOT | ✅ | — | 仅在 fallback 时询问 |
| DRAFT | ✅ | — | 仅在字数严重异常时询问 |
| REVIEW | ✅ | ✅ 需确认 | 3 次审查仍不通过时 |
| POLISH | ✅ | — | 仅在打磨引入新问题时 |
| TRACK | ✅ | — | 仅在写入失败时 |
| MILESTONE | ✅ | ✅ 阻塞时 | 仅 5 的倍数章节触发;审查不通过时标记阻塞,需用户修正 |
| BACKUP | ✅ | — | 仅在打包失败时 |
| 最终统计 | ✅ | — | 自动展示 |
总结:正常流程下,用户说「写第 X 章」→ 全自动 7-8 步(5 的倍数章为 8 步)→ 看到完成报告。仅在异常或里程碑阻塞时才需要用户介入。
在 PREP 开始前,检查当前活跃书。如果用户说「切到《XXX》写第 Y 章」:
~/.hermes/skills/novel/_state/current_book.txt 为 <XXX>milestone_blocked),不允许进入下一批 5 章,必须先修正再继续milestone_blocked 状态下的书籍,前置检查时必须拦截并提示「⚠️ 第 N 章里程碑审查未通过,请先修正阻塞问题」,不允许开始新章节~/novels/books/<书名>/~/.hermes/skills/novel/~/.hermes/skills/novel/knowledge/~/.hermes/skills/novel/_state/~/novels/_shared/logs/ 和 ~/novels/_shared/backups/delegate_task 派发子智能体完成,不调度 Claude Code CLI。主 Agent 负责验证(review_scan.py)和落盘。字数略超或对话比例略低不微调——这是小说,不是代码。00-大纲细纲/里程碑审查_第N章.md,方便后续回溯各批 5 章的质量评估历史