agentsclimarketplace

Podcast script cutter

Skill carpo9984/GQXJ/skills/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.From its SKILL.md

Install
npx -y skills add carpo9984/GQXJ --skill podcast-script-cutter

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

9.8 KB, ~4.0k tokens by cl100k_base, as published. Nobody here has run it

播客逐字稿转视频脚本

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


第一步:获取逐字稿

  • 飞书链接 → 优先使用当前 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 核查

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

自查清单(逐句过,不打勾不输出)

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

最易出错的三种情况

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

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


第七步:输出格式

输出为 Markdown 文件(.tmp_script/final_script.md),格式:

# 视频脚本(XX分钟版)
字数:约 X,XXX 字 | 预计时长:XX 分钟

---

## 【Block 1】开场(~X min)

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

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

---

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

常见问题

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

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

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

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.