Skip to content
extract-videos logo

Extract Videos from YouTube Channel

extract-videos

Extract video metadata from a YouTube channel and save to CSV for tracking. Use when adding a new channel, extracting conference videos, populating video lists, or when the user mentions "extract videos", "get videos from channel", "add channel", or "video metadata".

SKILL.md

Full skill instructions

Extract Videos from YouTube Channel

Why? Manually tracking YouTube videos is tedious and error-prone. This skill automates extracting video metadata (titles, durations, URLs) into a CSV for systematic transcript downloading and analysis.

Quick Start

# Recurring channel (adds to channels.yaml for future syncs)
mkdir -p data/<channel-name>
transcript-extract https://www.youtube.com/​@ChannelName/​videos \
  --count 50 \
  --append-csv data/<channel-name>/​videos.csv \
  --register-channel

# One-time extraction (conferences, playlists)
mkdir -p data/<name>
transcript-extract <youtube_url> --count 100 --append-csv data/<name>/​videos.csv

Workflow

1. Determine Extraction Type

ScenarioUse --register-channel?Typical Count
New channel for ongoing trackingYes50-200 initial, then 20-50 for syncs
Conference talks (one-time)No50-500
Specific playlist/​topicNoAs needed
Testing/​explorationNo5-10

[!TIP] Use --register-channel only for channels you want to sync regularly. It adds the channel to data/​channels.yaml for the sync-all-channels skill.

2. Create Directory Structure

mkdir -p data/<channel-name>

Naming conventions:

  • Use lowercase with hyphens: aws-reinvent-2025, veritasium, lexfridman
  • Match the YouTube handle when possible: @veritasium becomes veritasium
  • For conferences, include year: pycon-2025, kubecon-eu-2024

3. Run Extraction Command

transcript-extract <channel_url> \
  --count <N> \
  --append-csv data/<channel-name>/​videos.csv \
  [--register-channel]

Parameters:

OptionDescriptionDefaultWhen to Use
--count, -nNumber of latest videos10Always specify explicitly
--append-csvCSV file pathRequiredAlways use for tracking
--register-channelAdd to channels.yamlFalseRecurring channels only
--output, -oSave video IDs to text file-Rarely needed
--verbose, -vEnable verbose outputFalseDebugging

[!CAUTION] The --count in the command sets the INITIAL extraction count. The count in channels.yaml (set by --register-channel) controls FUTURE sync counts. These are independent values.

4. Verify Extraction

# Check CSV was created with expected columns
head -3 data/<channel-name>/​videos.csv

# Count extracted videos
wc -l data/<channel-name>/​videos.csv

Expected CSV columns:

  • url - Full YouTube video URL
  • title - Video title
  • duration_minutes - Video length
  • view_count - Number of views
  • description - Video description
  • transcript_downloaded - Tracking field (initially empty)
  • summary_done - Tracking field (initially empty)

Examples

Adding a New Channel for Regular Syncing

# 1. Create directory
mkdir -p data/​veritasium

# 2. Extract initial batch with registration
transcript-extract https://www.youtube.com/​@veritasium/​videos \
  --count 100 \
  --append-csv data/​veritasium/​videos.csv \
  --register-channel

# Result: 100 videos extracted, channel added to channels.yaml with count: 100

One-Time Conference Extraction

# Extract AWS re:Invent talks (won't be synced later)
mkdir -p data/​aws-reinvent-2025
transcript-extract https://www.youtube.com/​@AWSEventsChannel/​videos \
  --count 200 \
  --append-csv data/​aws-reinvent-2025/​videos.csv

# No --register-channel = not added to channels.yaml

Re-running on Existing CSV (Incremental Update)

# Running again only adds NEW videos (duplicates auto-skipped)
transcript-extract https://www.youtube.com/​@veritasium/​videos \
  --count 20 \
  --append-csv data/​veritasium/​videos.csv

# Safe to run multiple times - existing videos preserved

Troubleshooting

