원클릭으로
youtube-video-analysis
"对 YouTube 视频做四步深度分析:抓字幕 → 结构化总结 → 联网事实核查 → 输出"合理/不合理/启发"判断报告。当用户给出 YouTube 链接并要求分析、梳理、批判性解读、判断真伪、提炼观点时调用。"
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
"对 YouTube 视频做四步深度分析:抓字幕 → 结构化总结 → 联网事实核查 → 输出"合理/不合理/启发"判断报告。当用户给出 YouTube 链接并要求分析、梳理、批判性解读、判断真伪、提炼观点时调用。"
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when the user asks to correct English prompts, broken English, typos, grammar, wording, tone, workplace English, business writing, presentation language, or asks for English practice, quizzes, or help expressing ideas clearly in English.
Use when 用户要求提取、提炼、总结某个日期或时间范围的群聊/聊天记录(EACC 投资群 / eacc-chat),生成群聊日报、核心话题分析或投资价值信息筛选。触发词:提取聊天记录、群聊提炼、群聊总结、某月某日群里聊了什么、chat digest、群聊日报、群聊干货。
评估或对比会议纪要/访谈整理/深度纪要的质量:对照原始转录核查保真度,盘点覆盖度,输出多维度打分与失真清单。适用时机:(1) 用户问"这两份纪要哪份质量更高/写得更好",(2) AI 生成的纪要发布前验收(有没有幻觉、编造、立场写错),(3) 给纪要挑毛病/做质检/打分。触发语:评估纪要质量、对比纪要、纪要靠谱吗、纪要验收、纪要打分、哪份纪要好。
对会议纪要/活动回顾/访谈整理等将对外发布的文档做敏感信息检查与脱敏,覆盖查塔姆宫规则(Chatham House Rule)合规:人名机构名及变体、职级暗示、玩笑话与人事信号、点评同行、口语化敏感词、外链击穿匿名、身份指纹拼图、第三方未公开信息、编辑残留。适用时机:(1) 纪要将对外发布/进知识库/发群前,(2) 嘉宾或机构方要求脱敏审稿,(3) 用户提到查塔姆规则/讲事不讲人/匿名化/敏感信息检查。输出违规清单+修复建议,或直接执行脱敏。
Use when designing or reviewing lifecycle status fields, finite state machines, async task/order/payment/upload/approval workflows, or when states are overlapping, action-shaped, ownerless, unsafe under retries, concurrency, timeouts, or terminal-state updates.
深度研究与验证技能:当用户提出需要多源信息搜集、逻辑推理和事实验证的复杂问题时使用。 适用场景包括但不限于:投资研究、行业分析、技术对比、政策解读、商业决策支持等需要 "先想清楚怎么查,再去查,查完还要验证"的场景。 触发关键词/短语:为什么A而不是B、分析一下、帮我研究、设计一个SOP流程来回答、 深度分析、请验证、fact check、多角度分析、请先理解问题再回答、不要立即回答。 当用户明确要求"先设计研究流程再回答"或"验证你的结论"时,务必使用此技能。 当用户的问题涉及多个实体的比较(公司、技术、政策等)且答案不是简单事实时,也应触发。
| name | youtube-video-analysis |
| description | "对 YouTube 视频做四步深度分析:抓字幕 → 结构化总结 → 联网事实核查 → 输出"合理/不合理/启发"判断报告。当用户给出 YouTube 链接并要求分析、梳理、批判性解读、判断真伪、提炼观点时调用。" |
输入一个 YouTube 视频 URL,输出一份带事实核查标签的中文深度分析报告。 核心价值:不只总结视频"说了什么",更要判断"说的对不对"和"哪些值得学"。
满足以下任一条件即调用本 skill:
youtube.com/watch?v= 或 youtu.be/ 链接不适用场景:
which yt-dlp || brew install yt-dlp # 字幕抓取
python3 --version # 内置 re/pathlib 即可
可选(字幕不存在时的兜底):
which whisper || pip install -U openai-whisper
which ffmpeg || brew install ffmpeg
必须遵守 AGENTS.md §1 的"一视频一 workspace"约束:
out/<videoId>__<slug>/raw/(原始素材)、transcript/(清洗文本)、logs/(日志)、scratch/(中间产物)report.md,归档笔记固定命名为 note.mdout/ 根目录冲突时以 AGENTS.md 为准;本文件中的命令示例已按此约定写出。
# 从 URL 解析 videoId,先抓取 metadata-only,再据标题生成 slug
URL="<YOUTUBE_URL>"
VID=$(python3 -c "import re,sys; m=re.search(r'(?:v=|youtu\.be/)([\w-]{11})', sys.argv[1]); print(m.group(1))" "$URL")
mkdir -p out/_tmp
yt-dlp --skip-download --write-info-json \
-o "out/_tmp/%(id)s.%(ext)s" "$URL"
TITLE=$(python3 -c "import json,sys; print(json.load(open(sys.argv[1]))['title'])" "out/_tmp/$VID.info.json")
SLUG=$(python3 -c "import re,sys; s=sys.argv[1]; s=re.sub(r'[\s\W]+','',s); print(s[:24])" "$TITLE")
WS="out/${VID}__${SLUG}"
mkdir -p "$WS/raw" "$WS/transcript" "$WS/logs" "$WS/scratch"
mv "out/_tmp/$VID.info.json" "$WS/raw/"
rmdir out/_tmp 2>/dev/null
echo "Workspace ready: $WS"
所有后续命令的输出路径都必须指向 $WS/...,绝不允许写入 out/ 根。
优先级:官方/自动字幕 > Whisper 转写
# $WS 来自 Step 0
yt-dlp \
--write-auto-subs --sub-lang "zh-CN,zh-Hans,zh,en" --skip-download \
--write-info-json -o "$WS/raw/%(id)s.%(ext)s" \
"$URL" \
2> "$WS/logs/$VID.dl.log"
产物(均在 workspace 内):
$WS/raw/<videoId>.<lang>.vtt — 原始字幕$WS/raw/<videoId>.info.json — 标题/频道/时长/观看量等元数据(Step 0 已写入)$WS/logs/<videoId>.dl.log — 抓取日志清洗 VTT → 纯文本(脚本固定为以下 25 行;可复用 vtt2txt.py,输出落到 $WS/transcript/):
import re, sys, pathlib
p = pathlib.Path(sys.argv[1])
raw = p.read_text(encoding='utf-8')
lines = []
for ln in raw.splitlines():
if not ln.strip(): continue
if ln.startswith('WEBVTT') or ln.startswith('Kind:') or ln.startswith('Language:'): continue
if '-->' in ln: continue
if re.match(r'^\d+$', ln.strip()): continue
ln = re.sub(r'<[^>]+>', '', ln)
ln = re.sub(r' ', ' ', ln)
lines.append(ln.strip())
seen, prev = [], None
for ln in lines:
if ln != prev and ln:
seen.append(ln); prev = ln
text = ''.join(seen)
text = re.sub(r'\s+', '', text)
out = p.with_suffix('.txt')
out.write_text(text, encoding='utf-8')
print(f'chars={len(text)} -> {out}')
Whisper 兜底(仅当 yt-dlp 拿不到任何字幕时启用,所有产物落 workspace):
yt-dlp -x --audio-format mp3 -o "$WS/raw/%(id)s.%(ext)s" "$URL" \
2>> "$WS/logs/$VID.dl.log"
whisper "$WS/raw/$VID.mp3" --language zh --model medium \
--output_dir "$WS/transcript" --output_format txt \
2> "$WS/logs/$VID.whisper.log"
读入清洗后的 $WS/transcript/*.txt,按以下四元结构提炼:
| 字段 | 要求 |
|---|---|
| 是什么(What) | 一句话讲清视频题材、叙事弧线、性质(新闻/评论/教学/八卦) |
| 为什么(Why) | 作者的核心主张 / 想让观众相信什么 |
| 核心逻辑(How) | 论证链路 L1→L2→...→Ln,每环写清"证据 → 结论" |
| 主要论据 | 列出 15-25 条 可被独立检验的事实性主张,按"商业事实 / 因果叙事 / 时间口径"分类 |
关键纪律:事实主张 与 作者推论 必须分行写、分别打标,绝不混淆。
对 Step 2 输出的每条事实性主张,逐条 WebSearch 核查,打四档标签:
| 标签 | 含义 | 处置 |
|---|---|---|
| ✅ 属实 | 多个独立来源印证 | 保留 |
| 🟡 部分属实 | 核心为真但数字/时间有夸张 | 标注差异 |
| ⚠️ 无法核实 | 仅有匿名/转引/单一来源 | 明确标"二手转引" |
| ❌ 与事实不符 | 公开信息矛盾 | 在报告中直接驳正 |
搜索策略:
核查覆盖目标:至少 20 条主张,至少 10 次独立检索。
按以下固定结构输出中文报告(即"分析报告",区别于后续可能归档的"知识笔记"):
1. TL;DR(3 行结论)
2. 视频在讲什么(What)
3. 核心论证链(带证据强度评级表)
4. 事实核查证据表(按 5.1 商业事实 / 5.2 因果叙事 / 5.3 时间口径 分组)
5. 合理与不合理判断
- 6.1 ✅ 合理且值得吸收
- 6.2 ⚠️ 不合理或过激(必须与 6.1 颗粒度对等!)
- 6.3 🎯 启发性的部分(中性第三栏)
6. 可迁移的思维模型与方法论
7. 适用边界与读者警示
关键反例检查(输出前自检):
落盘位置:若用户要求保存报告,必须写入 $WS/report.md(不带 videoId 前缀,因为目录已隔离),禁止写到 out/ 根。
[name](file:///abs/path) 格式,且必须指向当前 workspace 内的文件。$WS/report.md。本 skill 产出"分析报告"(位于 $WS/report.md 或 inline)。如果用户进一步要求归档,请调用姊妹 skill:
research-to-knowledge-note — 它会读取同一 workspace 的 report.md 与 raw/ transcript/ 素材,把结果整合为 $WS/note.md。
本 skill 抽象自一次真实执行: