/SKILL.md
Advanced video analysis and selection skill with AI-powered automatic scoring. Integrates Walter Murch's rules and dynamic weighting for professional-grade curation. Supports Bilibili, YouTube, Douyin (抖音), and Xiaohongshu (小红书). Use this skill whenever the user wants to analyze videos, score or rate scenes, extract best shots/highlights, evaluate video quality, curate clips, do competitor video analysis, or mentions terms like "视频分析", "镜头筛选", "场景评分", "视频拆解", "精选片段", "视频质量", "镜头打分", "素材挑选" — even if they don't explicitly ask for "expert analysis".
npx skillsauth add albedo-tabai/video-expert-analyzer video-expert-analyzerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
基于 Walter Murch 剪辑六法则 和 AI 自动评分系统 的专业视频分析工具。
| 平台 | 支持状态 | 说明 | |------|---------|------| | Bilibili | ✅ 完全支持 | yt-dlp 下载 + B站API字幕 | | YouTube | ✅ 完全支持 | yt-dlp 下载 | | 抖音 (Douyin) | ✅ 完全支持 | 专用下载器(公开/分享链接无需浏览器 cookie) | | 小红书 (Xiaohongshu) | ✅ 完全支持 | 专用下载器 | | 其他平台 | ⚠️ 可能支持 | 取决于 yt-dlp 支持情况 |
✅ 真实 AI 视觉评分 - 调用多模态大模型(Gemini 3.0/Kimi 2.5)真实分析画面内容
✅ 双路径评分 - 支持「Agent 模式」(宿主 AI 直接看图)和「API 模式」(远程 API 调用)
✅ 中英双语术语 - 所有专业术语附中文释义
✅ 可配置输出目录 - 首次使用设置,后续自动使用
✅ 精选片段自动复制 - 自动复制到 scenes/best_shots/
✅ 完整分析报告 - 包含理论依据、评分理由、整体评价(非模板)
✅ 动态权重系统 - 根据场景类型自动调整评分权重
✅ 智能文件夹命名 - 以视频标题(自动裁剪)命名输出文件夹,更直观易懂
⚠️ 重要提示:本 skill 的 AI 评分功能需要多模态(视觉理解)模型才能正常工作。
请确保使用 Gemini 3.0、Kimi 2.5 等具备视觉能力的模型来调用此 skill。
| 模型 | Agent 模式 | API 模式 | 说明 | |------|-----------|---------|------| | Gemini 3.0 Flash | ✅ 推荐 | ✅ 推荐 | 速度快、视觉能力强 | | Gemini 3.0 Pro | ✅ 推荐 | ✅ 支持 | 最强视觉理解 | | Kimi 2.5 | ✅ 支持 | ✅ 支持 | 中文语境优秀 | | Claude (Sonnet/Opus) | ✅ 支持 | ❌ 不支持 | 有视觉能力但无 OpenAI 兼容 API | | 纯文本模型 | ❌ 不可用 | ❌ 不可用 | 无视觉能力,无法评分 |
Agent 模式 = 在 IDE(Cursor/VS Code/OpenClaw)中,AI 助手直接查看帧图片评分
API 模式 = 在终端 CLI 中,通过 OpenAI 兼容 API 远程调用视觉模型
| 英文术语 | 中文释义 | 详细说明 | |---------|---------|---------| | Aesthetic Beauty | 美感 | 构图(三分法)、光影质感、色彩和谐度 | | Credibility | 可信度 | 表演自然度、物理逻辑真实感、无出戏感 | | Impact | 冲击力 | 视觉显著性(Visual Saliency)、动态张力、第一眼吸引力 | | Memorability | 记忆度 | 独特视觉符号、冯·雷斯托夫效应(Von Restorff Effect)、金句 | | Fun/Interest | 趣味度 | 参与感、娱乐价值、社交货币(Social Currency)潜力 |
| 类型 | 中文释义 | 特点 | |------|---------|------| | TYPE-A Hook | 钩子/开场型 | 高冲击力、吸引注意力 | | TYPE-B Narrative | 叙事/情感型 | 人物对话、情感表达 | | TYPE-C Aesthetic | 氛围/空镜型 | 风景、慢动作、极简构图 | | TYPE-D Commercial | 商业/展示型 | 产品特写、广告展示 |
| 等级 | 中文释义 | 标准 | |------|---------|------| | MUST KEEP | 强烈推荐保留 | 加权总分 ≥ 8.5 或 单项 = 10 | | USABLE | 可用素材 | 7.0 ≤ 加权总分 < 8.5 | | DISCARD | 建议舍弃 | 加权总分 < 7.0 |
| 英文 | 中文 | 说明 | |------|------|------| | Walter Murch's Six Rules | 沃尔特·默奇六法则 | 情感>故事>节奏>视线追踪>2D平面>3D空间 | | Von Restorff Effect | 冯·雷斯托夫效应 | 独特的项目更容易被记住 | | Visual Saliency | 视觉显著性 | 吸引眼球的程度 | | Social Currency | 社交货币 | 内容被分享的价值 | | CTA | 行动号召 | Call to Action | | SYNC | 节奏同步 | 画面与音频节拍的契合度 |
# 首次配置(只需一次)
python3 scripts/pipeline_enhanced.py --setup
# 分析视频
python3 scripts/pipeline_enhanced.py https://www.bilibili.com/video/BV1xxxxx
python3 scripts/pipeline_enhanced.py "https://www.douyin.com/video/xxxxx"
首次使用时,请选择评分模式:
如果你正在 IDE 或 AI 编程助手中使用此 skill,无需配置任何 API Key。 宿主 AI 助手(如 Gemini、Kimi)本身就具备视觉理解能力,可以直接「看图打分」。
流程: 当你(AI 助手)拥有视觉理解能力时,在 pipeline 完成后执行以下步骤:
<output_dir>/frames/ 目录,确定总共有多少个场景帧。这决定了后续分批策略。view_file 工具批量查看 .jpg 文件。scene_scores.json 中每个场景的字段scenes/best_shots/ 并按排名命名<video_id>_complete_analysis.md当场景数量超过 10 个时,必须使用分批分析模式。这不是建议,而是硬性要求——因为一次性处理过多场景时,AI 容易因上下文疲劳而跳过、抽样或给出模板化评分,导致分析质量崩塌。
🚫 反抽样声明(Anti-Sampling Policy)
每一个场景都是用户花了真金白银下载和切分的素材。抽样分析意味着用户会错过可能的最佳镜头——想象一下,被跳过的那个场景恰好是整个视频的高光时刻。因此:
- 禁止抽样、跳过、合并或"代表性选取"任何场景
- 禁止对未查看的场景给出评分(不看图就打分等于捏造数据)
- 禁止对多个场景使用相同的描述文字(每个镜头的画面内容不同,描述必然不同)
- 如果因为上下文限制确实无法继续,应当明确告知用户已完成到哪个场景,让用户决定如何继续,而不是悄悄跳过
分批规则:
每个 batch 执行流程:
view_file 查看本批次所有帧图片scene_scores.jsonbatch_N_report.md(N = 批次号),包含:
全部 batch 完成后:
frames/ 目录中的所有 .jpg 文件数量 = 应分析总数scene_scores.json 中已有评分的场景数量 = 实际完成数<video_id>_complete_analysis.mdscenes/best_shots/batch_N_report.md 子报告如果你直接在终端运行脚本,需要配置视觉大模型 API:
# 设置 API 密钥(必需)
export VIDEO_ANALYZER_API_KEY="your-api-key"
# 可选:自定义端点和模型
export VIDEO_ANALYZER_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai"
export VIDEO_ANALYZER_MODEL="gemini-2.0-flash"
# 运行 AI 分析
cd ~/Downloads/video-analysis/<视频文件夹>
python3 <skill_dir>/scripts/ai_analyzer.py scene_scores.json --mode api
┌─────────────────────────────────────────────────────────────┐
│ VIDEO EXPERT ANALYZER v2.0 │
└─────────────────────────────────────────────────────────────┘
第 1 阶段: 数据处理 (pipeline_enhanced.py)
1. 📥 下载视频 → video.mp4
2. 🎵 提取音频 → video.m4a
3. 🎞️ 场景检测 (detect-content) → scenes/*.mp4
4. 🎤 智能字幕提取 → video.srt
(B站API → 内嵌字幕 → RapidOCR → FunASR 四级降级)
5. 🖼️ 帧提取 → frames/*.jpg
6. 📊 生成评分模板 → scene_scores.json
第 2 阶段: AI 视觉评分 (选择一种模式)
┌────────────────────────┬────────────────────────┐
│ 🅰️ Agent 模式 │ 🅱️ API 模式 │
│ 宿主 AI 直接看图评分 │ 远程调用视觉大模型 │
│ 无需 API Key │ 需要 API Key │
│ IDE/OpenClaw/Cursor │ 独立 CLI 运行 │
└────────────────────────┴────────────────────────┘
↓
7. 🤖 真实视觉分析评分 → 基于画面内容的真实评分
8. 🧮 动态权重计算 → 根据类型计算加权得分
9. ⭐ 精选镜头筛选 → 复制到 scenes/best_shots/
10. 📄 生成完整报告 → *_complete_analysis.md
情感 Emotion > 故事 Story > 节奏 Rhythm > 视线追踪 Eye-trace > 2D平面 2D Plane > 3D空间 3D Space
一个情感真挚但画面略抖的镜头,优于一个画面完美但内容空洞的镜头。
| 维度 (Dimension) | 基础权重 | 评估要点 | |-----------------|---------|---------| | Aesthetic Beauty 美感 | 20% | 构图(三分法)、光影质感、色彩和谐度 | | Credibility 可信度 | 20% | 表演自然度、物理逻辑、无出戏感 | | Impact 冲击力 | 20% | 视觉显著性(Visual Saliency)、动态张力 | | Memorability 记忆度 | 20% | 独特符号(Von Restorff Effect)、金句 | | Fun/Interest 趣味度 | 20% | 参与感、娱乐价值、社交货币 |
| 类型 (Type) | 权重分配 (Weighting) | 适用场景 (Application) | |------------|---------------------|----------------------| | TYPE-A Hook | IMPACT 40% + MEMORABILITY 30% + SYNC 20% | 开场钩子、高能时刻 | | TYPE-B Narrative | CREDIBILITY 40% + MEMORABILITY 30% + AESTHETICS 20% | 叙事段落、情感表达 | | TYPE-C Aesthetic | AESTHETICS 50% + SYNC 30% + IMPACT 20% | 空镜头、氛围营造 | | TYPE-D Commercial | CREDIBILITY 40% + MEMORABILITY 40% + AESTHETICS 20% | 产品展示、商业广告 |
| 等级 (Level) | 中文释义 | 标准 (Criteria) | 用途 (Usage) | |-------------|---------|----------------|-------------| | 🌟 MUST KEEP | 强烈推荐保留 | 加权总分 > 8.5 或 单项 = 10 | 核心素材,极致长板 | | 📁 USABLE | 可用素材 | 7.0 ≤ 加权总分 < 8.5 | 过渡素材,辅助叙事 | | 🗑️ DISCARD | 建议舍弃 | 加权总分 < 7.0 或有瑕疵 | 建议舍弃 |
{output_dir}/
└── {video_id}/
├── {video_id}.mp4 # 完整视频 (Full Video)
├── {video_id}.m4a # 音频文件 (Audio)
├── {video_id}.srt # 字幕文件 (Subtitles)
├── {video_id}_transcript.txt # 转录文本 (Transcript)
├── scene_scores.json # 完整评分数据(AI已填写)⭐
├── {video_id}_complete_analysis.md # ⭐ 完整分析报告(中英双语)
├── scenes/ # 场景片段 (Scene Clips)
│ ├── {video_id}-Scene-001.mp4
│ ├── {video_id}-Scene-002.mp4
│ ├── ...
│ └── best_shots/ # ⭐ 精选片段(已复制)
│ ├── 01_USABLE_xxx.mp4
│ ├── 02_MUST_KEEP_xxx.mp4
│ └── README.md # 双语说明文件
└── frames/ # 场景预览帧 (Preview Frames)
├── {video_id}-Scene-001.jpg
└── ...
生成的 *_complete_analysis.md 包含中英双语术语对照:
完整的专业术语中英对照表,包含:
# 配置输出目录(首次)
python3 scripts/pipeline_enhanced.py --setup
# 分析视频
python3 scripts/pipeline_enhanced.py https://www.bilibili.com/video/BV1xxxxx
# 进入输出目录运行 AI 分析
cd ~/Downloads/video-analysis/BV1xxxxx
python3 <skill_dir>/scripts/ai_analyzer.py scene_scores.json
python3 scripts/pipeline_enhanced.py URL --scene-threshold 20
python3 scripts/ai_analyzer.py scene_scores.json 6.5 # 阈值 6.5
| 选项 | 说明 |
|------|------|
| --setup | 配置输出目录 |
| -o, --output | 指定输出目录 |
| --scene-threshold | 场景检测阈值 (默认27) |
| --best-threshold | 精选阈值 (默认7.5) |
| 参数 | 说明 |
|------|------|
| scene_scores.json | 评分文件路径 |
| --mode api | API 模式(需设置 VIDEO_ANALYZER_API_KEY)|
| --mode agent | Agent 模式(生成模板供宿主 AI 填写)|
| 环境变量 | 说明 |
|------|------|
| VIDEO_ANALYZER_API_KEY | 视觉大模型 API 密钥(API 模式必需)|
| VIDEO_ANALYZER_BASE_URL | API 端点(默认 Gemini) |
| VIDEO_ANALYZER_MODEL | 模型名称(默认 gemini-2.0-flash)|
# 系统依赖(安装 ffmpeg)
brew install ffmpeg # macOS
winget install ffmpeg # Windows
sudo apt install ffmpeg # Ubuntu/Debian
# 一键安装所有 Python 依赖
pip3 install -r requirements.txt
# 或手动安装核心依赖
pip3 install yt-dlp scenedetect[opencv] requests funasr modelscope torch torchaudio
# 可选依赖
pip3 install openai # API 模式评分
pip3 install rapidocr-onnxruntime # 烧录字幕 OCR 检测
# 一键检测所有依赖是否就绪
python3 scripts/check_environment.py
由于抖音的反爬机制,yt-dlp 无法直接下载抖音视频。本工具集成了专用的抖音下载器,可以:
douyin.com 和 v.douyin.com 短链接)支持的抖音链接格式:
https://www.douyin.com/video/xxxxxhttps://www.douyin.com/jingxuan?modal_id=xxxxxhttps://v.douyin.com/xxxxx (短链接)抖音下载实现原理:
RENDER_DATA JSON 数据playwm 为 play 获取无水印版本)给 Agent 的硬性规则:
python3 scripts/pipeline_enhanced.py "<抖音链接>"python3 scripts/download_douyin.py "<抖音链接>" ./video.mp4https://v.douyin.com/...);长链也支持如果在 IDE 中执行 cp 或 Python 脚本时终端无响应,这通常是 IDE 终端代理的问题。解决方案:
copy_by_index.py 脚本通过 JSON 索引批量复制文件FunASR 首次运行需下载约 2-3GB 的 Paraformer 模型。如果下载缓慢:
export MODELSCOPE_CACHE=~/.cache/modelscope如果 Agent 在 WSL、远程容器或无桌面浏览器环境里说“无法读取抖音链接,因为网页版需要登录且 cookie 读不到”,按下面处理:
scripts/pipeline_enhanced.py 或 scripts/download_douyin.pyv.douyin.com 短链后再跑xiaohongshu_downloader.pyrequirements.txt:一键安装所有依赖check_environment.py:检测 v2.1 实际依赖detect-adaptive → detect-content,镜头切分更精准--whisper-model 参数(FunASR 使用固定 paraformer-zh 模型)基于 Walter Murch 剪辑六法则 (Walter Murch's Six Rules of Editing)
AI 自动评分系统 (AI Automatic Scoring System)
动态权重算法 (Dynamic Weighting Algorithm)
中英双语术语对照 (Bilingual Terminology Reference)
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.