# Game Copy Polish

> 游戏文案包装与文笔打磨——先教正功夫（推导纪律 + 叙事脊柱 + 九条核心技法 + 体裁声音 + 概念图与生图验收 + 句面情感密度），再扫毛病（AI 腔终检 + 密度红线 + 句层病灶速查 21 条）。触发：① 写/审/改游戏文案（角色介绍、商店描述、卡牌 flavor text、宣传语、世界观描写、故事卡、概念图 prompt）；② **美术侧的设计动作同样触发**——设计物件/道具/场景/UI/立绘长什么样、定形制材质、写生图 prompt、派单出图、选图验收，一律先过 A1 写出这张图的主控思想再动手（美术设计不是纯造型活，是同一条叙事的另一种投递）。任何写游戏文案或做游戏美术设计的 agent 均可调用。

- Skill: `agentgamelab/game-copy-polish` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add agentgamelab/game-copy-polish`
- Raw SKILL.md: https://api.skillmd.com/api/skills/agentgamelab/game-copy-polish/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: AgentGameLab (https://skillmd.com/u/agentgamelab)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/agentgamelab/game-copy-polish

---


# game-copy-polish · 游戏文案包装

> 依赖 `scripts/check_prose.py`（机械终检层，纯 Python stdlib，无需安装依赖）。

## 先教功夫，再扫毛病

好的游戏文案不是"没有 AI 味的文案"。AI 味只是表面症状——根因是**没有叙事脊柱**。一篇有脊柱的文案天然不会堆翻案腔，因为每句话都在往前推，没有空间回头否定。

本 skill 分两半：
- **Part A 正功夫**（动笔前读 / 改稿时对标）——叙事原理和写法
- **Part B 扫毛病**（交稿前跑）——机械终检 + 密度红线

---

# Part A · 正功夫

## A0 推导纪律（动笔前的方向检查，先于一切技法）

**规范层先行**：作品类项目先有规范层（IP 宪法 / world bible——边界、核心动线、行为不变量）再动笔。没有规范层就先立，不在没有规范的地方写设定。

**推导起点只能是规范层内核**，两样东西都不是上游：
- **不是旧版成品**——重导设定层要时序隔离：不打开旧版、不检索其中的人名/器物/台词。看过旧版再推导会不自觉长回旧形状，产出带完整论证外观的「假推导」（每级都写着"因为内核 X 所以 Y"，但因果方向是反的），比不推导更危险
- **不是执行侧/合作方的既有设计文档**——那些是参考答案，不是推导起点

**从「要表达什么」往下长，不从素材往上攒**：每一段要答得出「为什么存在」；只答得出「出处是什么」= 素材堆，文笔再好也救不回来。前史/起源类同理：时间在前 ≠ 推导在前，一律从内核逆向导出。

**先抄不可推导事实，再推导（2026-08-25 实证，同日代价最大的一次）**：从上游（宪法 / 前史 / 已写成的角色稿）往下推之前，**先把上游的「不可推导事实」逐条抄下来**。

不可推导事实 = **只能读到、编不出来**的东西：具体的人名、具体的一句原话、具体的物件、具体做过的一件事、具体的数字。

- 写人物时先抄三样：**他为什么出发 / 他做过什么亏心事 / 他失去了什么**。写不出来就说明还没读原稿
- 抄下来的清单同时是**验收锚**——产出里这几条事实不在，就是漂了，一眼可查
- 实证：三篇角色故事重写时，先定了三个立场再从「立场需要什么」倒推动机，结果把原稿里「替弟入阵」「派十二个人进山没回来」「他是震源」三个核心全换掉了。**而结构层的自查全过**——立场两两互斥、七节点齐全、三人对照表无一行雷同
- **为什么自查抓不住**：设的检查全是结构检查，而结构自洽可以在完全不接触原材料的情况下达成。所以「推导自洽」永远不能当作「忠于上游」的证据，这两件事互相独立

**归因纪律（2026-08-25 对抗性核伪实证）**：给作家 / 作品 / 理论下「规律性」判断之前，先问**能不能举出反例**。

- 举不出具体作品 + 具体段落的归因，一律不写。把「某某的手法」改写成无主语的「这种手法」——技术照讲，归因去掉
- 带数字的阈值（每百字几个、隔多远、留白几秒）必须标明是「经验估计」还是「有出处」，不许把猜测洗成规则
- 实证：一份手册写「余华只写动作、不写心理」，被《活着》原文反证（「我的心放下了」）。**这类错最贵**——带权威感、看不出问题、学了会内化成错的直觉，比没有规则更糟
- 同源双闸见 `~/.claude/CLAUDE.md` 理论锚：年份归属不确定就只写理论名；引用前过误用黑名单

## A1 叙事脊柱检查（动笔前三问）

三条全过 = 故事和游戏的脊柱是同一根。一条没过 = 还没准备好动笔。

### ① McKee 主控思想：写得出一句话吗？

**公式：[什么变了] because [核心动词]**

核心动词占 Cause 位——角色做的那件具体的、可做的动作（不是形容词）。Value 位是核心动词改变了什么。

| 角色 | 核心动词 | 主控思想 |
|---|---|---|
| （角色A） | （动词） | （什么变了），because 她/他学会了（核心动词） |
| （角色B） | （动词） | （什么变了），because 他/她一直在（核心动词） |

> 每个角色动笔前先填这张表。写不出主控思想 → 核心动词没找对，或者 Value 位是空的。回去找。

### ② Greimas 六行动元：六个位子都有人坐吗？

| 位 | 作用 | 检查 |
|---|---|---|
| Subject | 主角 | 有 |
| Object | 主角追求的东西 | 有——但**高潮时 Object 会翻转吗**？Object 翻转（追求的东西变了），整个行动元星座重排 = 高潮的结构来源 |
| Helper | 帮主角的力量 | 有 |
| **Opponent** | **阻碍主角的力量** | **最容易空**——对手位空 = 冲突假了 = 故事没有张力。签名视觉的"矛盾"本质上是 Opponent 力量的物理化 |
| Sender | 派遣主角的力量 | 有 |
| Receiver | 最终受益者 | 有 |

### ③ Church FADT：核心动词能变成玩家操作吗？

**intention + perceivable consequence**——玩家能形成"做/不做"的意图，并看到"做/不做"的后果。

| 核心动词 | 玩家操作 | 意图 | 可感知后果 |
|---|---|---|---|
| （动词） | （对应的游戏操作） | 我要不要做这件事？ | （做/不做分别带来什么） |

核心动词不能变成操作 → game-story 是贴皮不是同构。

---

## A2 九条核心技法

### ① 一个动词撑全篇

每个角色只有一个核心动词。这个动词要承载三层含义：**能力 / 性格 / 觉悟**。

- 能力层：她/他活下来因为会做这件事
- 性格层：她/他差点死因为忘了这件事
- 觉悟层：她/他最终在做这件事的时候看见了全局

**写法：全文围绕这一个动词展开。不是每句都写这个动词，是每个场景都在回应它。** 角色做的每件事，要么是在做这个动作，要么是在抗拒这个动作，要么是在重新理解这个动作。游离出去的段落——删。

### ② 反套路 = 让读者和主角同时被骗

常规路线先让读者以为在走一条熟路（主角确实在变强、在通过一道道关），在高潮处揭示：**路本身是陷阱/代价/考验的一部分。**

关键：读者和主角同时被骗——这比全知视角看主角挣扎更有冲击力。不要提前暗示结局。

### ③ 签名资产从核心矛盾推导

角色的标志性视觉元素不是"觉得好看加上去的"，是叙事逻辑的物理化。

**设计任何角色的签名视觉时先问：这个视觉元素跟角色的核心矛盾有什么逻辑关系？答案只是"好看" → 还没推导到位。**

推导方法：从核心动词出发——这个动词的反面是什么？这个动词的代价是什么？这个动词需要放弃什么？放弃的东西就是签名视觉的来源。

附带原则——**角色的日常姿态比战斗姿态更能定义人物。**

### ④ 物件叙事比形容词有力

物件不解释情感，它让读者自己产生情感。

- "她很难过" → 作者在告诉你
- "她蹲在那只鞋旁边，蹲了很久，没哭" → 作者给你一个场景，让你自己难过

**升级用法——物件跨时空串联：** 同一条路上两代人的遗物按深度排列。不用写任何家族史，读者自己算出来了。

**写法：每个角色至少一件随身物，这件物必须在故事中出现至少两次，两次含义不同。**

### ⑤ 重复结构制造叙事引力

平行重复不是偶然——每一组重复都在说历史在循环。**重复中的微小差异就是角色的独特性。**

两个角色在同一场景做同样的事——框架精确相同，但细节不同。一个说告别，另一个说"柴劈小块的，烧起来快"——生活指令，不是遗言。这个差异就是她这个人。

**写法：至少一组平行重复（同一场景、不同角色或不同时间）。重复的框架要精确，差异要自然——不要刻意标记"这里不一样"，让读者自己发现。**

### ⑥ 叙事节奏 = 主题的形式化

故事的快慢节奏在**模拟它在说的那件事**。讲"跑和停"的故事，快段让读者跟着跑，慢段强迫读者停。读者和主角经历同样的节奏转换。

**写法：快段用短句、密集动作、不给喘气。慢段用长句、感官细节、让时间膨胀。不要在慢段里塞动作，不要在快段里抒情。**

### ⑦ Game-Story 同构（不是比喻，是"就是"）

最好的游戏叙事不是在游戏之外讲故事（过场动画），是让游戏机制本身成为故事。

判断标准：**玩家做的事和角色做的事在物理上是同一件事吗？**

- 如果玩家"跑一圈"和角色"在世界里走一圈"是同一个动作——同构
- 如果核心资源的积累/消耗循环映射角色的行为模式——同构
- 如果"死亡/失败"在叙事上也成立（不只是重来，而是角色也在经历的东西）——同构
- 如果只是过场动画讲故事、然后回到跟故事无关的战斗——贴皮

**写法：写角色故事前先列出该职业的全部核心卡/技能。每张核心卡在故事中必须有「肉身发现」的场景——角色通过物理行动发现这个机制，不是被告知。** 非核心卡不必逐张嵌入，但核心循环的每个环节必须有叙事锚点。写完后用卡组/技能列表做覆盖率检查。

### ⑧ 一句话是方向盘不是总结

好的一句话定位在故事写完之前就应该存在——它是写故事的方向盘。

一句话的质量标准：
- 有**对比结构**（死/活、具象/抽象、已有/在追）
- 每个词都有**叙事功能**（不是修饰）
- 写的时候迷路了回来看这句话，看它有没有在说同一件事

不是写完之后的宣传语。

### ⑨ 全知标签隐化（叙述者词汇 ≤ 角色认知）

角色故事里，叙述者的词汇不能超过角色的认知层级。游戏术语（格线/盘/势/能量等机制词）是全知标签——角色还没看懂的东西，叙述者不能替角色命名。

- 角色先感受物理现象（刻线/石面上的线），术语只在角色的顿悟/觉醒时刻首次出现
- "盘"第一次出现 = 角色第一次意识到自己在棋盘上
- 这是 A2②（让读者和主角同时被骗）在词汇层的落地
- 验收：grep 游戏术语在故事中的分布，第一次出现必须在角色的认知转折点之后

**写法：列出该游戏的全部机制词（术语表），在角色故事中标记每个词的首次出现位置。首次出现必须在角色的认知转折点之后——之前一律用物理描述替代。**

> 出处：2026-08-25 棋门三传 v6 审稿，三步追到根因（格线在转太抽象 → 格线本身不该出现 → 全知标签隐化），33 处编辑验证。

---

## A3 游戏文案四体裁 × 声音标准

### 角色介绍 / 人物档案

**动作先于定义。** 不要告诉读者"他是什么样的人"，从一个动作让读者自己看出来。

- ❌ "他是一个沉默寡言但内心坚定的守卫"
- ✅ 从一个具体场景切入——他做了什么、说了什么、别人怎么反应

**写前必做：** 吃透该角色的玩法机制。不了解机制就写角色 = 叙事会抹平设计意图。

### 卡牌 flavor text

**一格一景，不议论。** 每段是一个具体的场景/画面/声音，不是对角色的评价。

- ❌ "XX 代表了永不停歇的战意"（议论）
- ✅ 给一个具体场景——谁在什么地方做了什么、旁观者看到了什么（场景）

**白描 > 形容词。** 能用一个具体细节说的，不用形容词。

- ❌ "极其猛烈地冲击"
- ✅ 用具体数字/物理细节：厚度、距离、声音、温度

**同一角色的不同卡牌 flavor 构成变奏曲**——同一件东西过不同视角，每个视角揭示它的一个面。结构相同，细节各异。

### 商店页 / 宣传语

**第一句给画面，第二句给冲突，第三句给选择。** 三句话讲完，读者知道这游戏在说什么。

- ❌ "这是一款融合了 XX 元素的 YY 游戏，玩家将在充满策略性的 ZZ 中体验独特的 WW"（说明书腔）
- ✅ 先给一个世界的画面，再给一个冲突，最后暗示玩家要面对的选择

### 世界观描写

**让世界自己说话，别替它总结。** 目标是让读者"住进去"，不是"理解设定"。

- ❌ "XX 系统是本游戏的核心战斗机制"（说明书）
- ✅ 从居民/旅人/当事人的视角描述世界——他们看到什么、踩到什么、害怕什么

**推导方向只有一条：从"要表达什么"往下长，不从素材往上攒。** 看到什么酷就加什么，文笔再好也是散装。前史/起源叙事也是逆向导出——时间在前 ≠ 推导在前。

---

## A4 视觉叙事六技法（角色故事长图页）

### ① 色板即角色声音
色板从核心动词推导——速度型角色用暖色/高对比，守护型用冷色/低饱和。不是"好看"，是通感：颜色在说这个角色说的那件事。

### ② 压缩比因角色而异
不同角色的长图页长度可以不同——不是篇幅不够，是角色的节奏不同。速度型需要长卷展开动感，沉稳型不需要那么多空间。

### ③ 视觉母题当张力曲线
关键概念图的分布 = 故事的张力曲线。峰值场景配概念图，谷底场景用文字留白。不要均匀分布。

### ④ 双层考古叙事
故事里可以有两层时间：现在发生的事 + 过去留下的痕迹。物件串联两层。

### ⑤ 概念图按峰值分布
不要每个段落都配图。图是重炮——高潮、转折、揭示时才用。日常段落用文字，留出呼吸空间。

### ⑥ 单动词 vs 三字弧线
核心矛盾单一的角色用单动词撑三层含义；矛盾有阶段性的角色用三字弧线（如"守→困→放"）。选择取决于角色复杂度。

---

## A5 概念图与生图验收（场景 / 立绘 / 物件 / UI / 概念图 prompt）

### ⓪ 先过 A1，再谈造型（美术设计的第一动作）
**出图前先写出这张图的主控思想**——一句话，[什么变了] because [核心动词]，跟写文案时一模一样。然后每个视觉元素逐个问：它在说这句话的哪半句？答不出的元素一律是装饰层，可以留但不许承重。

反 pattern（2026-08 实测踩过）：**从设定条目往下拆构造**——「设定说这东西没做完 → 所以它没装订 → 所以是夹板加绳」。每步自洽，图也出得来，但整张图没在说任何一句话，纹样、包角、器件全是装饰，评审时只能讨论好不好看。**造型是主控思想的物理化，不是设定条目的字面翻译。**

物件类概念图的承重点通常就三个，其余是背景：谁用过它（使用痕迹）· 发生过什么（断口/缺失/未完成的动作）· 它现在的状态（等待/停止/正在进行）。三点各领一句话的一半。

### ⓪ˊ 辨识度闸：3 秒说得出这是什么（物件类第一验收项，先于一切承重点）
出图后第一件事不是看承重点，是把图给**没读过任何设定的人**看 3 秒，问一句「这是什么东西」。答不出物件的**类别**，这张图作废——所有叙事承重都挂在类别上，类别没建立，承重点一条都投递不出去。

失效方式有两种，都从"设定推导正确"这一侧长出来，所以特别难自查：
- **推到不是那个物种了**：为了表达「没编完」把书做成一沓夹板夹的散页 → 答"一堆纸"
- **形态对但读成了别的东西**：软封推导正确，却做成布裹起来加绳捆 → 答"一个包袱"

后一种最阴：材质、工艺、每条设定依据全对，只是**观众脑子里先匹配到了另一个更常见的物件**。修法不是加细节，是把**该类别最不可让渡的那几个特征**写死进 prompt（书＝平整的封面、明确的书脊、参差的书口、四条清晰边棱），再把最容易被误读成的那个东西写进禁止清单（不要包袱、不要书帕、不要捆扎）。

### ① 姿态承载叙事
日常姿态比战斗姿态更定义人物（同 A2③ 附带原则），道具朝向等细节即人设：长兵器尖朝下=随手拖着、无意战斗；朝上=随时迎战。差一个方向差整个人设。写 prompt 前先想清楚"这个姿态在说什么"。

### ② 构图分层：主体写实，背景写意
背景元素必须显式标注"远处/剪影/隐约可见/不与主体争夺视觉焦点"，否则模型会改变主体来平衡构图。背景描述越具体（材质/颜色/细节）越会被当主体画。已验证好看的主体描述一个字不动，新增元素独立成句。

### ③ 跨张一致性靠逐字相同的共享构图段
同场景多态、同角色多图，不靠图锚（i2i 会把上一版的错当既成事实继承），靠 prompt 里逐字相同的共享构图段锁。视觉签名从 canonical 设计文档逐字提取，不凭印象写。点名禁掉模型反复画错的那个具体图案——泛化否定词无效；形制/材质改不动时换现成参照物锚（"像围棋盘：一整块木板上的细刻线"胜过任何形容词组合）。

### ④ 相对判据量化验收
"最亮/最干净/对比最高"肉眼验不出来——用可测指标（如 ffmpeg signalstats 的 YAVG/YMAX）再判。

### ⑤ 图文版面
概念图按峰值分布不均匀铺（同 A4⑤）；文字说明不遮图——放底部渐变条（linear-gradient 向上透明），不用中央遮罩叠在图上。

### ⑥ 做旧与杂质验收：有形状＝违规
做旧、加噪、杂质只许走**无边界的安静层**：渐变色不匀、无轮廓的湿痕晕移、折线磨白、细毛边、墨色深浅、褪色。**凡有可辨认形状或轮廓的痕迹一律违规**——黑点簇、破洞、环状（有边界的）水渍、方形补丁与针脚是同一类病：抢视线、不携带叙事。携带叙事的破损（补缀之类）**默认也不入**，低对比不是豁免理由——想用必须 owner 逐例点头（实证：同色低对比缝补仍被判「太刻意」）。

验收两步（出图后必跑）：① 眯眼看整图，视线先落在某个痕迹而不是内容上＝违规；② 扫一遍空白区（天空、留白），出现任何「有形状的东西」＝违规。

> 元规则（怎么发现这条的）：owner 连续两次纠**同类**问题时，停下来归纳上位判据并固化进规范层，不逐例修补——2026-09-02 实证四连抓（黑点→洞→水渍圈→补丁），上位规律只有一句「有形状＝违规」，第二次时就该写出来。

---

## A6 句面情感密度（写每一句的功夫）

> A0-A5 管故事骨架与结构决策，A6 管每一句话的情感浓度。同一根脊柱，放大到句面层时怎么落笔。与 A2 的关系：A2 决定故事里**放什么**（动词、物件、节奏），A6 决定**怎么写**那一句（删情绪词、删解释、给物理精度）。

### ① 具身替代情绪词

删掉情绪词（"害怕""悲伤""愤怒"），写**引发这个情绪的那个身体瞬间**。

原理（具身模拟理论）：读者的感觉皮层对具体感官语言产生神经共振——写"冷"，读者的温度皮层响应；写"害怕"，什么都不响应。情绪词是滤镜词（filter word），制造叙事距离：作者替读者感受完了，读者只剩旁观。

**判据：句子里找"她感到/他知道/他意识到"——找到就是滤镜词，删掉，换成身体做了什么。**

| ❌ 滤镜词 | ✅ 身体瞬间 |
|---|---|
| 她感到恐惧 | 她的手缩回去了——指尖碰到棋子的瞬间缩回去的 |
| 他意识到自己输了 | 他把棋子放回原位。放得很轻，像怕把盘面上最后那点规矩也震碎 |
| 他很悲伤 | 他把棋子攥在手心里，攥出了汗。汗干了，棋子上留着掌纹 |

志怪白描是这条原则的极致——聊斋写恐惧不写"惧"，写身体退化：「兽伏而出」四字，人趴着爬出来的姿势**就是**恐惧本身。**动作即心理，身体和情绪之间没有缝隙。**

### ② 沉默叙事

**不解释、不评论、不给因果连接词。**

三种沉默：
- **删因果连接词**："因为/所以/于是"——删掉后两个事实并置，读者自己找因果。并置的张力 > 解释的清晰
- **缺失的选项**：对话里该有的那句话没出现。NPC 问了三个问题，主角只答了两个——没答的那个就是故事
- **模式中断**：先建立重复模式，再打破。聊斋《婴宁》全篇在笑，唯一一次不笑比任何悲伤描写都重——**沉默成为最响的声音**

写法：写完一段后反问——把所有解释性连接词删掉，故事还能懂吗？能懂就删。读者自己补出来的理解，比你写的更有力。

附带纪律（笔记体）：叙述者不评论。阅微草堂的「何从而闻见之」——作者不能亲眼见到角色的私密想法，所以不写内心独白。限制逼出更好的写法：只写外部可观测的行为。

### ③ NPC 灰度逻辑

**NPC 给什么，就是什么人。** 不用旁白解释道德立场——NPC 递出什么（信息/物件/选择/沉默），读者自己判断。

核心——**竞争性价值，不是善恶**：好的 NPC 是两个都合理的价值观在打架。Papers Please 的道德不是游戏告诉你"放这个人进来是好的"——道德是你自己的工资单和那个人的绝望之间的重量差。

| ❌ 善恶二元 | ✅ 竞争性价值 |
|---|---|
| 守关老人善意放行 | 守关老人把钥匙递过来，然后把自己的灯吹了——帮你开了门，不打算给你看门后面是什么 |
| 叛徒因贪婪出卖同伴 | 他把情报卷进一张药方里送出去——手在抖，药方上写的是他女儿的名字 |

写法：写 NPC 时先列出他信什么（不止一件），再让这些信念互相打架。他给出的东西是打架的结果，读者看到结果推出过程。

### ④ 时间颗粒度

**物理磨损的精度暗示时间长度。** "第三天"和"过了几天"不是一回事——前者读者能数，后者读者在飘。

三个层次：
- **事件时间**：用物理变化标记。"蜡烛烧过三截"比"过了几个时辰"具体
- **累积时间**：用磨损标记。"棋子的漆磨掉了一半"——不用说下了很多年
- **缺席时间**：用灰尘/锈/苔藓标记。时间的重量 = 灰尘的重量

高情感段用 stretch（一个动作拆成很多步），日常段用 summary（一年过成一句话）。选对时间模态 = 选对节奏（同 A2⑥，这里是句面层的具体操作）。

**写法：搜"过了一会儿/不久/很久"——每一处换成具体的物理标记。** 数字（"第三天""七步"）比模糊词（"几天后""走了一会儿"）有叙事重量。

### ⑤ 拒绝定义人物

**NPC 怎么说"不"，就是什么人。** 不用正面定义角色——角色拒绝做什么、拒绝回答什么、拒绝看什么，画出的轮廓比自我介绍更真。

同一个请求，三种拒绝 = 三种人：
- 沉默地把门关上 = 见过太多，不想再卷入
- 笑着倒一碗水，不答话 = 知道答案但不打算给，且不觉得亏欠
- 开始讲一个完全不相干的故事 = 在用自己的方式回答，只是你还没听懂

写法：NPC 初次出场时安排一个"被请求"的场景。他怎么拒绝（或不拒绝），就是人设第一笔。不要在拒绝之后用旁白解释"他其实是个……的人"——拒绝本身就是全部信息。

---

---

## A7 读者接不接得住（概念层 + 内容层）

> A0-A6 管的是「写什么、怎么写」。A7 管的是**写出来的东西读者能不能接住**——四轮实读纠偏跑出来的，前三轮全改在文字层，无效。

### ① 先给现象，再给名字（概念层）

术语和压缩比喻对作者是常识，对读者是黑话。**不能上来就用**——先描述可观察的现象，让读者自己形成概念，名字（如果还需要）放后面。

| ✗ 谜语 | ✓ 先给现象 |
|---|---|
| 翅膀是令旗 | 它一扇翅膀，那群鸟就换个方向飞 |
| 落点排出来是一道旧令 | 把这些点连起来看，是个队形，当兵的排队站位就是那样 |
| 走的是格 | 脚底下踩的都是同一条线 |

「翅膀是令旗」要读者先知道令旗是什么，再自己想通「扇翅膀指挥鸟群像将领挥旗」——两跳。**一句都不能有。**

代价是变长（实测 +47% 字数）。**为讲清楚花的字是划算的**：面向不熟悉设定的读者，清楚 > 简省。

### ② 先在脑内成像，再落笔（内容层）

文字通顺、术语也清了，但描述的事在脑子里**拼不出图**——这是比表达层更深的一层，改词改句救不回来。

自检：**我自己闭眼能画出来吗？** 画不出来说明**设定本身还没定**，不是文字没打磨好。

反例（实测）：「鸟散了它就从空中掉下来，落到地上是个老人的样子，站都站不稳。过了一会儿鸟飞回来，它又立住了。」三处塌陷——它本来在空中吗（作者脑补）／「是个老人的样子」是什么样子／鸟回来它怎么就立住了（物理不成立）。
想清楚后画面极简单：**一群鸟裹着一个人，打散能看见里面，围回来又藏住**。画面一定，文字自己就顺了。

### ③ 动作要挂在形貌上

只写「它做什么」不写「它长什么样」，读者挂不住动作。实测三段同时「画不出来」，卡点一模一样：**不知道它长什么样**。

每段开头给一个**形貌锚**——一句话，具体到能画：

> 三块石头摞成个人形，会走 · 一堆断了的兵器缠成一团，没有脸也没有眼睛 · 有些石头上会浮出纹路，凑起来像一张脸

### ④ 验收：扫读 + 画面双问

每段**只看一遍、不许回读**，答两问：

1. 闭眼能不能拼出画面？拼不出——**卡在哪**
2. 有没有词让你停下来想「这啥意思」

「卡在哪」是关键：它把「不知道它长什么样」这类系统性缺失暴露成同一句话，单纯打分永远测不出来。

⚠️ **必须扫读，不能审读**。审读模式下测试者有耐心、会回读、会解码，分数系统性偏高——实测同一批文案审读拿了 16/18 条 4-5 分，真实读者扫一眼仍说看不懂。测试者的注意力状态必须匹配真实使用状态。

### ⑤ 四层病灶的排查顺序

受众反复说看不懂时，按这个顺序下探，别在同一层反复修：

| 层 | 症状 | 修法 |
|---|---|---|
| 词汇 | 生僻字、行话、文言虚词 | 换常用词 |
| 语法 | 主语缺失、指代不清、长句嵌套 | 补主语，拆句 |
| 概念 | 依赖读者不具备的背景 | A7① 先给现象再给名字 |
| **内容** | 作者自己没想清楚画面 | A7② 先成像再落笔 |

前三层是文字问题，第四层不是。**改了两轮还不行，就别在文字层继续修了。**

⚠️ 去主语要当心：为清文言味把「余」删干净后，如果段里有两个主体交替（记录者／被观察物），主语全省会让读者每句都猜是谁在做——**比原来更难懂**。见 B5「主语暗换」「无主体句」。

# Part B · 扫毛病

## B0 机械终检（check_prose.py）

```bash
python scripts/check_prose.py <文件>
```

"需要修改"段的每一条都必须处理。"需要人工判断"段逐条过，标注保留理由或改写。

---

## B1 翻案腔治理（头号敌人）

**"不是X，是Y" / "不是X，而是Y" / "真正的X不是…" / "从来不是…"**

AI 倾向于通过否定来定义——否定比正面陈述更容易生成"有洞察感"的句子。密集使用后读者对"不是…是…"这个节奏免疫，后面真正好的反转也失去冲击力。

### 密度红线

**每 1000 汉字至多保留 1 处。**

### 保留判据（三条全满足）

1. 对比是真的——读者确实可能以为是 X，揭示 Y 有信息增量
2. 放在这里是最佳位置——不打断节奏
3. 全文没有更好的保留候选

### AI 高频句式黑名单（≥3 次即需处理）

| 句式 | 为什么是 AI 腔 |
|---|---|
| 不是 X，是 Y | 最高频——制造反转但积累后像说明文 |
| 他不知道…他只知道… | 全知视角的廉价切换 |
| 像…一样 | 明喻泛滥 |
| 第一次 / 头一回 | 标记转折点但频率失控 |
| 每一（个/次/步） | 泛指强调词 |
| 越…越… | 递进描写公式 |
| 看似…实则… / 与其说…不如说… | 翻案腔变体 |

### 改写策略

保留叙事关键位置的 ≤2 处（开篇定义、高潮反转），其余全改。改法：换成具体动作/感官细节，不用修辞框架。

### Before / After 示例

**翻案腔过密的典型症状**（虚构示例）：

> 他不是一个普通的铁匠——不是那种每天打马蹄铁的人，是那种把整座城门锤出来的人。不是因为他手劲大，是因为他不会停。不是不知道累，是忘了累这件事。

**改后**：

> 城西那扇门是他锤的。三天三夜，吃睡都在炉前。别人问累不累，他听不懂——他的字典里没有这个词，只有"还差几锤"。

---

## B2 标点密度

### 破折号 ≤ 8/千字

正当用法只有三种：插入语、话题急转、未完成的话。

不正当用法（全部改掉）：当逗号用、当冒号用、串联分句。

### 行文冒号 ≤ 3/千字

结构性冒号（标题/列表）不计入。用冒号引出的内容如果不是对前文的解释而只是下一个分句 → 换逗号或句号。

---

## B3 金句密度

### 「」≤ 2 组/千字

正当用法：引用原话、强调有特殊含义的词。不正当：批量包装普通词制造金句感、给本来就是专有名词的词加引号。

### 排比 ≤ 1 处/篇，≤ 3 项

排比是重炮，一篇只能响一次。

---

## B4 AI 黑话零容忍

| 黑话 | 处理 |
|---|---|
| 底层逻辑 / 维度 / 层面 | 删或换具体名词 |
| 赋能 / 赋予 | 给 / 让 |
| 至关重要 / 深刻的 / 深远的 | 删 |
| 核心竞争力 / 一系列 | 禁止出现在故事文案中 |
| 值得注意的是 / 在某种意义上 | 删，直接说 |

---

---

## B5 句层病灶速查（21 条 · 设计成整段贴进 prompt）

> **来源**：2026-08-25 拿一份 3 万字实稿逐句诊断跑出来，**已剔除实测零命中的条目**——一次都没用上的规则不进表。
> **跟 B1-B4 的分工**：B1-B4 管「AI 腔」（写得太像机器）；本表管**「读着别扭但说不出为什么」**。这是另一类病，根因多半在**指代链和主语管理**，不在修辞——所以对着修辞类规则查永远查不出来。
> **人机分工**：标 🤖 的 B0 机械层已能自动抓，跑 `check_prose.py` 即可，不必人工查；其余需要人读。

| 病名 | 一眼认出的信号 | 改法 |
|---|---|---|
| 代词双候选 | 段内两个同类对象，却只写「他/它」 | 换成名词，不要让读者猜 |
| 无先行指代 | 「这/它/这火」前面没有可指的名词 | 先写出被指的名词，再回指 |
| 回指不清 | 一个短语能指向多类对象（「你用过的人」） | 改成具体身份 |
| 主语暗换 | 前半句主语 A，后半句动作归 B 且省略了 | 补出 B 的主语 |
| 无主体句 | 只见动作不见谁做 | 问一句「谁」，补主语 |
| 接续不清 | 前后句冲突，或两句关系有两种读法 | 补「只有/只是/却/所以」再读一遍 |
| 语域混层 | 现代单位词、产品词混进古朴叙述 | 换同义的古朴词 |
| 系统行话泄入正文 🤖 | 正文出现牌池 / 排盘界面 / UI / 校准 / 操作面 / P1、P3 这类术语或阶段标记 | 换世界内说法；玩家可见的系统提示层另标 |
| 万能比喻 🤖 | 拿系统 / 机制 / 机器 / 零件 / 齿轮当喻体 | 换成日常器物 |
| 翻案腔 🤖 | 「不是 A，是 B」 | 先问 A 是不是读者的默认预期；是则留，否则删掉否定那半句 |
| 同义反复 | 后句换个说法重复前句 | 删后句 |
| 冗余 | 时间词或程度词叠加强调 | 删一个 |
| 量词悬空 | 量词后面没有中心词，或与名词不搭（「一声声核」） | 补中心词或换词 |
| 比较基准错配 | 拿不准时的、或本身没有该属性的东西做基准 | 换成有该特征的事物 |
| 引号体例不统一 🤖 | 同一文件里「」和“”混用 | 同一文体统一 |

**动笔前六问**（比句子层更上位，答不上就别动笔）：

| 问 | 答不上意味着 | 怎么定 |
|---|---|---|
| 叙述者权限 | 会出现越档写他人内心 | 先选 0 外部 / 1 跟一人 / 2 分段换 / 3 全知；非全知就整段不越档 |
| 声音定位 | 旁白与角色会打架 | 先定口语、古朴还是说书体，两者往同一个声音走 |
| 场景切点 | 开头空转、结尾话说尽 | 开头切到变化前最后一拍的压力动作，结尾切到后果刚发生 |
| 留白位置 | 会用总结/解释/升华顶替具体 | 正想升华的地方，改成留一个动作、物件或沉默 |
| 时间颗粒 | 该紧的地方一笔带过 | 局面有变化写 scene，无变化压成 summary |
| 视角人称 | 「你/他/我」会跳 | 锁定一个 |

**两条会误伤的规则**（机械执行前必看）：

- **跨节点重复**——最容易把有意的首尾呼应当病删掉。判据：第二次出现有没有改变读者已知的事实？不改变才删
- **系统行话外泄**——会把合法的玩家可见 UI 提示改坏。**前提是先把文本分成三类**：世界内叙述 / 玩家可见系统提示 / 设计文档。没有这层标注，改稿的人只能靠上下文硬猜

# 产出格式

### 写作模式（从零写文案）

动笔前过 A1 三问（主控思想 / 六行动元 / FADT），确认脊柱在。写的时候对标 A2 九条技法 + A3 体裁标准。写完跑 `check_prose.py` 自检 + B1-B4 密度红线。

### 审稿模式（审已有文案）

```
## 脊柱诊断
（A1 三问是否过？核心动词是什么？哪个行动元位空了？）

