Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

YouTube Clipper Skill Pro - Agentic Workflow Edition

🚀 基于原版 Youtube-clipper-skill 的增强版本
采用先进的 Agentic Workflow 架构,通过专家级 Subagent 实现智能分析、高质量翻译和社交媒体发布自动化。

License Python Based on

English | 简体中文


📋 目录


✨ 核心优化

相比原版仓库,本项目在以下方面进行了重大升级:

🤖 1. Agentic Workflow 架构

采用主智能体 + 专家 Subagent 的协作模式,将复杂任务分解为专业化的子任务:

  • AnalysisAgent - 内容语义分析专家

    • 深度理解视频内容结构
    • 生成高质量的章节划分方案
    • 支持交互式反馈循环,确保切分逻辑符合用户意图
  • TranslationAgent - 双语翻译专家

    • 批量翻译优化(20条/批次)
    • 95% API 调用减少,10倍速度提升
    • 保持主 Agent 上下文清晰,避免翻译任务污染主流程
  • TweetAgent新增 - 社交媒体文案专家

    • 自动生成推特风格的分享文案
    • 针对每个视频片段优化内容吸引力
    • 支持自定义文案风格和话题标签

🐦 2. Twitter 自动发布集成 ⭐ 新增

集成 baoyu-post-to-x-video Skill:

  • ✅ 一键将剪辑好的视频发布到 Twitter/X
  • ✅ 自动附带 AI 生成的推广文案
  • ✅ 支持视频预览和发布前确认
  • ✅ 完整的浏览器自动化流程

🧠 3. 上下文管理优化

通过 Subagent 架构实现:

  • 主 Agent 专注于流程编排
  • 专家 Agent 处理具体任务
  • 避免单一 Agent 上下文过载
  • 提升整体工作流的稳定性和可维护性

📊 4. 增强的分析性能

  • 更精准的语义理解
  • 支持用户自定义章节划分策略
  • 交互式反馈机制,持续优化直到满意

🚀 快速开始

前置要求

  • macOS / Linux / Windows (WSL)
  • Python 3.8+
  • Claude Code / Claude Desktop
  • Git

一键安装

# 克隆仓库到本地
git clone https://github.com/Mr-funny/Youtube-clipper-skill.git ~/youtube_clips

# 进入项目目录
cd ~/youtube_clips

# 查看实际的 Skill 代码(在 .claude 目录下)
ls -la .claude/skills/Youtube-clipper-skill/

📦 安装指南

方式一:直接使用(推荐)

本项目采用特殊的目录结构,实际的 Skill 代码位于 .claude/skills/Youtube-clipper-skill/ 目录下

  1. 克隆项目到本地
git clone https://github.com/Mr-funny/Youtube-clipper-skill.git ~/youtube_clips
cd ~/youtube_clips
  1. 安装系统依赖

macOS:

# 安装 yt-dlp(YouTube 下载工具)
brew install yt-dlp

# 安装 FFmpeg(必须包含 libass 支持)
brew install ffmpeg
# 或者安装完整版
brew install ffmpeg-full

# 验证 FFmpeg libass 支持
ffmpeg -filters 2>&1 | grep subtitles
# 应该输出: subtitles    V->V  (...)

Ubuntu/Debian:

sudo apt update
sudo apt install yt-dlp ffmpeg libass-dev python3-pip
  1. 安装 Python 依赖
cd .claude/skills/Youtube-clipper-skill/
pip install yt-dlp pysrt python-dotenv
  1. 配置环境变量
# 复制示例配置文件
cp .claude/skills/Youtube-clipper-skill/.env.example .claude/skills/Youtube-clipper-skill/.env

# 编辑配置(可选)
nano .claude/skills/Youtube-clipper-skill/.env
  1. 验证安装
cd .claude/skills/Youtube-clipper-skill/

# 检查 yt-dlp
yt-dlp --version

# 检查 FFmpeg
ffmpeg -version

