youtube-fetch

GitHub

通过yt-dlp获取YouTube视频元数据和字幕。适用于用户提供YouTube链接或请求提取/总结视频内容时,支持批量处理与并行执行,不用于非YouTube平台。

.claude/skills/youtube-fetch/SKILL.md WingedGuardian/GENesis-AGI

Trigger Scenarios

用户分享YouTube URL 请求获取视频字幕或摘要 询问视频内容 批量处理多个YouTube链接

Install

npx skills add WingedGuardian/GENesis-AGI --skill youtube-fetch -g -y
More Options

Non-standard path

npx skills add https://github.com/WingedGuardian/GENesis-AGI/tree/main/.claude/skills/youtube-fetch -g -y

Use without installing

npx skills use WingedGuardian/GENesis-AGI@youtube-fetch

指定 Agent (Claude Code)

npx skills add WingedGuardian/GENesis-AGI --skill youtube-fetch -a claude-code -g -y

安装 repo 全部 skill

npx skills add WingedGuardian/GENesis-AGI --all -g -y

预览 repo 内 skill

npx skills add WingedGuardian/GENesis-AGI --list

SKILL.md

Frontmatter
{
    "name": "youtube-fetch",
    "description": "Fetches YouTube video metadata and transcripts using yt-dlp. Activate when the user shares a YouTube URL (youtube.com, youtu.be), asks to 'fetch this video', 'get the transcript', 'what does this video say', 'summarize this YouTube video', or references video content that needs to be retrieved. Also activate when processing multiple YouTube URLs in batch. Do NOT use for non-YouTube video platforms, local video files, or audio-only podcast URLs."
}

Overview

This skill retrieves YouTube video content (metadata and transcripts) using yt-dlp. WebFetch does not work reliably for YouTube (dynamic content, SSL issues). yt-dlp is the reliable alternative.

Prerequisite: yt-dlp must be installed (pip install yt-dlp).

Workflow

  1. Ensure yt-dlp is available (install if needed):

    which yt-dlp || pip install yt-dlp
    
  2. Fetch metadata for each video:

    yt-dlp --skip-download --print '%(title)s|||%(uploader)s|||%(description)s' 'VIDEO_URL'
    
  3. Fetch the auto-generated transcript:

    mkdir -p /tmp/yt-transcripts
    yt-dlp --write-auto-sub --skip-download --sub-lang en -o '/tmp/yt-transcripts/%(id)s' 'VIDEO_URL'
    

    The transcript lands at /tmp/yt-transcripts/VIDEO_ID.en.vtt.

  4. Clean the VTT file into plain text (strip timestamps and tags):

    sed '/^WEBVTT/d;/^Kind:/d;/^Language:/d;/^[0-9][0-9]:[0-9][0-9]/d;/^$/d;s/<[^>]*>//g' /tmp/yt-transcripts/VIDEO_ID.en.vtt | awk '!seen[$0]++'
    
  5. If the transcript is too large to read at once, pipe through head -N / tail -n +N to read in chunks.

  6. If no English auto-subs are available, try without --sub-lang:

    yt-dlp --write-auto-sub --skip-download -o '/tmp/yt-transcripts/%(id)s' 'VIDEO_URL'
    

    Then check ls /tmp/yt-transcripts/VIDEO_ID.*.vtt for available languages.

  7. If SSL errors occur, add --no-check-certificate.

Output Format

Present results per video as:

### Video: [Title]
**Channel:** [Uploader]
**URL:** [Original URL]

**Description:**
[Video description text]

**Transcript:**
[Cleaned transcript text, or summary if too long for context]

Parallel Processing

When multiple YouTube URLs are provided, run all metadata fetches in parallel (separate Bash calls in one message), then all transcript downloads in parallel. Process sequentially only if outputs depend on each other.

Examples

Single Video

Input: "What does this video talk about? https://youtu.be/abc123"

Action: Run steps 1-4, return metadata + cleaned transcript.

Batch

Input: User provides 4 YouTube URLs for research compilation.

Action: Fetch all 4 metadata calls in parallel, then all 4 transcript downloads in parallel, then clean and return.

No Captions Available

Input: A video with no auto-generated subtitles.

Action: Report "No English auto-subs available for [title]" and list any other language VTT files found. Return metadata and description only.

Version History

  • f9015bb Current 2026-07-05 18:17

Same Skill Collection

.claude/skills/code-intelligence/SKILL.md
.claude/skills/content-publish/SKILL.md
.claude/skills/genesis-development/SKILL.md
.claude/skills/genesis-voice/SKILL.md
.claude/skills/gitnexus/gitnexus-cli/SKILL.md
.claude/skills/gitnexus/gitnexus-debugging/SKILL.md
.claude/skills/gitnexus/gitnexus-exploring/SKILL.md
.claude/skills/gitnexus/gitnexus-guide/SKILL.md
.claude/skills/gitnexus/gitnexus-impact-analysis/SKILL.md
.claude/skills/gitnexus/gitnexus-refactoring/SKILL.md
.claude/skills/shelve/SKILL.md
.claude/skills/unshelve/SKILL.md
config/gstack-patches/codex-SKILL.md
src/genesis/skills/browser-automation/SKILL.md
src/genesis/skills/debugging/SKILL.md
src/genesis/skills/evaluate/SKILL.md
src/genesis/skills/forecasting/SKILL.md
src/genesis/skills/integrate-module/SKILL.md
src/genesis/skills/lead-generation/SKILL.md
src/genesis/skills/linkedin-comment-strategy/SKILL.md
src/genesis/skills/linkedin-content-calendar/SKILL.md
src/genesis/skills/linkedin-dm-outreach/SKILL.md
src/genesis/skills/linkedin-hook-writer/SKILL.md
src/genesis/skills/linkedin-post-writer/SKILL.md
src/genesis/skills/linkedin-profile-optimizer/SKILL.md
src/genesis/skills/obstacle-resolution/SKILL.md
src/genesis/skills/onboarding/SKILL.md
src/genesis/skills/osint/SKILL.md
src/genesis/skills/prospect-researcher/SKILL.md
src/genesis/skills/research/SKILL.md
src/genesis/skills/retrospective/SKILL.md
src/genesis/skills/stealth-browser/SKILL.md
src/genesis/skills/triage-calibration/SKILL.md
src/genesis/skills/user_evaluate/SKILL.md
src/genesis/skills/video-processing/SKILL.md
.claude/skills/deliverable-builder/SKILL.md
.claude/skills/voice-master/SKILL.md
src/genesis/skills/voice-master/SKILL.md

Metadata

Files
0
Version
f9015bb
Hash
b561a344
Indexed
2026-07-05 18:17

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-13 14:40
浙ICP备14020137号-1 $Map of visitor$