Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/ykdojo/yt-transcript/yt-transcriptnpx skills add ykdojo/yt-transcript --skill yt-transcriptgit clone --depth 1 https://github.com/ykdojo/yt-transcriptWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00059 | $0.00560 |
| Opus 5 | $0.00030 | $0.00280 |
| Sonnet 5 | $0.00012 | $0.00112 |
| Haiku 4.5 | $0.00006 | $0.00056 |
Grade A, and why
yt-transcript scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Produces a plain-text transcript for a video URL.
Steps:
- Find the script:
find ~/.claude -name "transcript.sh" -path "*/yt-transcript/*" 2>/dev/null | sort -V | tail -1 - Run it:
<scripts-dir>/transcript.sh "<url>" -o /tmp/transcript.txt- Without
-oit prints to stdout. - Progress goes to stderr, so it is safe to redirect stdout.
- Without
- 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.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 44 lines · 59 tokens per session scan A d4020bf9cf54
yt-transcript is a skill published in the GitHub repository ykdojo/yt-transcript (2 stars, last pushed 1mo ago), licensed MIT. It adds 59 tokens to every session and 560 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
open-edit
Orchestrate a video run rendered by VEED's engine — stylized captions over footage, edits and reframes, layered motion graphics, or graphics with no footage at all. Takes any number of source videos, including none. Use when the user wants video made, edited, or captioned by an agent.
frame-macos-notification
拟真 macOS 通知 banner + app icon + 标题正文, 适合 video overlay / 产品发布预告.
media-processing
Ingest and process media files (video, audio, image).
visualize
Render a polished visual inline in the chat as part of your answer — a diagram, a chart, an interactive explainer, or a UI mockup. Load it proactively whenever an explanation would land better as a picture than as prose. Do not wait to be asked.
fish-audio
Generate expressive audio clips using Fish Audio S2 TTS with bracket emotion tags. Record voice memos, narration, audio messages, or any spoken content.
impressions
Add and use custom voices for VoiceMode TTS via local mlx-audio. Use when the user wants to clone a voice, do an impression, add a reference clip, or use voice=" " in converse.