全能小说作家 · v9.6.1 · 2026-11-04 · sha256 3211578130f43337

全能小说作家 v9.6.1A

Immutable. This exact content never changes and is served at /api/v1/blob/3211578130f43337.

---
name: 全能小说作家
description: 全流程长篇小说创作技能,28个功能模块,支持 AI 全自动和分步引导双模式。涵盖书名生成、人设构建、大纲规划、章节写作、爽点设计、节奏诊断、风格创作、强约束系统、作品拆解分析(含拆文库)、叙事质量管理、导入已有小说、轻量直出短文、朱雀去AI化与「人工为主」验收、写后流水线硬门禁。配备三大自动系统:自然语言记忆系统(故事圣经/人物弧线/剧情时间线/伏笔清单/角色数据库)、强约束系统(金手指叙事/时间约束/叙事线监控)、叙事质量管理框架(写前预检/三阶复核/参数链条)。触发词:「写小说」「新开一本」「继续」「接着写」「下一章」「书名」「人设」「大纲」「看记忆」「导出」「导入」「切书」「金手指」「叙事线」「分析《XXX》」「菜单」「预检」「复核」「规则集」「疑似AI」「去AI化」「朱雀」「写后」「补缺」「写篇推文」「写篇短文」「直接出正文」「短文直写」「公众号文章」。
user-invocable: true
tags: [小说, 创作, 写作, 长篇, 故事, 文学, 大纲, 人物, 章节写作, 爽文, 网文, 平台文案, 书名生成, 记忆系统, 自然语言记忆, 风格创作, 短篇爆款, 朱雀, 去AI化, 疑似AI, AIGC检测, 人工为主]
version: 9.6.1
---

## 📂 文件路径约定

**本 skill 中所有文件引用遵循以下规则:**

1. **skill 内部文件**:`modules/`、`references/`、`templates/`、`memory-system/`(skill 内模板)等路径,均相对于本 skill 的根目录(`scripts/…` 命令也在该根执行;项目侧参数写该书绝对路径,见 00「命令执行基准」)。
   - 示例:`references/书名生成策略.md` → skill 目录下的 references/书名生成策略.md
   - 示例:`memory-system/bible/story_bible.md`(不带 `[书名]/` 前缀)→ skill 内模板文件,只读

2. **项目文件**:带 `[书名]/` 前缀的路径,相对于当前工作目录。`[书名]` 是项目初始化时用户确认的书名。
   - 示例:`[书名]/记忆系统/圣经/故事圣经.md` → 项目目录下的记忆系统副本
   - 示例:`[书名]/设定/[书名]_人设卡.md` → 项目目录下的设定文件

3. **记忆系统文件区分**:
   - `memory-system/xxx`(无前缀)= skill 内的只读模板 → 仅用于项目初始化时复制
   - `[书名]/记忆系统/xxx`(有前缀)= 项目目录下的读写副本 → 所有后续操作的目标
   - 中英对应示例:`memory-system/bible/story_bible.md`(模板)→ 初始化复制为 `[书名]/记忆系统/圣经/故事圣经.md`(项目副本);`memory-system/summaries/_template.md` → `[书名]/记忆系统/摘要/模板.md`

4. **项目查找**:跨会话恢复时,在当前工作目录下搜索 `*/记忆系统/圣经/故事圣经.md` 定位已有项目。

# 全能小说作家

---

## ⛔ 强制执行协议

> **本技能采用模块化架构,加载后必须先读取 `modules/00_强制执行协议.md`。**
>
> 00 协议包含完整的:意图识别、场景路由、写作/写后命令、快捷命令映射、写前检查点、
> 操作确认点、边界条件。
> **除下方★「章节完成硬定义」为防跳步内联副本外,本文件其余协议不重复,以 00 协议为唯一权威。**
>
> **启动路径唯一**:加载后只读根 `SKILL.md` → `modules/00_强制执行协议.md` 一跳,无二级协议跳转。
> **权威链条**:步骤/顺序权威 = `modules/03_26_功能模块.md`;协议/命令权威 = `modules/00_强制执行协议.md`;下方★为只读硬副本。

