Agent skill

youtube-transcript

Stars 5
Forks 1

Install this agent skill to your Project

npx add-skill https://github.com/ozten/skills/tree/main/youtube-transcript

SKILL.md

youtube-transcript

Extract transcripts from YouTube videos. Zero dependencies - just Node.js.

When to Use

  • "Get the transcript from this YouTube video"
  • "Extract transcript from this video"
  • "What does this YouTube video say?"

Usage

bash
# Extract plain text transcript
node get-transcript.js "https://www.youtube.com/watch?v=VIDEO_ID"

# With timestamps
node get-transcript.js "https://youtu.be/VIDEO_ID" --timestamps

# JSON output (includes offset/duration for each segment)
node get-transcript.js "https://youtube.com/watch?v=VIDEO_ID" --json

# Save to file
node get-transcript.js "https://youtu.be/VIDEO_ID" --save transcript.txt

# Specific language
node get-transcript.js "https://youtu.be/VIDEO_ID" --lang es

Supported URL Formats

  • https://www.youtube.com/watch?v=VIDEO_ID
  • https://youtu.be/VIDEO_ID
  • https://www.youtube.com/watch?v=VIDEO_ID&t=123
  • https://youtube.com/shorts/VIDEO_ID
  • Just the video ID: dQw4w9WgXcQ

Requirements

  • Node.js 18+

No npm install needed. No dependencies.

How It Works

  1. Tries YouTube's Innertube API first (Android client - faster)
  2. Falls back to web page scraping if needed
  3. Extracts caption track URL from response
  4. Fetches XML captions
  5. Parses segments with timestamps
  6. Returns clean text

API Keys

None required. Uses YouTube's public APIs.

Output Formats

Flag Output
(default) Plain text, all segments joined
--timestamps [0:00] First line\n[0:05] Second line...
--json [{text, offset, duration, lang}, ...]

Limitations

  • Only works for videos with captions (manual or auto-generated)
  • Private or age-restricted videos will fail
  • YouTube may require CAPTCHA if too many requests from same IP

Expand your agent's capabilities with these related and highly-rated skills.

ozten/skills

five-whys

Root cause analysis technique for self-improvement. Use after any failure, mistake, or suboptimal outcome to find systemic causes and actionable changes. Triggers: analyzing why something went wrong, debugging repeated failures, post-mortem analysis, retrospectives, understanding root causes, reflecting on what could be improved.

5 1
Explore
ozten/skills

nano-banana-image-gen

Generate images using the `imagen` CLI (Gemini and OpenAI models). Use when the user says "nano banana", "generate an image", "create an image", "make me a picture", "image gen", "draw", "illustrate", or wants to create images from text prompts.

5 1
Explore
ozten/skills

webdev-combobox-autocomplete

Foundational patterns for building accessible autocomplete/combobox components with state management, ARIA patterns, keyboard navigation, async suggestions, and framework-agnostic implementation. Use when building autocomplete inputs, command palettes, search inputs, select replacements, or any dropdown with keyboard navigation and suggestions.

5 1
Explore
ozten/skills

ui-design-iteration

Iterates on data-intensive UI designs to improve scannability, hierarchy, accessibility, and systematization. Use when improving an existing UI, reviewing a design for UX issues, or transforming a functional-but-flat interface into a polished product.

5 1
Explore
ozten/skills

tpm-spec-verify

Enrich a Phase Sepc/PRD with Quality Requirements (Q-nnn) and Acceptance Criteria (AC-nnnn). Use when user wants to add QA perspective, define test criteria, identify non-functional requirements, add verification steps, or prepare a Phase PRD for test planning.

5 1
Explore
ozten/skills

find-bugs

Adversarial three-agent bug review pipeline. Runs search → adversary → judge to find high-confidence bugs with reduced false positives. Use: /find-bugs src/

5 1
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results