# 检查 Python 依赖
python3 -c "import yt_dlp; print('✅ yt-dlp available')"

方式二:符号链接到 Claude 全局 Skills 目录

如果您希望在所有项目中使用此 Skill:

# 创建符号链接到 Claude 的全局 skills 目录
ln -s ~/youtube_clips/.claude/skills/Youtube-clipper-skill ~/.claude/skills/youtube-clipper-pro

# 或者对于 .agent 目录
ln -s ~/youtube_clips/.claude/skills/Youtube-clipper-skill ~/.agent/skills/youtube-clipper-pro

🎯 使用方法

在 Claude Code 中使用

  1. 启动 Claude Code 并进入项目目录
cd ~/youtube_clips
  1. 告诉 Claude 执行剪辑任务
请使用 YouTube Clipper Skill 剪辑这个视频:
https://youtube.com/watch?v=VIDEO_ID

我想要:
- 自动分析并切分章节
- 生成中英双语字幕
- 生成推特分享文案
  1. Claude 会自动执行以下流程:
Step 0: 环境检测
  ├─ 检查 yt-dlp
  ├─ 检查 FFmpeg + libass
  └─ 检查 Python 依赖

Step 1: 下载视频和字幕
  └─ 使用浏览器 Cookie 绕过 YouTube 验证

Step 2: AI 智能分析(AnalysisAgent)
  ├─ 分析视频内容
  ├─ 生成章节方案
  └─ 交互式反馈,直到用户满意

Step 3: 用户选择章节
  └─ 选择要处理的章节(单个/多个/全部)

Step 4: 切分视频素材
  └─ 为每个章节生成独立文件夹

Step 5: 并行处理(Subagent 协作)
  ├─ TranslationAgent: 翻译字幕
  ├─ TweetAgent: 生成推特文案 ⭐
  └─ 烧录双语字幕到视频

Step 6: 交付成果
  └─ 展示所有生成的文件

输出文件结构

youtube_clips_pro/
└── Video_Title_ID/
    ├── chapters.json                    # 章节元数据
    ├── context.json                     # 视频上下文
    ├── for_analysis_agent.txt          # 分析 Agent 输入
    ├── Video_ID.mp4                    # 原始视频
    │
    └── Chapter_Title_1/
        ├── Chapter_Title_1_source.mp4           # 原始片段
        ├── Chapter_Title_1_final_bilingual.mp4  # 带字幕的最终版本
        ├── en.srt                               # 英文字幕
        ├── zh_en.srt                            # 中英双语字幕
        ├── meta.json                            # 章节元数据
        └── tweet.md                             # 推特文案 ⭐

发布到 Twitter(可选)

生成视频后,可以使用集成的 Twitter 发布 Skill:

请使用 baoyu-post-to-x-video Skill 将这个视频发布到 Twitter:
视频路径:youtube_clips_pro/Video_Title/Chapter_1/Chapter_1_final_bilingual.mp4
文案:使用 tweet.md 中的内容

📁 项目结构

youtube_clips/                          # 项目根目录
├── .git/                               # Git 仓库
├── .gitignore                          # Git 忽略规则
├── .gitattributes                      # Git 属性配置
├── README.md                           # 本文件
│
├── .claude/                            # Claude AI 配置目录
│   ├── agents/                         # Subagent 定义(如果有)
│   └── skills/                         # Skills 目录
│       ├── Youtube-clipper-skill/      # 🎯 核心 Skill 代码
│       │   ├── SKILL.md                # Skill 定义和工作流
│       │   ├── README.md               # 详细文档
│       │   ├── .env.example            # 环境变量示例
│       │   ├── scripts/                # Python 脚本
│       │   │   ├── video_clipper_pro.py      # 主控制脚本
│       │   │   ├── download_video.py         # 下载模块
│       │   │   ├── analyze_subtitles.py      # 字幕分析
│       │   │   ├── translate_subtitles.py    # 翻译模块
│       │   │   ├── burn_subtitles.py         # 字幕烧录
│       │   │   └── ...
│       │   ├── references/             # 参考文档
│       │   └── templates/              # 模板文件
│       │
│       └── baoyu-post-to-x-video/      # Twitter 发布 Skill ⭐
│
└── youtube_clips_pro/                  # 输出目录(.gitignore)
    └── [生成的视频文件]

