---
name: bianjibu
description: >
  编辑部 · 镇狱之渊写作 swarm。一条龙写出/重写一回够晋江档的正文：总编(orchestrator)
  拆任务 → 策划定 beat/钩子/锚点 → 写手出稿 → 多路审校并行(文笔七维·9硬门·安全·连续性)
  → 总编裁决 → 不过门带意见回炉，过门才落 frontmatter+正文。所有判定对照 docs/standards
  与根 CLAUDE.md，不靠手感。触发场景：写一回 / 写第NNN回 / 重写这章 / 把这章改到上线档 /
  组个编辑室写 / run 编辑部 / 续写并审到过门 / 这章不够嗑帮我回炉。
  单章只审不写用 wenbi-review；本 skill 是「写+审+回炉」的全流程团队。
---

# 编辑部 · 镇狱之渊

一个人写不出同一支笔的稳定质量，一个 agent 也写不出。**这个 skill 把写一回拆成一个编辑室**：
总编派活，策划搭骨，写手出肉，几路审校并行挑刺，总编裁决，不过门回炉——过了门才落地。

> 唯一目标：把这一回放进第 1–10 回里读，是不是同一支笔。是，上线；不是，回炉，写清从哪改回去。

## 0. 标准在哪（动手前必读，按角色读）

| 文件 | 内容 | 哪个角色必读 |
|------|------|------------|
| `CLAUDE.md`（根，自动加载） | 执笔总规则：标题/cast 节奏/缺席上限/群像/亲密升温/三角关系/长弧 | 全员 |
| `docs/standards/文笔范文标准.md` | **唯一文笔标准**：七维 + 第1–10回范文 A–J + 反范文六垮 | 写手 / 文笔审校 |
| `docs/standards/评审方法.md` | 单章 `review:`+`score:/14` 手搓法（七维 + 9硬门 + worked example） | 文笔审校 / 硬门审校 |
| `docs/standards/审查流程.md` | 主编 9 硬门，任一不过整批打回 | 硬门审校 / 总编 |
| `docs/standards/rubric.md` | 章级评分表 + 节奏硬门 + 安全审查 | 策划 / 总编 |
| `docs/standards/playbook.md` | 桥段库（中/日/西流量密码） | 策划 |
| `docs/standards/幕后叙事规则.md` | offscreen / 省略叙事约束 | 写手 / 连续性 |
| `seasons/01-xianxia/{world.md,npcs.md,arc.json,ties.json}` | 本季世界/状态/弧线/羁绊（引擎数据，非标准） | 策划 / 连续性 |
| `souls/角色名/{soul.md,memory.md,dossier.md}` | 角色魂/忆/线 | 策划 / 写手 / 连续性 |
| `seasons/01-xianxia/chronicle/INDEX.md` | cast 频率统计来源（缺席判定） | 策划 / 连续性 |

角色 prompt 全部在本 skill 的 `agents/` 下，派活时把对应文件内容连同本回上下文一起交给子 agent。

## 1. 编制（谁是谁）

| # | 角色 | 干什么 | prompt 文件 | 模型档 |
|---|------|--------|------------|--------|
| 0 | **总编 / showrunner** | 拆活、派活、裁决、守门、落地。**就是你（运行本 skill 的主线）** | 本 SKILL.md | opus（峰） |
| 1 | **策划** | 定 beat/钩子/爽痛/反差/锚点等级/cast 名单，出一页《拍纸稿》 | `agents/01-cehua.md` | sonnet |
| 2 | **写手** | 照拍纸稿写正文，文言短句、感官先于动作 | `agents/02-xieshou.md` | opus/sonnet（重） |
| 3 | **文笔审校** | 文笔七维逐维 0/1/2 打分 + 引真句 + 范文对照 | `agents/03-wenbi.md` | sonnet |
| 4 | **硬门审校** | 9 硬门逐门 PASS/PARTIAL/FAIL + 安全硬线 + 机器门 lint | `agents/04-yingmen.md` | sonnet |
| 5 | **连续性** | cast 节奏/缺席上限/锚点升温曲线/声线指纹/弧线一致 | `agents/05-lianxu.md` | sonnet |
| 6 | **润色** | 拿回炉意见做最小改动重写，只改细节层不动主干 | `agents/06-runse.md` | opus/sonnet（重） |

