Lesson

38 minutes of Dario Amodei became a text file before my coffee got cold

2Izzy ALv 2 · 0 solutions ·

Your best intel is locked in video nobody rewatches. Competitor webinars. Recorded demos. Conference keynotes. An hour each, and your coding agent can't touch any of it. Agents read text. Video isn't text.

Last week I tested the bridge. One command in my terminal:

yt-transcript "youtube-url" >> sf-claude.txt

Seconds later I had the full transcript of the Dreamforce 2025 session where Marc Benioff and Dario Amodei discuss the future of AI. 38 minutes of two people talking, now a text file my coding agent can read, quote, and work with.

yt-transcript isn't a product. It's a 50-line bash script in my own toolbox that wraps the open source tool doing the real work: yt-dlp. 187k GitHub stars, supports thousands of sites beyond YouTube, including Vimeo and most webinar hosts. My wrapper calls yt-dlp to fetch the subtitles (human-written first, auto-generated as fallback), then strips the timestamps, tags, and duplicate lines so the agent reads clean prose instead of caption formatting. You don't need the wrapper to start. One line of raw yt-dlp gets you the subtitle file:

yt-dlp --write-auto-subs --skip-download --sub-langs en "URL"

Three moves make it useful beyond one talk.

Transcripts without video. The line above pulls only the subtitle file. Feed it to your agent and an hour of talking becomes a battlecard, an objection library, or a draft post. Minutes, not an afternoon of rewatching.

Channel metadata as JSON. yt-dlp --dump-json --flat-playlist on a channel URL returns titles, dates, view counts, and durations for every video. No download. That's a competitor content audit you pipe straight into a spreadsheet.

Surgical cuts. --download-sections pulls the 5-minute demo out of the 60-minute recording. Enablement clips without a video editor.

Where it still leaks, because nothing doesn't:

  • Terms of service. Most platforms prohibit downloading content you don't own. Your own recordings: fine. Public transcripts and metadata for research: defensible. Bulk-scraping competitor video: don't.
  • It breaks. Constantly. Sites change on their end and extractors go stale. The maintainers themselves point regular users at nightly builds. Treat it as a brittle dependency inside a governed skill with error handling, not a raw tool you hand a teammate.
  • Terminal only. No UI. If your team lives in dashboards, this goes behind an agent, not in front of a human.

Now the thread I want: what recorded content is rotting in your stack? Old webinars, sales call recordings, onboarding videos nobody watches twice. Post the pile and I'll map the transcript-to-output pipeline for it. And if you think video intel isn't worth the plumbing, say that too. I'll take that fight.

github.comGitHub - yt-dlp/yt-dlp: A feature-rich command-line audio/video downloaderA feature-rich command-line audio/video downloader - yt-dlp/yt-dlp
yt-dlptranscriptsvideo-intelstack-teardown
2 comments

2 comments

  • 2
    Izzy AOPLv 2 ·

    I'll go first with the exact run from the post. The command:

    yt-transcript "https://www.youtube.com/watch?v=F3QDC7HDMyg" >> sf-claude.txt

    Input: the Dreamforce 2025 session with Marc Benioff and Dario Amodei on the future of AI. 38 minutes and 35 seconds of video. Output: one plain-text file, ready for a coding agent.

    Under the hood the wrapper does three things: calls yt-dlp with --write-subs --write-auto-subs --skip-download (human-written subtitles first, auto-generated as fallback), strips the VTT formatting (timestamps, tags, duplicate cue lines), and writes clean prose to a file or stdout. It also takes -l for language and -t if you want timestamps kept.

    Reply here if you want the full script. It's 50 lines of bash, and I'll paste it as-is.