为什么代码在 .claude/skills/ 下?

这是一个专为 AI Agent 设计的项目结构

  1. .claude/skills/ 是 Claude Code 读取 Skills 的标准路径
  2. AI Agent 执行任务时会从这里加载 SKILL.md 和相关脚本
  3. 根目录保持干净,只包含 Git 配置和说明文档
  4. 输出文件(youtube_clips_pro/)被 .gitignore 排除,不会污染仓库

⚙️ 配置说明

编辑 .claude/skills/Youtube-clipper-skill/.env 文件:

# FFmpeg 路径(留空则自动检测)
FFMPEG_PATH=

# 输出目录(相对于项目根目录)
OUTPUT_DIR=./youtube_clips_pro

# 视频质量限制(720, 1080, 1440, 2160)
MAX_VIDEO_HEIGHT=1080

# 翻译批次大小(推荐 20-25)
TRANSLATION_BATCH_SIZE=20

# 目标翻译语言
TARGET_LANGUAGE=中文

# 目标章节时长(秒,推荐 180-300)
TARGET_CHAPTER_DURATION=180

# YouTube 下载代理(可选)
YT_DLP_PROXY=

# 浏览器选择(chrome, firefox, safari)
BROWSER_FOR_COOKIES=chrome

🔧 常见问题

1. FFmpeg 字幕烧录失败

错误信息: Option not found: subtitlesfilter not found

原因: FFmpeg 没有 libass 支持

解决方案:

# macOS
brew uninstall ffmpeg
brew install ffmpeg-full

# Ubuntu
sudo apt install ffmpeg libass-dev

# 验证
ffmpeg -filters 2>&1 | grep subtitles

2. YouTube 下载失败(机器人检测)

错误信息: Sign in to confirm you're not a bot

解决方案: 使用浏览器 Cookie

# 在下载命令中添加 --browser 参数
python3 scripts/video_clipper_pro.py download <URL> --browser chrome

确保您已经在 Chrome 浏览器中登录 YouTube。

3. 找不到 Skill

问题: Claude 提示找不到 youtube-clipper Skill

解决方案:

# 检查 Skill 目录是否存在
ls -la .claude/skills/Youtube-clipper-skill/SKILL.md

# 如果不存在,检查是否在正确的项目目录
pwd  # 应该显示 ~/youtube_clips 或您克隆的路径

# 确保在项目根目录下启动 Claude Code
cd ~/youtube_clips

4. Python 依赖缺失

错误信息: ModuleNotFoundError: No module named 'yt_dlp'

解决方案:

cd .claude/skills/Youtube-clipper-skill/
pip install yt-dlp pysrt python-dotenv

# 或者使用 pip3
pip3 install yt-dlp pysrt python-dotenv

5. 翻译质量不佳

解决方案:

  1. context.json 中添加术语表
  2. 调整 TRANSLATION_BATCH_SIZE(减小批次可能提高质量)
  3. 使用 TranslationAgent 的反馈机制要求重新翻译

6. Twitter 发布失败

解决方案:

  1. 确保已安装 baoyu-post-to-x-video Skill
  2. 检查浏览器是否已登录 Twitter/X
  3. 查看 Skill 文档了解详细配置

🤝 贡献

欢迎贡献!请:

  1. Fork 本仓库
  2. 创建您的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个 Pull Request

📄 许可证

本项目基于 MIT 许可证开源 - 查看 LICENSE 文件了解详情。


🙏 致谢


📞 联系方式

如有问题或建议,请:


Made with ❤️ based on op7418's work

Enhanced with Agentic Workflow by Mr-funny

如果这个项目对您有帮助,请给它一个 ⭐️

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages