brainstorming
Structured design dialogue that validates ideas before implementation begins.
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".
Full skill instructions
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.
# 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
| Scenario | Use --register-channel? | Typical Count |
|---|---|---|
| New channel for ongoing tracking | Yes | 50-200 initial, then 20-50 for syncs |
| Conference talks (one-time) | No | 50-500 |
| Specific playlist/topic | No | As needed |
| Testing/exploration | No | 5-10 |
[!TIP] Use
--register-channelonly for channels you want to sync regularly. It adds the channel todata/channels.yamlfor thesync-all-channelsskill.
mkdir -p data/<channel-name>
Naming conventions:
aws-reinvent-2025, veritasium, lexfridman@veritasium becomes veritasiumpycon-2025, kubecon-eu-2024transcript-extract <channel_url> \
--count <N> \
--append-csv data/<channel-name>/videos.csv \
[--register-channel]
Parameters:
| Option | Description | Default | When to Use |
|---|---|---|---|
--count, -n | Number of latest videos | 10 | Always specify explicitly |
--append-csv | CSV file path | Required | Always use for tracking |
--register-channel | Add to channels.yaml | False | Recurring channels only |
--output, -o | Save video IDs to text file | - | Rarely needed |
--verbose, -v | Enable verbose output | False | Debugging |
[!CAUTION] The
--countin the command sets the INITIAL extraction count. Thecountinchannels.yaml(set by--register-channel) controls FUTURE sync counts. These are independent values.
# 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 URLtitle - Video titleduration_minutes - Video lengthview_count - Number of viewsdescription - Video descriptiontranscript_downloaded - Tracking field (initially empty)summary_done - Tracking field (initially empty)# 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
# 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
# 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
| Problem | Cause | Solution |
|---|---|---|
| "No videos found" | Wrong URL format | Use https://www.youtube.com/@ChannelName/videos (include /videos) |
| CSV not created | Directory doesn't exist | Run mkdir -p data/<name> first |
| Duplicate videos appearing | Running with different URL variants | Always use canonical @handle/videos format |
Channel not in channels.yaml | Forgot --register-channel | Re-run with flag, or manually add to YAML |
Wrong video count in channels.yaml | Flag uses command's --count value | Edit channels.yaml manually to adjust future sync count |
| Permission denied | File locked or read-only | Close any apps using the CSV |
Forgetting /videos in URL
https://www.youtube.com/@veritasiumhttps://www.youtube.com/@veritasium/videosUsing --register-channel for one-time extractions
channels.yaml with channels you won't syncExpecting transcripts to download
download-transcripts skill to actually fetch transcriptsNot creating directory first
--append-csv path requires parent directory to existmkdir -p data/<name> before extractionConfusing command --count with channels.yaml count
--count: How many videos to extract NOWchannels.yaml count: How many videos for FUTURE syncsBefore considering extraction complete:
data/ with proper namingchannels.yamlchannels.yaml count is set appropriately for future syncsAfter extracting videos:
download-transcripts skillsync-all-channels for registered channelssummarize-transcripts after downloadingStructured design dialogue that validates ideas before implementation begins.
Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.
Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.
Introduction to the obra skills system with mandatory skill invocation rules and best practices.
Execute a written implementation plan with critical review and task checkpoints.
Delegate independent tasks to specialized agents working concurrently with isolated context.
Isolated git worktrees with smart directory selection and safety verification.
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.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
The world's fastest calendar for remote work
Capture, organize, and utilize your knowledge effortlessly.
Instant Summaries of Audio & Video Interviews with AnySummary
Transform PDFs into engaging mind maps.
Chat with any PDF instantly
Create an optimal daily plan using your voice
A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.
AskYourPDF Pricing Plans: Tailored to Your Needs