Install
$ agentstack add skill-titusz-skills-get-youtube-transcript ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Get YouTube Transcript
Fetch transcripts from YouTube videos via uvx --from youtube-transcript-api youtube_transcript_api.
Argument Parsing
Extract video ID(s) and options from $ARGUMENTS:
- YouTube URLs: Extract video ID from patterns like:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://www.youtube.com/embed/VIDEO_IDhttps://youtube.com/shorts/VIDEO_ID- Bare video IDs: Use directly (11-character alphanumeric strings with
-and_) - Multiple videos: Space-separated URLs or IDs are supported
Supported Options
Users may specify these inline with the URL/ID:
| Option | Description | | -------------------------------------------------- | ------------------------------------------------------------------ | | --languages or language name (e.g., "in German") | Preferred transcript language(s) | | --translate or "translate to \" | Translate transcript to target language | | --format | Output format: text (default), json, pretty, srt, webvtt | | --list or "list languages" | List available transcript languages | | --exclude-generated | Skip auto-generated transcripts | | --exclude-manually-created | Skip manually created transcripts |
Workflow
Step 1: Parse Input
Extract video ID(s) from the provided arguments. If no arguments given, ask the user for a YouTube URL or video ID.
Step 2: Determine Intent
Based on the arguments, determine if the user wants to:
- List available transcripts — if
--listor "list languages" is mentioned - Fetch transcript — default action
Step 3: Execute
List Transcripts
uvx --from youtube-transcript-api youtube_transcript_api VIDEO_ID --list-transcripts
Fetch Transcript
Build the command from parsed options:
uvx --from youtube-transcript-api youtube_transcript_api VIDEO_ID [OPTIONS]
Default flags when no format is specified: --format text
Language handling:
- If user specifies a language (e.g., "in German"), map to ISO 639-1 code and use
--languages de - If user asks to translate (e.g., "translate to French"), use
--translate fr - If no language specified, omit
--languagesto get the default transcript
Step 4: Present Results
- Short transcripts (under 200 lines): Display directly in the conversation
- Long transcripts (200+ lines): Save to a file and tell the user where it was saved
- If the user specified a file path, always save there regardless of length
- When saving, use a descriptive filename:
.txt(or appropriate extension for the format)
Error Handling
- No transcript available: Inform the user and suggest
--list-transcriptsto check available languages - Invalid video ID/URL: Ask the user to verify the URL
- Network errors: Report the error and suggest retrying
Examples
User: "get transcript from https://www.youtube.com/watch?v=dQw4w9WgXcQ" → uvx --from youtube-transcript-api youtube_transcript_api dQw4w9WgXcQ --format text
User: "youtube transcript dQw4w9WgXcQ in German" → uvx --from youtube-transcript-api youtube_transcript_api dQw4w9WgXcQ --languages de --format text
User: "get subtitles for dQw4w9WgXcQ translated to French as srt" → uvx --from youtube-transcript-api youtube_transcript_api dQw4w9WgXcQ --translate fr --format srt
User: "what languages are available for dQw4w9WgXcQ" → uvx --from youtube-transcript-api youtube_transcript_api dQw4w9WgXcQ --list-transcripts
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: titusz
- Source: titusz/skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.