---
name: script-proofread
description: >
  儿童互动英语剧本审校技能。对已完成的剧本进行自动化质量审核，检查知识点频次、
  词性正确、输入输出顺序、User台词占比、NPC单句长度、互动数量、格式规范等。
  **触发场景：**
  (1) 剧本初稿完成后需要进行全面审校
  (2) 编剧反馈后需要自检修改是否引入新问题
  (3) 用户提到「审校」「检查剧本」「proofread」「质检」
---

# 剧本审校技能

## 概述
对儿童互动英语剧本进行系统化审校，输出结构化审校报告（问题+位置+建议修改）。审校标准来源于 `children-english-script-writing` 技能规范和 `business_knowledge/script_feedback_log.md`。

---

## 审校步骤

### Step 1：读取剧本
从飞书表格或本地文件读取剧本数据，解析为结构化的行列表（每行含：类型/剧情描述/角色名/台词）。

### Step 2：逐项检查
按以下检查清单逐项核对，记录每项结果（通过/问题/警告）。

### Step 3：生成审校报告
按严重程度排序输出报告：🔴 致命 > 🟡 警告 > 🟢 建议。

---

## 审校检查清单

### 一、知识点检查（🔴 致命级）

#### 1.1 知识点频次
- [ ] 每个知识点输入≥2次
- [ ] 每个知识点输出2-3次（单词建议3次）
- **检查方法：** 遍历所有台词行，计数每个知识点在NPC台词（输入）和User台词（输出）中出现的次数

#### 1.2 输入输出顺序
- [ ] 每个知识点的首次输出前，至少有1次NPC输入
- **检查方法：** 按行序扫描，记录每个知识点首次出现时的角色。如首次为User则报错。

#### 1.3 词性/释义正确
- [ ] 每个知识点以指定词性和释义出现
- **检查方法：** 对照本课知识点清单检查。注意：fun为名词时不能出现"not fun"（应为"no fun"）；Chinese为形容词时必须搭配名词。

### 二、互动检查（🔴 致命级）

#### 2.1 互动总量
- [ ] 全课互动总数≥14个
- **检查方法：** 计数类型列中所有非空且非TL的行

#### 2.2 对话互动含知识点
- [ ] 所有「对话互动」行中User台词含≥1个知识点
- **检查方法：** 标记类型列为「对话互动」的行，检查对应台词是否含知识点

#### 2.3 核心互动
- [ ] 存在至少1个核心互动
- [ ] 核心互动含≥3个知识点
- [ ] 位置在中后段（剧本50%之后）
- **检查方法：** 定位核心互动行，计数其中知识点数量，确认位置比例

#### 2.4 互动分布均匀性
- [ ] 互动沿剧情线均匀分布，无前半段密集后半段空白（或反过来）
- **检查方法：** 将剧本按行数分为4等分，检查各段互动数量偏差不超过50%

### 三、台词检查（🔴 致命级）

#### 3.1 NPC单句长度
- [ ] 所有NPC台词每句≤15词
- **检查方法：** 遍历所有非User台词行，单词计数。>15词标为致命，10-15词标为警告。

#### 3.2 User台词占比
- [ ] User台词占全部台词25-30%，不低于20%
- **检查方法：** 计数User台词行数÷总台词行数

#### 3.3 User开场参与
- [ ] 前10行内User有台词和主动行为
- **检查方法：** 扫描前10行，确认有User台词行

#### 3.4 称呼规则
- [ ] 无台词直呼"User"或其名字
- **检查方法：** 搜索所有台词行中是否出现"User"或名字

### 四、格式与规范检查（🟡 警告级）

#### 4.1 剧情描述与台词分离
- [ ] 无同一行中间同时有剧情描述和台词
- **检查方法：** 检查每行的C列和D/E列是否同时非空

#### 4.2 类型列规则
- [ ] 每个新段落首行标注TL
- [ ] 同段内后续行类型列留空

#### 4.3 剧本字数
- [ ] 英文台词单词数在600-800字范围内
- **检查方法：** 台词单词数量统计

#### 4.4 制作标注
- [ ] 剧情描述包含必要标注（emoji/音效/动画/镜头等）
- **检查方法：** 检查是否缺乏【场景】【角色】【emoji】等基础标注

### 五、角色设定检查（🟡 警告级）

#### 5.1 DiDi/BoBo规则
- [ ] DiDi/BoBo不在大人角色在场时出现
- **检查方法：** 扫描同场景行，如DiDi/BoBo与大人（Dad/Mum/Sam/Justin等）同时出现则警告

#### 5.2 情感弧线
- [ ] 有清晰的情感弧线结构
- **检查方法：** 人工判断开头→中段→结尾的情感变化轨迹

### 六、连贯性检查（🟢 建议级）

#### 6.1 因果逻辑
- [ ] 关键事件有因果铺垫，无凭空出现
- **检查方法：** 列出所有场景切换/角色出场，确认前文有铺垫

#### 6.2 每段结尾钩子
- [ ] 每段结尾自然衔接下一段
- **检查方法：** 检查各TL段落结尾的台词/描述是否有衔接感

---

## 审校报告格式

```markdown
# 📋 剧本审校报告 — [Unit] [Lesson] [段落]

## 总体评分
- 知识点：X/Y 通过
- 互动：X/Y 通过
- 台词：X/Y 通过
- 格式：X/Y 通过
- 综合：✅ 可交付 / ⚠️ 需修改 / 🔴 需重写

## 🔴 致命问题（必须修复）
| # | 检查项 | 位置 | 问题描述 | 建议修改 |
|---|--------|------|---------|---------|

## 🟡 警告（建议修复）
| # | 检查项 | 位置 | 问题描述 | 建议修改 |
|---|--------|------|---------|---------|

## 🟢 建议（可选优化）
| # | 检查项 | 位置 | 问题描述 | 建议修改 |
|---|--------|------|---------|---------|

## 知识点统计
| 知识点 | 词性/释义 | 输入次数 | 输出次数 | 首次输入位置 | 状态 |
|--------|----------|---------|---------|------------|------|

## 互动统计
- 对话互动：X个 | 图片互动：X个 | 核心互动：X个 | 总计：X个
```

---

## 使用方式

1. **审校飞书表格中的剧本：**
   - 使用飞书 Sheets API 读取剧本数据
   - 逐行解析为结构化数据
   - 运行审校检查清单

2. **审校对话中的剧本：**
   - 从对话上下文中提取剧本数据
   - 手动填入审校模板
   - 逐项检查并输出报告

3. **审校后的下一步：**
   - 将审校报告发给编剧确认
   - 或直接使用 `script-polish` 技能根据审校报告自动修改