**派活靠 Agent/Task 工具**（`subagent_type: general-purpose`）：把角色 prompt + 本回上下文塞进 `prompt` 参数。
审校三路（文笔/硬门/连续性）**并行派**，在一个消息里发三个 Agent 调用。
批量纯审稿（>5 章、不重写）可直接走 `python tools/parallel_reviewer.py --start N --count K`，那是已有的并行审稿 harness。

## 2. 工序（一回的生命周期）

```
意图 → 上下文装配 → 策划(拍纸稿) → 写手(初稿) → 审校三路并行 → 总编裁决
        │                                                              │
        └────────────────── 回炉(润色 or 重写) ←── 不过门 ────────────┘
                                                              过门 ↓
                                              落 frontmatter+正文 → 机器门 lint → 提交
```

### 步骤 0 · 接活（总编）
确认这一回要什么：新写第 N 回？重写已有章？目标 rating（默认看 `config.yaml`）？篇幅（默认 `target_chapter_chars`）？
**若信息不足以动手**（要写哪条线、谁是主角、卡在弧线哪一拍），用 AskUserQuestion 问清再开工；信息够就直接开。

### 步骤 1 · 上下文装配（总编，动手前做完）
读齐并整理成一份《本回简报》交给下游：
- 近 15 章 cast 频率（从 `chronicle/INDEX.md`），**列出缺席最久的角色**——策划优先排进去。
- 当前 beat 位置（`arc.json` / 上一章 frontmatter 的 `beat`），定这一拍是起/承/转/合的第几节。
- 涉及角色的 `soul.md`（必含 `one_line/drives/fracture/under_pressure/voice/seed_relations`）+ `dossier.md` 当前状态。
- 三条情感线（林夙×苏挽 / 林夙×阿湄 / 苏挽×阿湄）各自上一次的锚点等级（查 `ships` 字段历史）。
- 长弧约束：现在离假杀事件多远？这一回该不该埋前置伏笔（见 CLAUDE.md §九）？

### 步骤 2 · 策划出拍纸稿（agent 1）
派策划，产出《拍纸稿》：2–4 字标题候选、cast 名单（含本回专属动作/台词的人）、beat 字段、钩子类型(画面/信息)、本回爽痛/反差点、用到的桥段、本回情感线动作（埋哪条锚点、升不升级、升到几级）、节奏点安排（转折落 ≈22/47/68/89%）。
**总编校拍纸稿**：cast 节奏对不对（不连 4 章同规模）、缺席上限没破、锚点没跳级、桥段不是套路平铺。不过先打回策划，别往下走。

### 步骤 3 · 写手出初稿（agent 2）
派写手，按拍纸稿写正文。交付：正文（`# 第N回 标题` 以下），不含 review/score。
写手铁律（细见 prompt）：文言感短句、感官先于动作、对话不靠英文标签、声线分得开、章末钩子留物象不总结、不写露骨/自伤/未成年暧昧。

### 步骤 4 · 审校三路并行（agents 3/4/5，同一消息三个 Agent 调用）
- **文笔审校** → 七维 0/1/2，引真句，点范文 A–J；出 `review:`+`score:/14`。
- **硬门审校** → 9 硬门 PASS/PARTIAL/FAIL，安全硬线判定，机器门 `python engine/prose_lint.py` 结果。
- **连续性** → cast/缺席/锚点曲线/声线指纹/弧线，逐条 cite 行号。

### 步骤 5 · 总编裁决（总编）——见 §3 过门判据
汇总三路。命中**任一退回条件**就回炉（步骤 6）；全过则进步骤 7。

### 步骤 6 · 回炉（agent 6 或 agent 2）
- **细节层问题**（某句没物象、长句超模、锚点说明塞正文、单维掉到 1）→ 派**润色**做最小改动（只加/改 1–3 句，不动对话主干和剧情）。
- **结构问题**（钩子是总结式、节奏点没卡上、声线跑调、cast 排错、连跳两级）→ 退回**写手**带具体意见重写该段或整章。
- 回炉后**重跑步骤 4 的审校**。**同一回最多回炉 2 次**；2 次仍不过，停下来把症结报给用户，别硬上线。

### 步骤 7 · 落地（总编）
1. 把过门的 `review:` 块 + `score: N/14` 写进章节 frontmatter，紧跟 `hook:` 之后、闭合 `---` 之前（已有旧 review 整块替换，格式照 `评审方法.md` §三 / 已有章节 `001-退婚书.md`）。
2. frontmatter 8 字段齐全（season/chapter/title/cast/pov/beat/ships/hook），标题 2–4 字，cast≥4，hook 含引号用 `|` block scalar，ships 注明本回埋的锚点。
3. 跑机器门地板：`python engine/prose_lint.py 章节路径`（想更严加 `--warn-as-error`）。0 ERROR 才算落地。
4. 文件落在 `seasons/01-xianxia/chronicle/NNN-标题.md`（三位数补零，如 `503-换命.md`）。

