# Podcast Script Cutter

> Use when the user wants to cut/compress a podcast transcript into a script of specific duration. Triggers on "播客脚本"、"做脚本"、"剪成X分钟"、"压缩成X分钟"、"做成X分钟"、"剪辑脚本"、"逐字稿转脚本"、"帮我剪"、transcript + 时长/分钟 mentioned.

- Skill: `carpo9984/podcast-script-cutter` (Agent Skill)
- Install (CLI): `npx skillmds@latest add carpo9984/podcast-script-cutter`
- Raw SKILL.md: https://api.skillmd.com/api/skills/carpo9984/podcast-script-cutter/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: carpo9984 (https://skillmd.com/u/carpo9984)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/carpo9984/podcast-script-cutter

---


# 播客逐字稿转视频脚本

从一份完整播客逐字稿，提取出适合视频剪辑使用的精简脚本。所有内容必须引用原句，只删不改。

---

## 第一步：获取逐字稿

- 飞书链接 → 优先使用当前 AI 已连接的飞书工具读取；如果没有飞书权限，请用户导出文件、上传逐字稿或直接粘贴正文
- 本地文件 → 直接 Read
- 把内容存到临时文件 `.tmp_script/source.md`，方便后续引用核查

---

## 第二步：询问目标时长

主动问用户：

> 这个视频播客的目标时长大概是多久？

根据回答计算**字数预算**（中文播客语速：**每秒 5～6 个字**）：

| 时长 | 字数预算（取均值 5.5字/秒） |
|------|--------------------------|
| 6 分钟 | ~1,980 字 |
| 10 分钟 | ~3,300 字 |
| 15 分钟 | ~4,950 字 |
| 20 分钟 | ~6,600 字 |
| 公式 | 时长(分) × 60 × 5.5 |

---

## 第三步：受众分析

直接分析逐字稿；如果当前环境已安装内容人群分析 Skill，也可以调用它辅助判断。需要得到：
- 目标人群切片（至少 3 个）
- 每个人群最在意的问题/情绪锚点
- 优先级排序

---

## 第四步：联网验证受众假设

如果当前环境支持联网搜索，用可用的网页搜索工具验证分析结论：

搜索方向：
- 该品类/话题下的小红书、微博、知乎高赞内容
- 目标人群的真实讨论（比如"大厂裁员"+"焦虑"+"离职"）
- 竞品播客/视频的热门评论区关键词

验证后修正受众排序，确认哪个人群的情绪触点在本集内容里有最强的素材。如果当前环境不能联网，基于逐字稿完成分析，并明确说明未做外部验证；不要因此中断剪辑任务。

---

## 第五步：构建脚本

### 筛选原则（按优先级）

1. **情绪核弹优先**：直接击中目标人群隐秘需求的句子
2. **信息密度高**：每句话都有实质内容，不是铺垫
3. **主持人均衡出镜**：每位主播都要有说话机会，嘉宾不要连续大段独白
4. **承上启下句必须保留**：段与段之间的过渡问句、衔接句不能省掉
5. **逻辑弧线完整**：开头→核心冲突→转折→落地，缺一不可

### 必须删掉的内容

- 现场录制花絮：换卡、机位调整、特写切换、硬盘讨论、"还有多长时间"
- 录制指导语："重新说一遍"、"酝酿一下情绪"、"这里特别好"
- 反复铺垫：同一个意思用了三句话，保留最精准的一句
- 空洞互动：纯礼貌性的"对对对"、"嗯嗯嗯"连串

### 结构模板

```
## 【Block 1】开场 + 快问快答（~10%时长）
[快速建立人物画像，让目标人群开始代入]

## 【Block 2】核心冲突/转折（~20%时长）
[情绪核弹区，击中目标人群最痛的那个点]

## 【Block 3】专业/背景积累（~15%时长）
[为后面的观点提供可信度支撑]

## 【Block 4】行业洞察/信息核弹（~25%时长）
[让目标人群觉得"我不知道这个"，产生传播欲]

## 【Block 5】转折/希望/验证（~20%时长）
[从愤怒/焦虑 → 有人在做对的事，情绪转换]

## 【Block 6】收尾/落地（~10%时长）
[给听众一个可行动的takeaway，轻松结尾]
```

时长分配可根据内容弹性调整，短片可合并 block。

---

## 核心规则：删改边界

> **删改铁律：只删，不改。**
>
> 你的操作只有一种：选中一段文字，按 delete 键。没有回退键修改、没有重新输入、没有润色。
> 删完后读起来不顺？没关系。删完后逻辑跳跃？可以接受。**原词序 + 不添字 + 不换词 > 通顺度。**

### 可以做的（只有三件事）

1. **删除整句/整段** — 把不需要的句子、段落整个拿掉
2. **删除句子中间部分** — 删掉冗余从句/语气词，剩余部分保持原词序连起来
3. **合并时间戳** — 把不同时间戳的段落接在一起，不额外加衔接词

### 绝对不能做的（红线）

| 禁止 | 说明 | 错误示例（真实翻车记录） |
|------|------|---------|
| **改词序** | 保留的词，顺序不能变 | "我其实要的不是我要把这个钱要回来" → "我其实不是要把钱要回来" ❌ |
| **换词** | 原句用什么词就是什么词 | "自见" → "自建" ❌；"你让我吃都可以" → "你让我吃屎都可以" ❌（凭空加"屎"） |
| **添词** | 不能凭空加任何字 | 原稿没有"看很多自媒体博主"，脚本不能加这个主语 |
| **改主语** | 原句说谁就是说谁 | "别人给你之前制造的幻象" → "你自己制造的幻象" ❌ |
| **合并句** | 两句话各删后不能合成一句新句子 | 各删一半后仍需保持各自的句式，不能融成一句 |
| **润色** | 不能为了让句子"更好读"而调整任何用词 | "出版了一些书吧" → "出版了一些书" ❌（删"吧"=润色） |