## 机械扫描
（check_prose.py 汇总数字）

## 重点问题
（按严重度排：脊柱 > 技法 > 密度 > 黑话。每条给行号 + 原文 + 改法）

## 改后全文
（改动超过 10 处给全文，否则只给对照）
```

---

## 附录：密度红线速查表

| 指标 | 红线（/千字） |
|---|---|
| 翻案腔 | ≤ 1 |
| 破折号 | ≤ 8 |
| 行文冒号 | ≤ 3 |
| 「」引号 | ≤ 2 |
| 排比 | ≤ 1 处/篇 |
| 全知标签（术语首现） | 必须在角色认知转折点之后 |

> 首次对项目文案跑 check_prose.py 后，在项目 `docs/` 下记录实测均值作为 baseline。

## 附录：理论锚速查

| 锚 | 一句话 | 用在哪 |
|---|---|---|
| McKee 主控思想 | [什么变了] because [核心动词] | A1① 动笔前定方向 |
| Greimas 六行动元 | 对手位空 = 冲突假 | A1② 检查故事结构 |
| Church FADT | intention + perceivable consequence | A1③ 检查 game-story 同构 |
| 峰终定律 | 结尾和峰值决定整体感受 | A4③⑤ 概念图分布 / 故事收尾 |
| 契诃夫之枪（物件叙事变体） | 出现的物件必须再次出现且含义变化 | A2④ 随身物两次出现 |
| 具身模拟（Gallese & Lakoff） | 具体感官语言激活读者的感觉皮层 | A6① 删情绪词写身体瞬间 |
| 海明威冰山 / Iser Leerstellen | 7/8 在水下；读者填补叙事空隙 | A6② 沉默叙事 |
| Genette 时间模态 | summary/scene/stretch/pause 四速 | A6④ 时间颗粒度 / A2⑥ 节奏 |
| Baxter counterpointed characterization | 不正面定义角色，用拒绝画轮廓 | A6⑤ 拒绝定义人物 |
| Genette focalization（聚焦） | 叙述者感知范围 ≤ 聚焦角色的认知 | A2⑨ 全知标签隐化 |

