Skip to content
Back to skills

Youtube Transcribe Skill

ASecurity

Extract subtitles or a transcript from a YouTube URL and save normalized timestamped text locally. Use when the user wants the spoken content of a YouTube video as text.

  • 244 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added September 6, 2026
ai-agentspythonbash

Works with

  • cli
  • mcp

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add feiskyer/codex-settings --skill youtube-transcribe-skill --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Youtube Transcribe Skill?

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

Security grade badge for Youtube Transcribe Skill
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/feiskyer-youtube-transcribe-skill-codex-settings/badge)](https://www.skillsdirectory.com/skills/feiskyer-youtube-transcribe-skill-codex-settings)

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: youtube-transcribe-skill
description: Extract subtitles or a transcript from a YouTube URL and save normalized timestamped text locally. Use when the user wants the spoken content of a YouTube video as text.
---

# YouTube Transcript Extraction

Use the bundled `scripts/transcribe_youtube.py` wrapper for the primary workflow. It downloads subtitles with `yt-dlp`, selects the preferred language, converts WebVTT cues into timestamped plain text, and reports the output path and line count.

## Requirements

1. Install `yt-dlp` and confirm `yt-dlp --version` succeeds.
2. Resolve the absolute directory containing this `SKILL.md`; refer to it as `<skill-dir>`.
3. Keep the output in the user's current working directory unless they request another location.

The Python wrapper itself uses only the standard library. It can display `--help` without `yt-dlp` being installed.

## Primary workflow

Run without browser cookies first:

```bash
python3 "<skill-dir>/scripts/transcribe_youtube.py" \
  "<youtube-url>" \
  --output-dir "$PWD"
```

The default language preference is Simplified Chinese, Traditional Chinese, other Chinese variants, then English. Override it when the user requests another language:

```bash
python3 "<skill-dir>/scripts/transcribe_youtube.py" \
  "<youtube-url>" \
  --languages "ja.*,en.*" \
  --output-dir "$PWD"
```

The wrapper supports normal watch URLs plus `youtu.be`, Shorts, live, and embed URLs. A successful run writes one `.txt` file whose non-empty lines use this shape:

```text
00:03 Subtitle text
00:08 Next subtitle text
```

## Cookie retry

Do not read browser cookies by default. If the initial command fails specifically because the video requires sign-in, age verification, membership, or another authenticated session:

1. Explain that the retry will let `yt-dlp` read YouTube cookies from a local browser profile.
2. Ask the user which browser profile they approve using.
3. Retry only after approval:

```bash
python3 "<skill-dir>/scripts/transcribe_youtube.py" \
  "<youtube-url>" \
  --cookies-from-browser chrome \
  --output-dir "$PWD"
```

Never print, copy, or persist browser cookies in the transcript or logs.

## Browser fallback

Use browser automation only when `yt-dlp` is unavailable or cannot obtain subtitles and an appropriate browser-control capability is available.

1. Inspect the tools available in the current session; do not assume fixed MCP server or tool names.
2. Open the video, reveal the transcript panel, and extract visible timestamp/text pairs.
3. Save the result as `<sanitized-video-title>.txt` in the requested directory.
4. Close pages or sessions opened solely for this task.

If neither CLI extraction nor browser automation is available, report the missing capability instead of claiming success.

## Completion report

Return:

1. Absolute transcript path
2. Selected subtitle language
3. Number of transcript lines
4. Whether browser cookies or browser automation were used

Files in this skill

  • SKILL.md3 KB
  • agents/openai.yaml262 B
  • scripts/transcribe_youtube.py9.2 KB
  • tests/test_transcribe_youtube.py4.6 KB

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…