/youtube-transcribe-skill
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.
$ npx -y skills add feiskyer/codex-settings --skill youtube-transcribe-skill --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/youtube-transcribe-skill
Context preview
The summary Claude sees to decide when to auto-load this skill.
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.
SKILL.md
youtube-transcribe-skill.SKILL.mdname: 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:
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:
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:
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:
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
Read more
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:
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:
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:
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:
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
给 Codex CLI 加上深度调研、图片生成、浏览器调试等能力,配好多模型切换,开箱即用。 仓库采用面向个人开发效率的默认配置;你可以整套使用,也可以按需选取 Profiles 或 Skills。使用前请确认模型提供商、权限和外部依赖,并避免提交真实密钥。
Other skills on codex-settings.
claude-skill
Delegate a task to the Claude Code CLI, typically a headless `claude -p` run. Use when the user wants the work executed through…
code-simplifier
Simplify existing code for clarity and maintainability without changing behavior. Use when asked to clean up or simplify code,…
deep-research
用 Codex CLI 子任务完成多来源深度调研并综合成带出处的报告。用于确实需要分头取证的研究,不用于单次查证或已给定材料的总结。
github-fix-issue
Investigate or fix a GitHub issue by number or URL. Keep investigation-only requests read-only.
github-review-pr
Review a GitHub pull request by number or URL for evidence-backed defects. Not for reviewing local uncommitted changes.

