home / skills / jykim / claude-obsidian-skills / youtube-transcript-summarizer

youtube-transcript-summarizer skill

/youtube-transcript-summarizer

This skill extracts YouTube transcripts and generates AI-powered summaries in any language, delivering structured markdown with summaries, key points, and

npx playbooks add skill jykim/claude-obsidian-skills --skill youtube-transcript-summarizer

Review the files below or copy the command above to add this skill to your agents.

Files (3)
SKILL.md
2.7 KB
---
name: youtube-transcript-summarizer
description: Extract YouTube video transcripts and generate AI-powered summaries in any language. Converts videos to structured markdown documents with summaries, key points, and timelines.
allowed-tools:
  - Read
  - Write
  - Bash
  - Glob
license: MIT
---

# YouTube Transcript Summarizer

Extract transcripts from YouTube videos and generate AI-powered summaries. Supports any source language and can output summaries in your preferred language.

## Requirements

```bash
pip install -r requirements.txt
# or: pip install youtube-transcript-api anthropic
```

- **ANTHROPIC_API_KEY** env var required for AI summarization
- **yt-dlp** (optional) for automatic video title fetching
- Python 3.7+

Cost depends on transcript length and current Claude API pricing.

## Usage

```bash
# Single video (default: English -> Korean)
python youtube_transcript_summarizer.py "https://www.youtube.com/watch?v=VIDEO_ID"

# Transcript only (no AI summary)
python youtube_transcript_summarizer.py "VIDEO_URL" --no-summary

# Japanese video with English summary
python youtube_transcript_summarizer.py "VIDEO_URL" --source-lang ja --target-lang en

# Auto-detect source language
python youtube_transcript_summarizer.py "VIDEO_URL" --source-lang auto --target-lang fr

# Batch processing
python youtube_transcript_summarizer.py --batch "urls.txt" --output-dir "summaries"

# Custom model and transcript limit
python youtube_transcript_summarizer.py "VIDEO_URL" --model claude-sonnet-4-5-20250929 --max-transcript-chars 30000
```

## CLI Options

| Option | Description | Default |
|--------|-------------|---------|
| `--title` | Custom video title | Auto-fetched via yt-dlp |
| `--source-lang` | Source transcript language | `en` |
| `--target-lang` | Output summary language | `ko` |
| `--output-dir` | Output directory | `outputs/summaries` |
| `--batch FILE` | Process multiple URLs from file | - |
| `--timeline-interval` | Timeline interval (minutes) | `5` |
| `--no-summary` | Skip AI summary | `false` |
| `--api-key` | Claude API key | `ANTHROPIC_API_KEY` env |
| `--model` | Claude model name | `claude-sonnet-4-5-20250929` |
| `--max-transcript-chars` | Max chars sent to Claude | `15000` |

## Supported Languages

`en`, `ko`, `ja`, `zh`, `es`, `fr`, `de`, `pt`, `ru`, `ar`, `hi`, `auto`

## Output Format

Files are named `YYYY-MM-DD VideoTitle.md` with YAML frontmatter:

```yaml
---
title: "Video Title"
source: "https://www.youtube.com/watch?v=ID"
created: YYYY-MM-DD HH:MM:SS
tags:
  - youtube-transcript
video_id: "ID"
source_lang: "en"
target_lang: "ko"
---
```

Sections: Summary, Key Points, Main Content, Timeline, Full Transcript.

## Claude Code Integration

```
Summarize this YouTube video: https://www.youtube.com/watch?v=VIDEO_ID
```

Overview

This skill extracts YouTube video transcripts and produces AI-powered summaries in any target language. It converts videos into structured Markdown documents that include a summary, key points, timelines, and the full transcript. Outputs are suitable for note-taking, research, or publishing in a knowledge vault.

How this skill works

Given a YouTube URL or a batch of URLs, the skill fetches the transcript and optional video title. It trims or segments the transcript to respect model input limits, sends the text to an AI summarization model, and returns a concise summary, key points, and timeline entries. The final output is written as a Markdown file with YAML frontmatter and clearly separated sections.

When to use it

  • You need a quick high-level summary of a long video in your preferred language.
  • You want structured notes (summary, key points, timeline) for a lecture or webinar.
  • Batch-processing many videos into markdown for a personal knowledge base.
  • Creating searchable documentation or study material from video content.
  • Converting non-native language videos into summaries in your native language.

Best practices

  • Provide a custom title when the automatic fetch is unreliable or contains extra characters.
  • Set source_lang to 'auto' if the transcript language is uncertain to improve detection.
  • Adjust max_transcript_chars to match your model quota and avoid truncation.
  • Use timeline_interval to create helpful scene markers for long lectures or talks.
  • Keep your API key secure in an environment variable rather than passing it on the command line.

Example use cases

  • Summarize a 90-minute conference talk into a one-paragraph overview, five key points, and a timeline every 5 minutes.
  • Convert a playlist of tutorial videos into individual markdown notes for an Obsidian vault.
  • Generate English summaries for Japanese product demos to share with an international team.
  • Produce full transcripts alongside concise summaries for accessibility or research citations.

FAQ

Which languages can it summarize to and from?

It supports many common languages for source and target, including English, Korean, Japanese, Chinese, Spanish, French, German, Portuguese, Russian, Arabic, Hindi, and an auto-detect option.

What do I need to run this skill?

A Python 3.7+ environment, the transcript-fetching dependency, and an API key for the chosen AI model. yt-dlp is optional for fetching titles automatically.