TopRank Skills

Home / Claw Skills / Git / GitHub / youtube-archiver
Official OpenClaw rules 54%

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.

Stars

0

Installs

0

Status

ACTIVE

Visibility

PUBLIC

安装方式

直接复制以下提示词,发送给你的 AI 助手即可完成安装。

请先检查是否已安装 SkillHub 商店,若未安装,请根据 https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/skillhub.md 安装 SkillHub 商店,然后安装 youtube-archiver 技能。 若已安装,则直接安装 youtube-archiver 技能。

Overview

Skill Key
benmillerat/youtube-archiver
Author
benmillerat
Source Repo
openclaw/skills
Version
-
Source Path
skills/benmillerat/youtube-archiver
Latest Commit SHA
5d519dfe18346794d378601f2c651ad7326735aa

Extracted Content

SKILL.md excerpt

# 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...

README excerpt

# YouTube Archiver

An [OpenClaw](https://github.com/openclaw/openclaw) skill that archives YouTube playlists as markdown notes with AI-generated summaries, full transcripts, and auto-assigned tags.

## What It Does

- Archives YouTube playlists as individual markdown files
- Each video gets: metadata, full transcript, AI summary, and topic tags
- Two-phase pipeline: fast import (metadata only), then enrichment (AI calls)
- Works with any LLM provider (OpenAI, Gemini, Anthropic, Ollama, OpenRouter) or none at all
- Runs on macOS, Linux, and Windows

## Example Output

```markdown
---
title: "How to Self-Host Everything"
channel: "TechChannel"
url: https://www.youtube.com/watch?v=abc123
video_id: abc123
published: 2026-01-15
tags: ["youtube-archive", "self-hosted", "tutorial"]
enriched: true
---

# How to Self-Host Everything

## Summary
## Key Takeaways
- ...

## Transcript
> [!note]- Full Transcript
> ...
```

## Requirements

- Python 3.7+
- [yt-dlp](https://github.com/yt-dlp/yt-dlp) (`pip install yt-dlp`)
- A browser signed into YouTube (for private playlists)

No other dependencies. All HTTP calls use Python's stdlib `urllib`.

## Install (OpenClaw)

```bash
clawhub install youtube-archiver
```

Or clone this repo into your OpenClaw skills directory.

Then ask your agent: **"Archive my YouTube playlists"** and it will walk you through setup.

## Manual Usage (without OpenClaw)

The scripts work standalone too:

```bash
# Initialize config
python3 scripts/yt-import.py --output ~/YouTube-Archive --init

# Edit .config.json with your playlists and preferences

# Import videos (fast, metadata only)
python3 scripts/yt-import.py --output ~/YouTube-Archive

# Enrich with summaries + transcripts
python3 scripts/yt-enrich.py --output ~/YouTube-Archive --limit 10
```

## Configuration

All preferences live in `.config.json` in the output directory:

```json
{
  "playlists": [
    {"id": "LL", "name": "Liked Videos"},
    {"id": "WL", "name": "Watch Later"}
  ],
  "browser...

Related Claw Skills