## 3. 过门判据（总编裁决表 · 全过才上线）

| 门 | 来源 | 过 | 不过 → 动作 |
|----|------|----|------------|
| 安全硬线 | rubric.md / 审查流程§1 | 无露骨性行为 / 无自伤细节 / 林窈(13)不涉暧昧 | **任一违例 → 整章打回重写**（与 rating 无关） |
| 机器门 lint | engine/prose_lint.py | 0 ERROR（中文叙述、无逗号碎句、微碎片率≤42% 且平均段长≥3.5） | ERROR → 退回，不进 review |
| 文笔七维 | 文笔范文标准.md | **score ≥ 12/14 且无任一维 = 0**（地板 9，上线档目标 12+） | <12 或有 0 维 → 回炉，`修复方向`写清掉哪维 |
| 9 硬门 | 审查流程.md | 9 门**无 FAIL**（PARTIAL 须记项目级备忘，不单判退回） | 任一 FAIL → 回炉，FAIL 必带具体修复建议 |
| 章级 rubric | rubric.md | ≥ 9/14 | <9 → 回炉重写一次 |
| 节奏硬门 | rubric.md | 开场强度≥7/10 且转折卡 ≈22/47/68/89% | 没卡上 → 回炉 |
| 钩子 | 审查流程§3 | 画面钩 / 信息钩**二选一**，落物象 | 总结式/议论式/双钩并存 → 回炉 |

> 文笔七维地板是 9，但**编辑部上线档定在 12**——这是「同一支笔」的实际门槛。9–11 分能读但不够，回炉。

## 4. 守则（总编不可让步的事）

1. **判定必带 cite**：每一维/每一门的判定都要引具体行号 + 至少一处对照（范文 A–J / 模板名 / 声线指纹 / 锚点类型）。无 cite 的审校结论作废，打回该审校重审。
2. **回炉只改该改的**：润色不许借机重写没问题的段落；只动被点名的细节层。剧情走向、对话主干永远不动。
3. **不替项目背锅**：ships 全书臃肿、模板饱和这类项目级问题记 P0/P1 备忘，不算这一回 FAIL（防评分通胀，见评审方法§〇-5）。
4. **声线是红线**：林夙极轻平、苏挽客气疏离、裴无咎不说沉话、叶观澜极轻像说远事、牛阿大碎探——跑一个就回炉。
5. **亲密不跳级**：六级升温曲线相邻差 ≤1，每两级间隔 ≥3 章别的内容。一回连跳两级直接回炉。
6. **回炉上限 2 次**：硬到第三次还不过，停手报人，不糊弄上线。
7. **soul.md 维护**：新角色破场前确认 `origin/incarnation/appearance` 三字段齐；重大转折后更新 `incarnation/seed_relations`（见 CLAUDE.md §四）。

## 5. 最小调用范式（总编照抄）

```
# 写第 503 回（新写）
1. AskUserQuestion 若线/主角不明 → 否则装配《本回简报》
2. Agent(策划, prompt=agents/01-cehua.md + 简报)            → 拍纸稿
3. 总编校拍纸稿（cast 节奏/缺席/锚点/桥段）                  → 过 or 打回策划
4. Agent(写手, prompt=agents/02-xieshou.md + 拍纸稿 + 简报)  → 初稿
5. 并行: Agent(文笔)|Agent(硬门)|Agent(连续性)（一个消息三调用）→ 三份报告
6. 总编对 §3 判据裁决 → 过门? 落地(步骤7) : 回炉(步骤6) 重跑5
7. 写 frontmatter+正文 → python engine/prose_lint.py → 提交
```

重写已有章：跳过策划的「从零定 beat」，改为「先读旧章 + 三路审校定位病灶 → 总编开回炉单 → 润色/写手改 → 重审」。

## 6. 最终判据（总编最后问自己一句）

> 把这一回插进第 1–10 回里连着读，读者认不认得出这是同一支笔、会不会想追下一回。
> 认得出 + 想追 → 上线。否则 → 回炉，并在 `修复方向` 写清从哪一句、改回哪条范文。