### 删减的正确做法：举一反三

**核心模式：找到冗余片段 → 删除 → 前后拼接。仅此而已。**

```
模式 1：删独立语气词
  原："我觉得，哦。我被世界看见了"
  删："我觉得我被世界看见了"
  操作：只删了 "，哦。"，其余未动

模式 2：删中段保两端
  原："我发现是本小说，一打开张欣欣，我就愣住了，但是我读了几页，我就觉得被击中。"
  删："我发现是本小说，我读了几页，我就觉得被击中。"
  操作：删 "一打开张欣欣，我就愣住了，但是"，前后直接拼接

模式 3：删重复铺垫
  原："当时是一个创新教育的幼儿园的园长，然后她跟我讲了一个她姥姥的故事"
  删："一个园长跟我讲了她姥姥的故事"
  操作：删修饰词但保留核心名词+动词结构（注意：词序不变）

模式 4：删整段留问答骨架
  原：陈雪 500 字独白 → 删到只留一句话 + 刘同接话
  操作：删掉大段独白，保留"被张欣欣击中+类似状态"作为衔接钩子
```

**识别要删的冗余：**
- 同一意思用两句话说的 → 保留一句
- 嘉宾/主播的铺垫叙事（"我当时做了很多功课"、"第一次见他很紧张"）→ 尽量删
- 反应句/感叹句（"好浪漫"、"太对了"、"我也是这么想的"）→ 删
- 独立填充词（"哈哈哈"、"哦。"、"嗯，"、"啊，"）→ 删

### 语气词处理

**判据：能不能独立删掉这个词而不破坏相邻词的完整性？**

| 类型 | 判断标准 | 处理 | 示例 |
|------|---------|------|------|
| **独立填充词** | 前后有标点隔开，去掉后相邻词仍是完整词 | **删** | "哈哈哈，" "哈哈。" "哦。" "嗯，" "啊，" "哦，" "哎呀，" |
| **句内语气助词** | 紧贴在实义词后，删掉会改变前一个词的语义/节奏 | **保留** | "想问你啊" "你也会焦虑啊" "对吧" "是吧" "吃都可以" |

**特殊注意：**
- "哈哈哈" ≠ 笑点内容。如果嘉宾在讲笑话时说"哈哈哈"，删"哈哈哈"保留笑话内容即可
- "嗯"作为独立词 → 删；"嗯"作为"嗯我知道" → 保留（属于说话语感）
- 不确定时：删掉试试看，如果删掉后前一个词不完整 → 保留

### ASR 口误

ASR 口误、结巴、不完整的词（如"认。认为"）按原样保留，不要"帮忙修正"。

---

## 第六步：原句核查（输出前必做）

**不是可选步骤。每条引用都必须过。**

### 逐句 grep 核查

```bash
# 取脚本中每一句的关键词（5-8个字）去源稿搜
grep -n "关键词" .tmp_script/source.md
```

### 自查清单（逐句过，不打勾不输出）

- [ ] 这句话里的每个词在源稿里都找得到，且**顺序一致**
- [ ] 没有添字（包括"因为""所以""但是""于是"等衔接词）
- [ ] 没有换词——"自见"不是"自建"，"你让我吃都可以"不是"你让我吃屎都可以"
- [ ] 没有润色——"出版了一些书吧"没被改成"出版了一些书"
- [ ] 主语没被改
- [ ] 没有把两句合并成一句新句子
- [ ] 独立填充词（"哈哈"、"哦"、"嗯"、"啊"）已清理
- [ ] 删掉的部分确实是删除，不是改写

### 最易出错的三种情况

1. **"顺便改一下"心态**：看到"自见"想改成"自建" → 停手，这不是你的工作
2. **"这样读起来更好"心态**：想调词序让句子更通顺 → 停手，原词序不可动
3. **"加个转折词更顺"心态**：想在两段间加"但是""所以" → 停手，不添任何字

**如发现任何违反以上规则的操作，立即还原为原句。**

---

## 第七步：输出格式

输出为 Markdown 文件（`.tmp_script/final_script.md`），格式：

```markdown
# 视频脚本（XX分钟版）
字数：约 X,XXX 字 | 预计时长：XX 分钟

---

## 【Block 1】开场（~X min）

**陈雪 06:44**
这一期我们邀请到了...

**Sasha 07:12**
我是思所的创始人，...

---

## 【Block 2】...
```

- 每行开头标注 **说话人 + 时间戳**
- Block 之间用 `---` 分隔
- 文件末尾注明：「已逐句通过源稿 grep 核查，所有内容均为原逐字稿原句，仅做段落删减，无任何改词/添词/润色/词序调整」

---

## 常见问题

**Q：某个 block 找不到好的过渡句怎么办？**
回到原逐字稿里找时间戳附近的问句，主持人提问的句子通常是最自然的衔接。

**Q：嘉宾说的某段特别好但太长怎么办？**
找句子内部的天然断点（话题转换、"另外一个"、"还有一点"），删掉中间的展开，保留起始句和落地句。

**Q：主播 A 的露出太少怎么补？**
在各 block 的开头找主播 A 的提问句，这类句子通常承担承上启下功能，优先保留。