---

## ★ 章节完成硬定义(内联,防止只加载 SKILL 时仍跳过写后)

**「本章完成」当且仅当(`.done` 为唯一权威;顺序权威 = `modules/03_26_功能模块.md` 步骤4):**

1. 正文已保存(仅标题行 + 正文)  
2. 字数检查通过 → `.done/第NNN章_wordcount.done`  
3. 写后流水线 `modules/03_26_功能模块.md` **按序**已执行(不得「先交稿后补」)  
4. **U 审核后先跑朱雀 4.1b–4.1e → `.done_zhuque`;再处理 FAIL/建议修复**(禁止整段重写人工段;修复改动大则补跑 4.1e)  
5. 圣经/摘要 + U 相关 `.done` + **`.done/第NNN章_zhuque.done` 存在**;新架构项目(存在 `_state.json`)另含 `state` 标记且 `last_committed_chapter ≥ 本章`  
6. 闭环必需 `.done` 齐全(12 基础项;存在 `_state.json` 时 +`state` = 13 项;10 倍数章另 +`innovation`,故第 10/20/30… 章的新架构项目为 14 项)**且细纲任务书四段齐、`(必落)` 拍全勾**(03_06 步骤2.6;脚本 `check-done --require-task-sheet`)→ 才可写 `.done_chapter`  
7. `text_guard` 指纹与最终稿一致(03_26 五·文本指纹;流水线内改稿——4.1e 人工段注入/强化轮、4.3 修复轮——后已重跑 `digest`;证据 = `.story/text-digests.json` + `text_guard verify`)  

**结束本章时必须输出【第NNN章状态】回执**(正文/字数/写后是否执行/朱雀预检三态/人工证据包动作/.done 清单/能否写下一章)。

**漏步自愈(检测到即补跑,不询问)**:缺任一必需 `.done`(尤其 `zhuque`)→ 禁止称完成、禁止开写 N+1;对当前章自动「补缺」。`delegate_task` 失败时降级自审 **仍必须**跑 4.1b–4.1e。

**子代理回传≠已落盘(写章后必验文件 + 独立数字数)**:写作子代理的最终 summary 是自报,不可信。返回后①先确认 `正文/第NNN章_*.txt` 存在且非空——已观测子代理把正文只写在 summary 里、不落盘,文件根本不存在,缺失则主代理直接从 summary 提取写入;也观测到子代理将正文存到工作目录临时文件(如 `D:\DS\chapterNN.txt`)而非 `正文/` 目录——此时在工作目录 `ls chapter*.txt` 找到后移动到 `正文/第NNN章_*.txt`;②字数一律以 `scripts/fingerprint.py` 实测为准,**不信子代理「全部通过 / All checks pass」自检**——已观测子代理在 1856 字(低于 2000 下限)时仍报通过。③**子代理报的字数可能是「含标点」总数,与中文字符数(`re.findall(r'[\u4e00-\u9fff]', content)`)有系统偏差约 35–40%**——已观测子代理报「含标点2544字」而中文字符仅 1846(差 39%)。子代理报的数看起来达标时更要验证:2544 看起来 > 2000 下限,但按中文字符标准只有 1846,不达标。不达标则主代理补过渡句/环境/分析细节至达标,再重跑脚本。④`delegate_task` 报 HTTP 429 限流时,等返回的 reset 倒计时结束再重派同一任务(同 goal/context 不改内容),勿改稿重试。

