Skip to content
Back to skills

Yt Transcript

ASecurity

Get a plain-text transcript for a YouTube or other video URL, for summarizing or searching its contents. Tries YouTube captions first, falls back to local Parakeet TDT transcription. Use whenever asked to summarize, quote, or answer questions about a video.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 6, 2026
toolsgo

Security analysis

A100/100

Scanned September 6, 2026

npx -y skills add ykdojo/yt-transcript --skill yt-transcript --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Yt Transcript?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Yt Transcript
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ykdojo-yt-transcript/badge)](https://www.skillsdirectory.com/skills/ykdojo-yt-transcript)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: yt-transcript
description: Get a plain-text transcript for a YouTube or other video URL, for summarizing or searching its contents. Tries YouTube captions first, falls back to local Parakeet TDT transcription. Use whenever asked to summarize, quote, or answer questions about a video.
---

Produces a plain-text transcript for a video URL.

Steps:
1. Find the script: `find ~/.claude -name "transcript.sh" -path "*/yt-transcript/*" 2>/dev/null | sort -V | tail -1`
2. Run it:
   ```
   <scripts-dir>/transcript.sh "<url>" -o /tmp/transcript.txt
   ```
   - Without `-o` it prints to stdout.
   - Progress goes to stderr, so it is safe to redirect stdout.
3. Read the output file and work from it.

How it decides:
- If YouTube has captions (manual or auto), it uses those and finishes in seconds. This is the common case.
- If not, it downloads the audio and transcribes locally with Parakeet TDT.

Important notes:
- **Local transcription is slow.** Budget roughly 1 minute of compute per 5 minutes of
  audio on an Intel Mac. A 77-minute video takes about 15 minutes. Run it in the
  background and do other work while waiting. Do not run it in the foreground with a
  short timeout.
- **Livestreams that just ended have no captions yet.** YouTube usually generates them
  within a few hours. If the user is not in a hurry, waiting is far cheaper than
  transcribing.
- The transcript has no speaker labels and no timestamps. For a multi-speaker video,
  attribute quotes only when context makes the speaker unambiguous.
- **Locally transcribed output contains deliberate repeats.** Chunks overlap, and
  each seam is marked with a line like `[overlap: the following ~15s of speech
  repeats the end of the previous section]`. Read the span after that marker as the
  same speech as the end of the section before it, not as the speaker saying
  something twice. Ignore the duplicate when summarizing, and never quote a passage
  twice because it appeared on both sides of a seam. Caption-based transcripts have
  no such markers.
- ASR makes proper-noun errors. Treat unfamiliar names as suspect, and prefer names
  that appear consistently across the transcript over one-off spellings.

Setup (first run only): see the repository README for installing `yt-dlp`,
`ffmpeg`, `whisper-cpp`, and downloading the Parakeet model.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.