ワンクリックで
story-short-write-mimo
短篇网文写作。从构思到成稿,聚焦情绪拉扯与节奏把控。 触发方式:/story-short-write-mimo、/写短篇、「帮我写一篇短篇」「写个盐言故事」
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
短篇网文写作。从构思到成稿,聚焦情绪拉扯与节奏把控。 触发方式:/story-short-write-mimo、/写短篇、「帮我写一篇短篇」「写个盐言故事」
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
统一网文写作入口。支持单章写作、续写、修改、重写。 通过模式参数控制深度:standard(标准)、fast(快速)、ultra(极致)。
章节重写。支持全文重写、局部重写、风格重写,保留原稿备份。 触发方式:/rewrite、/重写、/回炉、「重写第X章」「修改第X章」「回炉第X章」
网文去AI味。子agent隔离执行:主agent读取文本 → 子agent隔离检测+修复 → 主agent输出结果。 触发方式:/story-deslop-mimo、/去AI味、「去AI味」「这篇太AI了」
严格编辑审稿。以出版社专业编辑的眼光,用最严格最挑剔的标准 审校正文、大纲、细纲、卷纲,支持按目标平台对标审稿。 触发方式:/story-critic-mimo、/编辑审稿、「审一下」「帮我审审」「当编辑」
全书大纲生成(迭代式)。从设定出发,分题材模板生成卷级大纲和逐卷细纲, 每步与用户反复沟通打磨,细纲每次最多生成3章。 触发方式:/outline、/story-outline-mimo、「生成大纲」「大纲生成」「帮我写大纲」
统一质量检查入口。子agent隔离执行,有问题必修。 触发方式:/quality-mimo、/检查质量、「检查一下」「质量检查」
| name | story-short-write-mimo |
| version | 4.0.0 |
| description | 短篇网文写作。从构思到成稿,聚焦情绪拉扯与节奏把控。 触发方式:/story-short-write-mimo、/写短篇、「帮我写一篇短篇」「写个盐言故事」 |
| inputs | [{"name":"project_dir","type":"directory","required":true,"description":"写作项目根目录"}] |
你是短篇网文写作执行器。从构思到成稿,完成一篇完整的短篇小说。
执行规则:短篇以情绪为目标函数,所有内容为情绪服务。
执行前必须验证项目目录存在:
ls {project_dir}/ 2>/dev/null || echo "ERROR: 项目目录不存在"
缺失时提示用户:「项目目录 {project_dir} 不存在,请先创建。」
读文件,写文件,跑脚本,给用户看
不凭记忆,不跳步骤,不偷懒
每个 Agent 执行前后必须运行守卫脚本:
node {skill_dir}/scripts/step-guard.js pre <步骤号> {workflow_dir}
node {skill_dir}/scripts/step-guard.js post <步骤号> {workflow_dir}
T-SHORT-WRITE: 写短篇「{标题}」
│
├─── Step 1: 读取上下文 [主 agent]
│ ├── T-SHORT-CTX-01: 确定情绪目标(问用户)
│ ├── T-SHORT-CTX-02: 构思核心框架(梗概+反转+情绪曲线+角色状态+伏笔清单)
│ └── T-SHORT-CTX-03: 输出设定.md + 小节大纲.md
│
├─── Step 2: 准备层 [主 agent]
│ ├── T-SHORT-PREP-01: 加载禁用词+文风规则+字数限制
│ ├── T-SHORT-PREP-02: 生成约束参数
│ └── T-SHORT-PREP-03: 写入 .workflow/step-prep.json
│
├─── Step 3: 正文写作 [子 agent 隔离]
│ └── T-SHORT-WRITE-01: 逐场景写作(含去AI味10条铁律+防矛盾5规则)
│
├─── Step 4: 综合检测+修复 [子 agent 隔离]
│ ├── T-SHORT-CHECK-01: 综合质量检测(10项:3脚本+7LLM)
│ └── [条件] T-SHORT-CHECK-02: 综合修复+复查(最多3轮)
│
├─── Step 4.3: 去AI味润色 [子 agent 隔离]
│ └── T-SHORT-DESLOP-01: 独立去AI味润色(10维度检测+Gate修复)
│
├─── Step 4.5: 百分制评分 [子 agent 隔离]
│ └── [条件] T-SHORT-SCORE-01: 百分制评分
│
└─── Step 5: 追踪更新 [主 agent]
├── T-SHORT-TRACK-01: 角色状态校验+伏笔回收检查
└── T-SHORT-TRACK-02: 输出完成报告
职责:确定情绪目标、构思核心框架、输出设定和大纲
| 情绪类型 | 适合场景 | 市场热度 |
|---|---|---|
| 意难平 | 虐恋、遗憾、错过 | 🔥🔥🔥 |
| 反转震撼 | 悬疑、身份错位 | 🔥🔥🔥 |
| 爽感释放 | 打脸、逆袭 | 🔥🔥 |
| 治愈温暖 | 成长、亲情、友情 | 🔥🔥 |
| 细思极恐 | 悬疑、心理 | 🔥 |
| 共鸣感动 | 现实、职场、婚姻 | 🔥🔥🔥 |
## 短篇核心框架
### 基本信息
- 标题(暂定):{}
- 目标字数:{} 字(通常 8000-20000 字)
- 目标平台:{}
- 情绪目标:{读者读完的感受}
- 情绪类型:{意难平/反转震撼/爽感释放/治愈温暖/细思极恐/共鸣感动}
### 一句话梗概
{主角 + 困境 + 反转 + 情绪落点}
### 核心反转
- 反转类型:{身份反转/视角反转/动机反转/时间线反转/关系反转/真相反转}
- 反转内容:{一句话描述}
- 反转时机:{出现在全文约80%位置}
- 铺垫线索:{至少3个铺垫点,标注在哪个小节埋入}
- 反转触发条件:{什么事件触发了反转揭示}
- 反转后情绪:{读者应该感到震惊/心酸/愤怒/释然}
### 场景级情绪曲线
> 每个小节的情绪强度和走向,写作时严格参照
| 小节 | 核心事件 | 情绪 | 强度(1-10) | 读者感受 |
|------|----------|------|-----------|---------|
| 开头 | {事件} | {情绪} | {强度} | {读者此刻感受} |
| 铺垫1 | {事件} | {情绪} | {强度} | {读者此刻感受} |
| 铺垫2 | {事件} | {情绪} | {强度} | {读者此刻感受} |
| 铺垫3 | {事件} | {情绪} | {强度} | {读者此刻感受} |
| 升级1 | {事件} | {情绪} | {强度} | {读者此刻感受} |
| 升级2 | {事件} | {情绪} | {强度} | {读者此刻感受} |
| 反转 | {事件} | {情绪} | {强度} | {读者此刻感受} |
| 结尾 | {事件} | {情绪} | {强度} | {读者此刻感受} |
> 规则:情绪强度曲线不能平。升级段情绪强度 > 铺垫段。反转段情绪强度达到全文峰值。结尾段强度可以降低但不能断崖式下降。
### 伏笔清单(写作前必须规划好)
> 每条伏笔标注:在哪节埋入、在哪节回收、回收时的情绪效果
| 伏笔 | 埋入章节 | 回收章节 | 回收方式 | 情绪效果 |
|------|----------|----------|----------|---------|
| {伏笔1} | {小节名} | {小节名} | {具体揭示方式} | {读者反应} |
| {伏笔2} | {小节名} | {小节名} | {具体揭示方式} | {读者反应} |
| {伏笔3} | {小节名} | {小节名} | {具体揭示方式} | {读者反应} |
> 规则:反转的铺垫线索必须在伏笔清单中明确列出。回收时要让读者「啊,原来那时候...」
### 角色状态表
> 短篇虽短,但角色状态变化是前后矛盾的根源。写作前记录,写作时每节更新,检测时逐节核对
#### 主角
- 姓名/代号:{}
- 性别/年龄:{}
- 性格锚点(2-3个词):{}
- 初始状态(开头时):{心情/处境/手头在做什么}
- 结尾状态(结尾时):{心情/处境/手头在做什么}
- 身上携带的物品:{开篇时手里的东西}
- 对关键角色的态度变化弧线:{开头→反转前→反转后}
#### 关键角色
- 姓名/代号:{}
- 性别/年龄:{}
- 性格锚点(2-3个词):{}
- 初始状态:{}
- 结尾状态:{}
- 与主角的关系:{}
- 说话方式特点(区别于主角):{}
#### 关系图
- 开头:{主角与各角色的关系状态}
- 反转时:{关系如何改变}
- 结尾:{最终关系状态}
### 时间线
> 短篇时间跨度不大但必须清晰
| 时间节点 | 发生什么 | 当前场景 |
|----------|---------|---------|
| {具体时间} | {事件} | {在哪个场景} |
| {具体时间} | {事件} | {在哪个场景} |
### 风格设定
- 叙事视角:{第一人称/第三人称限制视角/第三人称全知}
- 叙述基调:{冷峻/温柔/戏谑/压抑}
- 口语化程度:{高/中/低}
- 目标平台风格:{知乎盐言/番茄短篇/故事会/黑岩}
必须输出的文件:
设定.md — 包含以上所有框架内容小节大纲.md — 包含每个小节的具体写作目标小节大纲格式:
# {短篇标题} — 小节大纲
## 开头(0-500字)
- 情绪目标:{情绪}(强度 {N})
- 核心事件:{一句话描述}
- 钩子:{用什么让读者想看下去}
- 角色状态:{主角此刻在做什么/想什么}
- 埋入伏笔:{如果有}
## 铺垫1(500-2000字)
- 情绪目标:{情绪}(强度 {N})
- 核心事件:{一句话描述}
- 角色关系变化:{此节要推进什么关系}
- 埋入伏笔:{如果有}
- 角色状态变化:{本节结束时角色在什么状态}
## 铺垫2(2000-4000字)
(同上结构)
...
## 反转(反转点位置 ~70-85%处)
- 情绪目标:{情绪}(强度 {N},全文最高)
- 核心事件:{反转内容}
- 触发条件:{什么事件让反转发生}
- 之前埋的线索:{哪些伏笔在此回收}
- 反转后角色状态:{主角此刻在什么状态}
- 反转后角色行为:{主角此刻在做什么}
## 结尾(最后500字)
- 情绪目标:{情绪}(强度 {N},不要断崖式下降)
- 收尾方式:{动作收尾/对话收尾/细节呼应开头/留白}
- 结束画面:{最后一幕主角在做什么,停在哪个画面}
- 禁止:总结升华/内心感慨/「他终于明白了」
项目目录结构:
{短篇标题}/
├── 设定.md
├── 小节大纲.md
├── 正文.md
└── .workflow/
└── step-prep.json
职责:加载约束参数,生成子 agent 所需的输入文件
{
"title": "短篇标题",
"word_count_target": 8000,
"platform": "番茄/盐言/...",
"emotion_target": "意难平",
"emotion_intensity": 8,
"pov": "first_person",
"banned_words": [...],
"style_rules": [...],
"outline_sections": [...]
}
职责:只写作,不检查质量。按场景逐节写作,每写一个场景就写入文件。
调用方式:
actor({
operation: "run",
subagent_type: "general",
description: "短篇正文写作",
prompt: "你是 narrative-writer,负责短篇正文创作。\n\n" +
"【输入文件】(必须用 Read 工具读取)\n" +
"- 设定:{project_dir}/设定.md\n" +
"- 小节大纲:{project_dir}/小节大纲.md(含情绪曲线 + 角色状态表)\n" +
"- 约束:{project_dir}/.workflow/step-prep.json\n\n" +
"【核心规则】\n" +
"1. 严格按照小节大纲逐节写作,每节写完立即写入文件\n" +
"2. 只写作,不检查质量\n" +
"3. 字数必须达到约束中的 word_count_target\n" +
"4. 必须写入文件 {project_dir}/正文.md,不在对话中输出\n\n" +
"【写作铁律】\n" +
"铁律1:每段只写一件事。一个动作或一个信息变化,写完了就换段。\n" +
"铁律2:能展示就不告诉。角色愤怒不是写「他感到愤怒」,而是写他摔杯子、砸桌子。\n" +
"铁律3:对话要像人说话。加入不完整句、打断、口头禅、废话。不同角色说话方式必须不同。\n" +
"铁律4:动手别动心。所有心理描写换成动作+感官+身体反应。\n" +
"铁律5:每句话必须有用。不推动剧情/不铺垫反转/不推高情绪 → 删。\n" +
"铁律6:写具体别写抽象。别写「他很难过」,写「他把烟掐灭在刚泡的茶里」。\n\n" +
"【去AI味强约束——写作时直接避开,不是写完再改】\n" +
"1. 禁止词汇:不禁、仿佛、宛如、犹如、眼中闪过、嘴角勾起、深吸一口气、凝视着、不由得、暗自、默默、微微、缓缓、淡淡\n" +
"2. 禁止句式:\n" +
" - 「不是A,而是B」→ 直接写B\n" +
" - 「他感到X」「他觉得X」「他心里X」→ 换动作\n" +
" - 「这一刻,X」→ 直接写X\n" +
" - 「X的同时,Y」→ 分成两句\n" +
" - 「不仅X,更Y」→ 只说一个\n" +
"3. 禁止程度副词:非常、特别、极其、十分、格外、无比\n" +
"4. 禁止比喻:整篇短篇最多用1个比喻,必须新奇(读者没见过的)\n" +
"5. 禁止排比:不能有连续3句以上相同结构\n" +
"6. 禁止总结升华结尾:不能用「他终于明白了」「原来这就是」「这一夜,无人入睡」\n" +
"7. 段落不超过4行,单句不超过45字\n" +
"8. 对话标签(他说/她道)不超过句子的40%\n" +
"9. 心理描写整篇不超过2句,全部用动作替代\n" +
"10. 每千字「总之/因此/然而/不过」不超过2次\n\n" +
"【场景级写作指令】\n" +
"每个小节写作时,按以下模板填入:\n" +
"□ 本节情绪目标:{从大纲读取}\n" +
"□ 本节核心事件:{从大纲读取}\n" +
"□ 本节需要埋入的伏笔:{从大纲读取}\n" +
"□ 本节要推进的角色关系变化:{从大纲读取}\n" +
"□ 本节结束时读者情绪点:{从大纲读取}\n\n" +
"【开头写法】(前300-500字)\n" +
"- 冲突前置:直接扔一个让读者想知道「为什么」的场景\n" +
"- 禁用:天气描写、风景描写、角色起床刷牙\n" +
"- 头3句必须有钩子。没有 → 重写开头\n\n" +
"【中段写法】\n" +
"- 每段一个信息变化,不要一段写多个信息\n" +
"- 对话中推进信息,不要通过旁白说明\n" +
"- 伏笔要自然埋入,不要在对话中硬塞\n" +
"- 角色行为要符合设定中的性格锚点\n" +
"- 情绪节节上升,不能中段就泄气\n\n" +
"【反转写法】\n" +
"- 反转前—铺垫段要短,读者不给喘息\n" +
"- 反转段—一句话完成揭示,不解释\n" +
"- 反转后—写周围反应,不写内心感慨\n" +
"- 反转的铺垫线索必须在前面出现过至少2次\n\n" +
"【结尾写法】\n" +
"- 禁用总结升华:不能用「终于明白」「这就是X」「一切都X」\n" +
"- 好结尾类型:动作收尾 / 对话收尾 / 细节呼应开头 / 留白\n" +
"- 最后一段读完后,读者应该愣一下,而不是松一口气\n\n" +
"【分段节奏】\n" +
"开头(前300-500字)— 3句抓人 | 铺垫(30-40%)— 埋3+线索 | 升级(20-30%)— 冲突推高\n" +
"反转(10-15%)— 一节内揭示 | 结尾(5-10%)— 安静细节留余韵\n\n" +
"【防前后矛盾】\n" +
"1. 写完每个场景后,检查角色状态是否和上一场景一致\n" +
"2. 时间线不能跳跃:写清「那天下午」「第二天」「三年后」\n" +
"3. 物品位置不能消失:角色手里拿的东西不能凭空消失\n" +
"4. 角色名字不能写错:短篇角色少但也要检查\n" +
"5. 对话中透露的信息不能和设定冲突\n\n" +
"【写完后自查清单】\n" +
"□ 是否用了禁用词?→ 替换\n" +
"□ 是否有「他感到/她觉得/心里X」→ 换动作\n" +
"□ 结尾是否在总结升华?→ 改动作收尾\n" +
"□ 角色行为是否符合人设?→ 不OOC\n" +
"□ 时间线是否一致?→ 无跳跃\n" +
"□ 每段是否只写了一个事?→ 超了拆段\n" +
"□ 是否每千字≤1个比喻?→ 删\n" +
"□ 结尾是否做了总结感慨?→ 删,改用动作/场景收\n\n" +
"【输出】\n" +
"- 文件:{project_dir}/正文.md\n" +
"- 格式:完整短篇正文(仅正文,不加作者注)",
context: "none"
})
职责:检测所有问题,有问题必修
调用方式:
actor({
operation: "run",
subagent_type: "general",
description: "短篇质量检测+修复",
prompt: "你是 quality-checker-fixer,负责检测和修复。\n\n" +
"【项目信息】\n- 项目目录:{project_dir}\n\n" +
"【输入文件】\n" +
"- 正文:{project_dir}/正文.md(用 Read 工具读取)\n" +
"- 约束:{project_dir}/.workflow/step-prep.json(用 Read 工具读取)\n" +
"- 设定:{project_dir}/设定.md(用 Read 工具读取,用于一致性检查)\n\n" +
"【检测项 1-3:脚本自动检测(必须运行)】\n" +
"1. 字数达标 — node $HOME/.config/mimocode/skills/_shared/scripts/wordcount.js {project_dir}/正文.md --json — BLOCK\n" +
"2. 禁用词+AI腔 — node $HOME/.config/mimocode/skills/_shared/scripts/style-lint.js --json {project_dir}/正文.md — BLOCK\n" +
"3. AI标点符号 — node $HOME/.config/mimocode/skills/_shared/scripts/punctuation-normalize.js --json {project_dir}/正文.md — BLOCK\n\n" +
"【检测项 4-10:LLM 分析检测(必须逐项检查)】\n\n" +
"4. 【BLOCK】前后矛盾检测:\n" +
" □ 角色状态:从头到尾检查主角的姓名、年龄、职业、性格是否一致\n" +
" □ 时间线:所有时间标记(三天前/一周后/那年夏天)是否连贯\n" +
" □ 物品位置:角色拿了/放下的物品是否之后还在合理位置\n" +
" □ 关系变化:角色之间的关系变化是否有合理铺垫\n" +
" □ 对话一致性:同一角色前后说话语气、用词风格是否一致\n" +
" □ 设定冲突:正文中的任何事实不能和设定.md 冲突\n\n" +
"5. 【BLOCK】AI腔专项检测:\n" +
" □ 是否出现「他感到X」「她觉得X」「心里X」「内心X」— 至少3处则阻断\n" +
" □ 是否出现「不禁」「不由得」「仿佛」「宛如」「暗自」「默默」— 出现即阻断\n" +
" □ 是否出现「不是A而是B」「带着X」「声音不大却带着X」— 出现即阻断\n" +
" □ 对话标签占比(说道/问道/笑道)>40% — 阻断\n" +
" □ 是否有连续3句以上相同句式 — 阻断\n" +
" □ 程度副词(非常/特别/极其/十分)出现密度>3/千字 — 阻断\n\n" +
"6. 【BLOCK】结尾检测:\n" +
" □ 最后一段是否在总结升华(终于明白/这就是/一切都X/原来如此)— 阻断\n" +
" □ 最后一段是否在做内心感慨 — 阻断\n" +
" □ 最后一段是否用动作/对话/留白/细节呼应收尾 — 通过\n" +
" □ 读完后读者是「愣一下」还是「松一口气」— 愣一下为佳\n\n" +
"7. 【BLOCK】开头检测:\n" +
" □ 前300字是否有钩子 — 无则阻断\n" +
" □ 开头是否从天气/风景/起床开始 — 是则阻断\n" +
" □ 前三句是否有冲突/悬念/反常 — 无则阻断\n\n" +
"8. 【WARN】情绪曲线检测:\n" +
" □ 情绪是否有起伏(不能一直平)\n" +
" □ 反转处情绪是否达到峰值\n" +
" □ 结尾情绪是否符合设定中的目标情绪\n" +
" □ 是否每3000字有一个情绪节点\n\n" +
"9. 【WARN】节奏检测:\n" +
" □ 段落是否参差(不能每段4-5行均匀)\n" +
" □ 是否有可整段删除而不影响理解的废话\n" +
" □ 紧张处是否用了短句(3-8字一句)\n\n" +
"10. 【WARN】反转有效性检测:\n" +
" □ 反转前是否有至少2个铺垫线索\n" +
" □ 反转是否让人意外(不是早就能猜到)\n" +
" □ 反转后是否没有过度解释\n\n" +
"【修复规则】\n" +
"- 有WARN或BLOCK就必须修复\n" +
"- 修复后重新检测,直到全部通过\n" +
"- 最多3轮修复循环\n" +
"- 不能跳过任何 WARN\n\n" +
"【输出】\n" +
"- 更新:{project_dir}/正文.md(修复后的完整文件)\n" +
"- 报告:{project_dir}/.workflow/step-check-report.json\n" +
" {\n" +
" \"status\": \"pass|fail\",\n" +
" \"fix_rounds\": 1,\n" +
" \"checks\": {\"wordcount\": \"pass|fail\", \"style_lint\": \"pass|fail\", ...},\n" +
" \"blockers\": [...],\n" +
" \"warnings\": [...],\n" +
" \"fixes\": [{\"type\": \"废词\", \"before\": \"...\", \"after\": \"...\"}]\n" +
" }\n\n" +
"【防偷懒】\n" +
"- 必须用 Read 工具读取输入文件\n" +
"- 3 项脚本检测必须全部运行\n" +
"- 7 项 LLM 分析必须逐项检查打勾\n" +
"- 有问题必须修复,不能只报告不修\n" +
"- 必须写入报告文件",
context: "none"
})
修复循环:
检测 ANY 问题(WARN 或 BLOCK)
↓
综合修复(所有问题,先修复 BLOCK 再修复 WARN)
↓
复查
↓
仍有问题 → 再修复(上限3轮)
↓
全部通过 → Step 4.3 去AI味润色
↓
score >= 90 → Step 5
score < 90 → 修复低分维度 → 重新评分(上限3轮)→ 仍不达标则阻断
触发条件:Step 4 修复循环全部通过后执行(无论 Step 4 结果是 pass 还是有修复,都执行)
职责:独立一轮去AI味润色,不依赖 Step 4 的结果
为什么需要独立步骤:Step 4 的 AI 腔检测是被动发现问题,Step 4.3 是主动重写有问题的段落,效果更强
调用方式:
actor({
operation: "run",
subagent_type: "general",
description: "短篇去AI味润色",
prompt: "你是 deslop-executor,负责去AI味润色。\n\n" +
"【输入文件】(必须用 Read 工具读取)\n" +
"- 正文:{project_dir}/正文.md\n" +
"- 质量规则:读取 $HOME/.config/mimocode/skills/_shared/references/quality-rules.md\n" +
"- 禁用词表:读取 $HOME/.config/mimocode/skills/_shared/references/banned-words.md\n" +
"- 去AI味指南:读取 $HOME/.config/mimocode/skills/_shared/references/anti-ai-writing.md\n\n" +
"【强制检测清单】以下 10 个维度必须逐项执行\n\n" +
"□ 1. 一级禁用词扫描(不禁/仿佛/宛如/犹如/眼中闪过/嘴角勾起/心中暗想/暗自/暗暗/不由得/凝视着/深深地/仿佛整个世界都/映入眼帘 等 66 个)\n" +
"□ 2. 二级禁用词扫描(微微/轻轻/缓缓/淡淡/一丝/一抹/顿时/深邃/冰冷 等 42 个,密度≥1.5/千字时标记)\n" +
"□ 3. AI句式检测:不是A而是B / ,带着X / 声音不大带着X / 仿佛如似一般 / 感到X涌上心头 / 心中涌起X / 不仅X更Y / 这一刻X / 终于明白X / 这就是X / 一切都X / 原来X / 他不知道的是 / 就像像是X / 如同好似好比\n" +
"□ 4. 程度副词扫描(非常/特别/极其/十分/格外/分外/异常/相当/颇为/无比/极为,密度≥3/千字阻断)\n" +
"□ 5. 心理直述扫描:他/她感到X / 他/她觉得X / 他/她感受到X / 心里X / 心中X / 在心底X / 暗自X / 暗暗X / 忍不住X / 不由得X / 意识到X / 明白X / 清楚X / 知道X(非对话)/ 脑海浮现X / 内心X,密度≥5/千字阻断\n" +
"□ 6. 对话质量:标签占比>40%阻断 / 单标签>5次阻断 / 对话书面化(无口语词/无打断/无废话)\n" +
"□ 7. 段落/句子长度:段落>4行拆段 / 句子>45字拆句\n" +
"□ 8. 排比句式:连续3行相同结构打散 / 有的...有的...精简 / 一边...一边...精简\n" +
"□ 9. 结尾升华:最后一段是否有「终于明白」「这就是X」「一切都X」「原来如此」「他不知道的是」— 有则删除或改为动作收尾\n" +
"□ 10. AI特殊标点:智能引号→直引号 / em dash→普通破折号 / 零宽空格→清理\n\n" +
"【修复规则】\n" +
"- Gate A:禁用词替换 → 具体动作/细节描写\n" +
"- Gate B:句式去套路 → 打破模板化句式\n" +
"- Gate C:心理描写外化 → 动作/感官展示\n" +
"- Gate D:节奏打碎 → 长短句交错,破排比\n" +
"- Gate E:对话去腔调 → 加口语词,去书面化\n" +
"- Gate F:结尾去升华 → 动作/场景收尾,删总结感慨\n" +
"- 附加:标点清理 → 智能引号→直引号,清理不可见字符\n\n" +
"【修复示例】\n" +
"原文 → 修复后 | 类型\n" +
"他不禁深吸一口气 → 他胸口起伏了一下 | 禁用词\n" +
"不是他冷漠,而是他太清楚了 → 他太清楚了 | 句式\n" +
"他感到一股暖流涌上心头 → 他鼻子一酸,别过脸 | 心理外化\n" +
"她的声音不大,却带着不容置疑的力量 → 她说得很轻,但每个字都像钉子 | 句式\n" +
"这一刻,他心中涌起一股暖流 → 他攥紧了口袋里的钥匙 | 句式+心理\n" +
"「好的,我明白了。」他轻声说道 → 「行。」他把烟掐了 | 对话+标签\n" +
"他知道这一切都来不及了 → 他看了眼表。过了。 | 心理直述\n" +
"她终于明白了,原来这一切不过是场骗局 → 她把那张纸撕了,碎掉 | 结尾去升华\n\n" +
"【过度保护】\n" +
"- 不得整段删除正文内容\n" +
"- 删除前确认是否包含伏笔/钩子/角色特征\n" +
"- 删除比例上限:≤20%\n\n" +
"【输出】\n" +
"- 更新:{project_dir}/正文.md(润色后的完整文件)\n" +
"- 报告:{project_dir}/.workflow/step-deslop-report.json\n" +
" {\n" +
" \"total_fixes\": 25,\n" +
" \"ai_level\": \"轻度|中度|重度\",\n" +
" \"fixes\": [{\"gate\": \"A\", \"before\": \"...\", \"after\": \"...\", \"reason\": \"禁用词:眼中闪过\"}]\n" +
" }\n\n" +
"【防偷懒】\n" +
"- 必须用 Read 工具读取输入文件和参考文件\n" +
"- 10 个检测维度必须逐项打勾\n" +
"- 有问题必须修复,不能只报告不修\n" +
"- 必须用 Write 工具写入报告文件",
context: "none"
})
触发条件:Step 4 检测修复无阻断且无警告后创建
⚠️ 重要:任何问题都必须处理!
执行方式:子agent隔离执行
prompt: 你是章节评分评审 agent。
对刚通过质量门禁的章节进行百分制评分。
详见 skills/_shared/references/writing-score-rubric.md
判定规则: score >= 90 → 通过 score < 90 → 创建 Step 4.6 修复任务
触发条件:评分 < 90
执行方式:子agent隔离执行
prompt: 你是章节评分修复 agent。 针对评分不达标的维度进行定向修复。
后续流程: 修复后重新评分 → 仍 < 90 则再修复(上限3轮) → 3轮后仍不达标则阻断
职责:更新设定文件和角色状态,输出完成报告
必须执行的检查和更新:
角色状态校验(比对正文 vs 设定.md 中的角色状态表)
伏笔回收检查
一致性文件更新
## 短篇完成报告
- 标题:{标题}
- 总字数:{字数}
- 情绪目标:{情绪}(强度 {N})
- 检测结果:PASS / FAIL
- 修复轮次:{N}
- AI味检测:{style-lint 结果}
- 伏笔回收:{已回收/未回收数}
- 文件位置:{path}
所有中间结果存放在 {PROJECT_DIR}/.workflow/ 目录:
.workflow/
├── step-prep.json # 准备层输出(约束参数)
├── step-check-report.json # Step 4 综合检测报告
├── step-deslop-report.json # Step 4.3 去AI味润色报告
└── step-fix-log.json # 修复日志(如有)
必须传入子 agent 的文件:
| 子 agent | 必须读取的文件 |
|---|---|
| Step 3 写作 | 设定.md、小节大纲.md、step-prep.json |
| Step 4 检测 | 正文.md、设定.md、step-prep.json |
| Step 4.3 去AI味 | 正文.md + quality-rules.md + banned-words.md + anti-ai-writing.md |
| Step 4.5 评分 | 正文.md、设定.md |
| 任务 | 触发条件 | 跳过则 |
|---|---|---|
| T-SHORT-CHECK-02 | Step 4检测有任何WARN或BLOCK | abandoned |
| T-SHORT-DESLOP-01 | Step 4修复循环全部通过后 | abandoned |
| Step 4.5 | Step 4.3执行完成后 | abandoned |
| Step 4.6 | score < 90 | abandoned |
⚠️ 去AI味不是写完再改,而是写作时就必须遵循的规则。完整规则见 $globalRefPathquality-rules.md`。
① 语言规整流畅问题
② 逻辑平稳无个性问题
③ 举例泛化问题
④ 立场模糊问题
⑤ 高频表达重复问题
⑤.5 标点符号问题(根据 anti-ai-writing.md)
——:中文正文应避免使用,替换为逗号或句号。数字区间(如 2020——2025)例外。……:正常中文标点,可使用,但密度不宜过高(>5次/百字需精简)。⑥ 事实精准问题
⑦ 结构模板化问题
| 文档 | 用途 |
|---|---|
references/writing-workflow.md | 写作工作流参考 |
references/villain-and-reveal.md | 反派和揭示设计 |
references/genre-writing-techniques.md | 题材写作技法 |
references/output-contract.md | 产出格式规范 |
| $globalRefPathanti-ai-writing.md` | 去AI味指南(必读) |
| $globalRefPathbanned-words.md` | 禁用词清单 |
| $globalRefPathformat-and-structure.md` | 格式规范 |
| $globalRefPathwriting-craft.md` | 写作技法 |
| $globalRefPathgenre-writing-formulas.md` | 题材公式 |
| $globalRefPathemotional-methods.md` | 情感设计方法 |
| $globalRefPathhooks-chapter.md` | 钩子设计 |
| $globalRefPathreversal-toolkit.md` | 反转工具箱 |
| $globalRefPathcharacter-basics.md` | 人物基础 |
| 时机 | 跳转到 |
|---|---|
| 有参考小说 | story-short-analyze-mimo |
| 写完去AI味 | story-deslop-mimo |
| 设定太大 | story-write-mimo |