**标点后处理(半角引号·保存后必检)**:写作子代理可能不可靠地遵守格式规则(已观测:上下文模板要求全角引号,子代理仍返回上百个半角 `"`)。保存正文后立即检测半角引号,存在即按出现顺序成对替换为全角 “ ”(奇数个时最后一个也转全角)。主代理自身新增的过渡句/补充内容也须用全角引号——后处理捕获所有来源。Python 一行修复:
```
content = open(path, encoding='utf-8').read()
if '"' in content:
    out, open_q = [], True
    for ch in content:
        if ch == '"': out.append('\u201c' if open_q else '\u201d'); open_q = not open_q
        else: out.append(ch)
    open(path, 'w', encoding='utf-8').write(''.join(out))
```
检测与修复在字数脚本之前执行。**替换后重扫确认**:成对替换在嵌套引号、奇数个引号、或引号出现在非对话语境时可能漏换——已观测首次替换后仍有 10 个半角引号残留。替换代码执行后立即 `content.count('"')` 重扫,>0 则对残留再次执行替换(通常一轮即可)。**

**修复替换防重复**:主代理对已存正文做 in-place 字符串替换(采纳审核建议、补过渡句、拆段、改引号)时,若替换的新文本与原文已有内容重叠,会静默复制出重复段/句——字数与段落脚本只查缩水不查膨胀,重复块能蒙混过关。每次替换后核对旧块已消失、关键短语出现次数符合预期(如 `content.count('陈默没接话')` 应为 1);重复即当场删冗,再重跑字数脚本。勿把重复稿直接送进流水线。

**子代理内容后处理(保存后必检·游戏UI文本+一级禁用词)**:写作子代理可能不可靠地遵守内容质量规则,除半角引号外,还可能出现两类问题:①**游戏UI风格文本**(已观测:`【检测到异常:循环计数型】`、`【已使用:一】`、`【机制:每释放七次,中断一次】`等带方括号的系统通知式文本——非小说叙事文体,会严重破坏代入感并触发朱雀 n-gram 模板指纹);②**一级禁用词混入**(已观测:`深吸一口气`——03_06 已要求子代理遵循去AI化规则,但子代理仍可能使用)。保存正文后立即:①扫描 `【` / `】` 字符,命中即定位并改写为角色内心感知/叙述性描写(保持原信息量,仅换表达形式,如 `【已使用:一】` → `第一格,灭了。`);②wordfreq 脚本输出的 ❌ 高危词命中即替换(瞬间→那一刻/当时、然而→但/结果、深吸一口气→直接删或改角色动作)。此两项与半角引号检查同批执行,不额外占用独立步骤。

**时间指代词扫描(保存后必检·防跨章矛盾)**:写作子代理不知故事中"今天"是第几天,默认用"昨天"指代过去事件,高频与已确立时间线矛盾(已观测:第8章"昨天"×7全部与"第4天下午"矛盾,其中3处事件前7章无出处,1处与第6章实测直接冲突)。保存正文后扫描 `昨天/前天`,逐处核对 `记忆系统/上下文.md` 的当前章节位置——时间指代错误 → 改为正确的故事日参考("中午""上次""之前");该时间指代的事件在前文无出处 → 改为模糊指代("上次""之前")或删去。此检查与半角引号扫描同批执行,不额外占用独立步骤。

### ★ 步骤4 段落长度校验(文风硬约束)

步骤4 字数+人工种子核对之后、移交写后流水线之前,**必须**执行段落长度校验:读取 `[书名]/设定/[书名]_文风设定.md` 的「每段上限句数」字段(留空/0/不存在 = 不限制)。若有限制值,逐段用正则 `re.findall(r'[。!?]', paragraph)` 计数,超过上限的段落当场拆段修复(在动作/对话节拍处断开换行),**不退回子代理**(拆段是机械操作,主代理可直接完成)。修复后重跑字数脚本确认未缩水。未设上限的项目跳过。

执行细节与拆段原则见 `references/章节写作校验流程.md`。

**规划表场景核对**:写前比对规划表「场景」列与 `记忆系统/上下文.md` 的「下一章承诺」——两者不一致时以**上下文承诺为准**(上下文是派生件,规划表可能是旧版),在细纲 CONTEXT 中注明场景取值理由。

