youtube-archiver

Archive YouTube playlists into markdown notes with metadata, transcripts, AI summaries, and tags. Use when a user asks to import/sync YouTube playlists, archive Watch Later or Liked videos, enrich YouTube notes, batch process video notes, or automate recurring YouTube-to-markdown sync jobs with cron.

3,891 stars

Best use case

youtube-archiver is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Archive YouTube playlists into markdown notes with metadata, transcripts, AI summaries, and tags. Use when a user asks to import/sync YouTube playlists, archive Watch Later or Liked videos, enrich YouTube notes, batch process video notes, or automate recurring YouTube-to-markdown sync jobs with cron.

Teams using youtube-archiver should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/youtube-archiver/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/benmillerat/youtube-archiver/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/youtube-archiver/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How youtube-archiver Compares

Feature / Agentyoutube-archiverStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Archive YouTube playlists into markdown notes with metadata, transcripts, AI summaries, and tags. Use when a user asks to import/sync YouTube playlists, archive Watch Later or Liked videos, enrich YouTube notes, batch process video notes, or automate recurring YouTube-to-markdown sync jobs with cron.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# YouTube Archiver

Use this skill to import YouTube playlists into markdown files and optionally enrich notes with transcript, summary, and tagging.

## Requirements

- Python 3.7+
- `yt-dlp` (`pip install yt-dlp` or `brew install yt-dlp`)
- A browser signed into YouTube (for private playlists like Liked/Watch Later)
- **macOS**: terminal needs Full Disk Access to read browser cookies
- **Windows**: browser cookie extraction can be flaky; `cookies_file` export is the safer path
- **Linux**: works on desktop installs; headless servers need `cookies_file`

## First-run setup flow (interactive)

If no config exists at `<output>/.config.json`, ask these questions before running scripts.

### Required questions

1. Where should archived notes be stored?
   - Default: `./YouTube-Archive`
2. Which playlists should be archived?
   - Accept playlist IDs or URLs
   - Default: `LL` (Liked Videos), `WL` (Watch Later)
3. Which browser is signed into YouTube for cookie auth?
   - Default: `chrome`

### Optional enrichment questions

Ask only if the user wants summaries/tags.

1. Generate AI summaries? (yes/no)
2. Summary provider? (`openai`, `gemini`, `anthropic`, `openrouter`, `ollama`, `none`)
3. Summary model name?
4. API key env var name?
5. Enable auto-tagging? (yes/no)
6. Tagging provider/model/env var?
7. Keep default tags or define custom vocabulary?

## First-run execution sequence

1. Run init:
   - `python3 <skill>/scripts/yt-import.py --output <output-dir> --init`
2. Edit `<output-dir>/.config.json` from the user’s answers.
3. Verify auth with dry run:
   - `python3 <skill>/scripts/yt-import.py --output <output-dir> --dry-run`
4. Run real import.
5. Run enrichment (optional):
   - `python3 <skill>/scripts/yt-enrich.py --output <output-dir> --limit 10`

## One-shot quick start

Use this for immediate manual sync:

```bash
python3 <skill>/scripts/yt-import.py --output <output-dir>
python3 <skill>/scripts/yt-enrich.py --output <output-dir> --limit 10
```

Useful import flags:
- `--dry-run`
- `--playlist <ID>` (repeatable)
- `--no-summary`
- `--no-tags`
- `--cookies <path/to/cookies.txt>`
- `--browser <name>`

Useful enrich flags:
- `--dry-run`
- `--limit <N>`
- `--strict-config`

## Idempotency and safety behavior

- Import skips already archived videos by `video_id`.
- Filenames include video ID: `Title [video_id].md`.
- Enrichment skips notes where frontmatter has `enriched: true`.
- Lockfile prevents concurrent runs: `<output-dir>/.yt-archiver.lock`.

## Automation with cron (single-agent default)

Offer cron only after one successful manual run.

Example schedule (daily 11:00):

1. Import new videos
2. Enrich a bounded batch

Example task text:

- `Run yt-import.py for <output-dir>, then run yt-enrich.py --limit 10 for the same output.`

Keep it single-agent by default. Do not assume multi-agent routing.

## Troubleshooting and provider details

Read these references when needed:

- Provider setup, model suggestions, cost: `references/providers.md`
- Common failures and fixes: `references/troubleshooting.md`
- Default summary prompt template: `references/default-summary-prompt.md`

Related Skills

openclaw-youtube

3891
from openclaw/skills

YouTube SERP Scout for agents. Search top-ranking videos, channels, and trends for content research and competitor tracking.

Content & Documentation

youtube-search

3891
from openclaw/skills

YouTube Search API via AIsa unified endpoint. Search YouTube videos, channels, and playlists with a single AIsa API key — no Google API key or OAuth required. Use this skill when users want to search YouTube content. For other AIsa capabilities (LLM, financial data, Twitter, web search), see the aisa-core skill.

Data & Research

youtube-digest

3891
from openclaw/skills

Understand, summarize, translate, and extract key points from YouTube videos. Use when a user provides a YouTube URL and wants: (1) a Chinese summary, (2) a transcript or subtitle extraction, (3) translation of spoken content, (4) timestamps / chapter notes, (5) visual understanding via key frames, or (6) question answering about a video. Prefer this skill for transcript-first workflows.

youtube-content-manager

3891
from openclaw/skills

YouTube内容管理后台,支持AI选题生成、脚本创作、标题优化、SEO描述生成、缩略图文案建议、发布记录管理和数据分析。集成SkillPay支付接口,每次调用收0.001USDT。

youtube-content-manager-pro

3891
from openclaw/skills

All-in-one YouTube Content Management Tool, AI generate topics, scripts, titles, SEO descriptions, tags, thumbnails, analytics. $0.005 USDT per use.

youtube-audio-download

3891
from openclaw/skills

Download YouTube video audio and convert to MP3. Supports age-restricted videos with cookies.

banner-youtube-translate-workflow

3891
from openclaw/skills

Complete workflow: download YouTube audio, launch Doubao, play audio, capture translation. Activates when user needs full video translation.

YouTube Channel Scraper

3891
from openclaw/skills

A browser-based YouTube channel discovery and scraping tool.

youtube-anycaption-summarizer

3891
from openclaw/skills

Turn YouTube videos into dependable markdown transcripts and polished summaries — even when caption coverage is messy. This skill works with manual closed captions (CC), auto-generated subtitles, or no usable subtitles at all by using subtitle-first extraction with local Whisper fallback. Supports private/restricted videos via cookies, batch processing, transcript cleanup, language backfill, source-language or user-selected summary language, and end-to-end completion reporting. Ideal for YouTube research, technical walkthroughs, founder content, tutorials, private/internal uploads, and batch video summarization workflows.

memory-archiver

3891
from openclaw/skills

记忆管理技能 - 三层时间架构 + 三类记忆标签 + 自动搜索 Hook

YouTube Transcript Extraction

3891
from openclaw/skills

Extract high-quality transcripts from YouTube videos using multiple methods.

youtube-transcript

3891
from openclaw/skills

Extrahiert Transkripte von YouTube-Videos für Content-Erstellung. Nutze für Video-Analysen, Content-Ideen und Blog-Posts aus YouTube-Videos.