ProblemCauseSolution
"No videos found"Wrong URL formatUse https://www.youtube.com/​@ChannelName/​videos (include /​videos)
CSV not createdDirectory doesn't existRun mkdir -p data/<name> first
Duplicate videos appearingRunning with different URL variantsAlways use canonical @handle/​videos format
Channel not in channels.yamlForgot --register-channelRe-run with flag, or manually add to YAML
Wrong video count in channels.yamlFlag uses command's --count valueEdit channels.yaml manually to adjust future sync count
Permission deniedFile locked or read-onlyClose any apps using the CSV

Common Mistakes

  1. Forgetting /​videos in URL

    • Wrong: https://www.youtube.com/​@veritasium
    • Right: https://www.youtube.com/​@veritasium/​videos
  2. Using --register-channel for one-time extractions

    • This pollutes channels.yaml with channels you won't sync
    • Only use for channels you want in the regular sync rotation
  3. Expecting transcripts to download

    • This skill ONLY extracts video metadata to CSV
    • Use download-transcripts skill to actually fetch transcripts
  4. Not creating directory first

    • The --append-csv path requires parent directory to exist
    • Always run mkdir -p data/<name> before extraction
  5. Confusing command --count with channels.yaml count

    • Command --count: How many videos to extract NOW
    • channels.yaml count: How many videos for FUTURE syncs
    • Initial extraction might be 200, but sync count might be 30

Quality Checklist

Before considering extraction complete:

  • Directory created in data/ with proper naming
  • CSV exists with expected video count
  • CSV has all required columns (url, title, duration_minutes, etc.)
  • If recurring channel: entry exists in channels.yaml
  • If recurring channel: channels.yaml count is set appropriately for future syncs

Next Steps

After extracting videos:

  1. Download transcripts: Use the download-transcripts skill
  2. Sync channels later: Use sync-all-channels for registered channels
  3. Add summaries: Use summarize-transcripts after downloading

More Productivity & Planning skills

brainstorming logo
Productivity & Planning

brainstorming

Structured design dialogue that validates ideas before implementation begins.

295.4K 385.7K
View
ui-ux-pro-max logo
Productivity & Planning

ui-ux-pro-max

Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.

133.1K 383.9K
View
writing-plans logo
Productivity & Planning

writing-plans

Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.

295.4K 268K
View
using-superpowers logo
Productivity & Planning

using-superpowers

Introduction to the obra skills system with mandatory skill invocation rules and best practices.

295.4K 259.8K
View
executing-plans logo
Productivity & Planning

executing-plans

Execute a written implementation plan with critical review and task checkpoints.

295.4K 229.1K
View
dispatching-parallel-agents logo
Productivity & Planning

dispatching-parallel-agents

Delegate independent tasks to specialized agents working concurrently with isolated context.

295.4K 206.3K
View
using-git-worktrees logo
Productivity & Planning

using-git-worktrees

Isolated git worktrees with smart directory selection and safety verification.

295.4K 205.2K
View
webapp-testing logo
Productivity & Planning

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

179.7K 170.6K
View
content-strategy logo
Productivity & Planning

content-strategy

Plan searchable and shareable content that drives traffic, builds authority, and generates leads.

53.3K 150.9K
View
repo-intake-and-plan logo
Productivity & Planning

repo-intake-and-plan

README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.

497 139.6K
View
marketing-ideas logo
Productivity & Planning

marketing-ideas

Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.

53.3K 137.2K
View
site-architecture logo
Productivity & Planning

site-architecture

Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.

53.3K 112.8K
View

Productivity AI tools

Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View
SaveDay logo
Productivity

SaveDay

Capture, organize, and utilize your knowledge effortlessly.

Free
View
Any Summary logo
Productivity

Any Summary

Instant Summaries of Audio & Video Interviews with AnySummary

Freemium
View
M
Productivity

Map This

Transform PDFs into engaging mind maps.

Freemium
View
ChatPDF logo
Productivity

ChatPDF

Chat with any PDF instantly

Free
View
I
Productivity

intellisay

Create an optimal daily plan using your voice

Paid
View
A
Productivity

Aurora AI

A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.

Paid
View
AskYourPDF logo
Productivity

AskYourPDF

AskYourPDF Pricing Plans: Tailored to Your Needs

Free
View