**朱雀目标 = 人工为主**:三态中「人工创作特征」必须 **>**「疑似AI创作特征」。仍疑似 ≥ 人工时禁用「全文再润一遍」与同义补丁;按 `templates/朱雀去AI化检查清单.md`「人工为主协议」执行人工段注入 + 整段重生 + 结构破坏 + 强化轮。触发词:「疑似AI」「去AI化」「朱雀」。

**语义边界 / 双验收**:
- **流水线闭环** = 必需 `.done` 齐(含 `zhuque`)+ 状态回执——脚本可验。
- **朱雀检测达标** = 用户回传三态「人工 > 疑似」——以检测器+用户为准;**`.done_zhuque` 存在 ≠ 检测已通过**。
- 纯 AI 全自动常停在「疑似」;要稳定过检测通常需真人重写关键句。禁止把闭环说成过关。
- **对外汇报硬约定**:回执分列(a)流水线/check-done 结果(b)朱雀三态或「待检测」;禁止只贴 `.done` 或 exit0 冒充检测通过。
- 可选客观核验:`scripts/check-done.ps1` / `scripts/check-done.py`(规则单源 `scripts/check-done-rules.json`;**只认空标记 size=0,非空无效**;**默认要求 `chapter.done`**(中途检查用 `--no-chapter-done`/`-NoChapterDone`);报告「人工证据包」节**默认硬校验**:标题 + 结构证据类别 ≥2 类且至少含一类强证据(须带段号/字数结构,如 `人工段注入:第3段,约320字`)+ 正文段号交叉。**格式红线(已观测3次写错)**:①段号=「第N段」(正文按空行分段的段落序号),非「第N行」——行号不匹配任何强证据正则;②字数=「约N字」「共N字」「至少N字」「超过N字」「≥N字」`>N字`,非「N中文字」「N字」——后者不匹配字数正则;③「人工段」/「人工注入」须与「第N段」或字数同在一行内(≤24字符间隔),跨行不匹配;`--soft-report`/`-SoftReport` 仅调试)。**`--allow-non-empty`/`-AllowNonEmpty`/`--soft-report`/`--no-chapter-done` 闭环宣称禁止携带。**
  - 命令格式:`python scripts/check-done.py -p "[项目绝对路径]" -c [章节号]`(**必须**带 `-p` 项目路径参数,仅 `--chapter` 不够会报参数错误)

**U审核 PASS(含优化建议)的 P2 修复策略**:U 返回 PASS(含优化建议)且无阻断项时,P2 建议按优先级处理——格式/一致性类机械替换(改词、统一数字格式、删比喻)由主代理直接修复(<5% 改动,符合 03_26 步骤4.3 例外条款);结构性/分析性建议(长句拆分、节奏调整)记录到报告「已知观察」节但不在本轮修复,避免过度修改已达标章节。修复后重跑 `text_guard digest` 刷新指纹。

**4.1e 轻量模式**:客观指标已达标(方差≥110、高危词0、对话占比≥25%)时,可执行轻量 4.1e(3 项:1 整段重生 + 1 人工段注入 + 1 结构破坏)替代全量 6 项——节省时间同时保留人工证据。指标未达标时仍须执行全量 6 项(P0 人工段注入≥2 段且合计约≥300 字)。

**state_commit delta 三陷阱(已观测多次报错)**:①`context.position` 须为对象(含 city/location/chapter 等子键),非字符串——报 `❌ delta.context.position 须为对象`;②`foreshadow` 每项须为 `{desc, status}` 对象,非字符串——报 `❌ 合并结果复验失败:foreshadow.xxx 须为对象`;③`summaries` 键须为十进制数字字符串(如 `"9"`),非 `"第9章"`——报 `❌ summaries 键必须是十进制数字字符串(≤18 位)`。三者写错均需改事务重跑(详见 03_26 五·状态提交节)。

---