youtube-transcript — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited youtube-transcript (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Fetch the full transcript of any YouTube video and turn it into whatever the user needs — summaries, blog posts, social content, quotes, show notes, or raw text.
youtube_transcript and youtube_reader.If youtube_transcript is not in the tool list, stop and tell the user to enable the YouTube toolkit in Hyper.
| Tool | When to use | Returns |
|---|---|---|
youtube_transcript | You need the raw transcript text or timestamped segments. Fast, reliable, always get this first. | Full text string + segments with start/duration timestamps |
youtube_reader | You need AI-powered extraction from the video — summaries, Q&A, topic segmentation, translation, visual descriptions. | Free-form answer to your instruction |
Default: start with `youtube_transcript`. Use youtube_reader when you need something the raw text can't give you (e.g. visual descriptions, translation, or a structured extraction from a very long video).
"NZLAdOL9fP8" and "https://www.youtube.com/watch?v=NZLAdOL9fP8" both work.youtube_transcript handles these fine. Only use youtube_reader on long videos if you specifically need AI-powered extraction — it can hit token limits on very long content.youtube_transcript fails, try youtube_reader as a fallback — it uses a different extraction method.youtube_transcript(
video_id_or_url="https://www.youtube.com/watch?v=NZLAdOL9fP8",
language="en" # optional — omit to auto-detect
)Response structure:
{
"success": true,
"video_id": "NZLAdOL9fP8",
"language": "English (auto-generated)",
"text": "Full transcript as one string...",
"segments": [
{ "text": "This week we launched Hyper MCP.", "start": 0.0, "duration": 3.2 },
{ "text": "It brings Hyper's built-in tools...", "start": 3.2, "duration": 4.1 }
],
"total_duration": 342.0
}Use text for most tasks. Use segments when you need timestamps (e.g. chapters, clip references, karaoke captions).
youtube_reader(
url="https://www.youtube.com/watch?v=NZLAdOL9fP8",
instruction="Summarize the key points. Then list the main features demonstrated, with timestamps."
)Good instruction examples:
"Extract every claim made about pricing or cost.""List the action items mentioned, in order.""Translate this to Spanish.""What tools or products does the speaker mention by name?""Identify the main sections of this video and give me a timestamp for each."Once you have the text, ask the user what they need — or infer it from context:
| What the user wants | What to produce |
|---|---|
| Blog post | Restructure the transcript into intro → sections → CTA. Clean up filler words. Add subheadings. |
| LinkedIn / Twitter post | Extract the 1–2 sharpest insights. Rewrite in first person if it's the user's own video. |
| Summary | 3–5 bullet points of key takeaways. |
| Show notes / description | Title, 2-sentence summary, timestamped chapters, links mentioned. |
| Quote extraction | Pull verbatim quotes with start timestamps from the segments array. |
| Repurpose for email | Rewrite as a narrative email — opening hook, key insight, CTA. |
| Research / competitive analysis | Summarize what the speaker claims, what products they recommend, and what pain points they describe. |
Input: "Get the transcript of https://www.youtube.com/watch?v=NZLAdOL9fP8 and write a LinkedIn post from it"
Flow:
youtube_transcript(video_id_or_url="https://www.youtube.com/watch?v=NZLAdOL9fP8")textInput: "Summarize this video for me: [URL]"
Flow:
youtube_transcript(video_id_or_url="[URL]")Input: "Pull the timestamps for each section of this video"
Flow:
youtube_transcript(video_id_or_url="[URL]")segments array to identify topic shifts00:00 — Intro, 01:23 — Feature demo, etc.| When to hand off | Skill |
|---|---|
| Mining comments from YouTube videos for customer research | customer-research |
| Finding top YouTube videos by topic | Use youtube_top_videos directly |
| Generating video content | video-generation |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.