# Yt Search

> Search YouTube videos, get video metadata, and download subtitles/transcripts using yt-dlp. Use when the user wants to find videos, search YouTube, look up a YouTube channel, get video info, download captions, grab subtitles, or extract a transcript. Triggers include "找影片", "搜影片", "YouTube 搜尋", "抓字幕", "逐字稿", "search videos", "find videos on YouTube", "get subtitles", "video transcript", "youtube…

- **Type:** Skill
- **Install:** `agentstack add skill-azuma520-youtube-to-notebooklm-yt-search`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [azuma520](https://agentstack.voostack.com/s/azuma520)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [azuma520](https://github.com/azuma520)
- **Source:** https://github.com/azuma520/youtube-to-notebooklm/tree/master/skills/yt-search

## Install

```sh
agentstack add skill-azuma520-youtube-to-notebooklm-yt-search
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# yt-search

YouTube 影片搜尋、元數據查詢、字幕下載。依賴 `yt-dlp`（`pip install yt-dlp`）。

## 搜尋影片

```bash
yt-dlp --flat-playlist "ytsearchN:關鍵字" -j
```

`N` = 結果數（預設 10，建議最多 20）。每行一個 JSON，取 `title`、`channel`、`duration_string`、`view_count`、`url`、`id`。

呈現為表格讓用戶挑選（按觀看數排序）：

```
# | 標題 | 頻道 | 時長 | 觀看數 | URL
1 | How to Make... | FoodBiz | 12:34 | 45K | https://youtube.com/watch?v=xxx
```

**按上傳日期搜尋**（找最新內容）：用 `ytsearchdateN:` 取代 `ytsearchN:`。

**過濾搜尋結果**：用 `--match-filters` 在搜尋層直接篩選，比下載後再過濾高效：

```bash
# 排除短影片（60 & !is_live"

# 只要高人氣影片
yt-dlp --flat-playlist "ytsearch20:關鍵字" -j --match-filters "view_count>?1000"
```

用戶挑選後可進一步：取元數據、抓字幕、或推送到 NotebookLM（搭配 anything-to-notebooklm skill）。

## 取得影片元數據

```bash
yt-dlp -j "URL"
```

除基本欄位外，`channel_follower_count` 可評估頻道規模，`like_count` / `comment_count` 可評估內容互動度。

## 下載字幕

**先確認可用字幕**（避免下載失敗）：

```bash
yt-dlp --list-subs "URL" 2>&1 | head -30
```

確認有字幕後再下載。`--sub-langs` 支援正則，可抓所有語言變體：

```bash
# 抓中文（含 zh-TW, zh-Hans 等）和英文（含 en-US 等）
yt-dlp --skip-download --write-auto-subs --sub-langs "zh.*,en.*" --sub-format vtt -o "$TEMP/%(id)s" "URL"
```

也可同時抓手動字幕（品質更好）和自動字幕：

```bash
yt-dlp --skip-download --write-subs --write-auto-subs --sub-langs "zh.*,en.*" --sub-format vtt -o "$TEMP/%(id)s" "URL"
```

手動字幕（`--write-subs`）品質優於自動字幕（`--write-auto-subs`），有手動的優先用。

輸出 VTT 檔，用內建腳本轉純文字：

```bash
python /scripts/parse_vtt.py "$TEMP/VIDEO_ID.en.vtt" -o "$TEMP/transcript.txt"
```

如果 `--list-subs` 顯示無字幕，告知用戶該影片沒有可用字幕。

## 年齡限制 / 會員內容

遇到年齡限制或需要登入才能觀看的影片，可從瀏覽器提取 Cookie：

```bash
yt-dlp --cookies-from-browser chrome -j "URL"
```

支援 chrome、firefox、edge、brave 等瀏覽器。先詢問用戶慣用的瀏覽器。

## 與 anything-to-notebooklm 的銜接

用戶常見流程：搜影片 → 選一部 → 推 NotebookLM。選定影片後，記住 URL，直接傳給 anything-to-notebooklm skill 使用（YouTube URL 可直接 `source add`，不需要先抓字幕）。

如果用戶想看逐字稿再決定是否推送，先抓字幕讓用戶確認內容。

## 注意事項

- Windows 中文輸出亂碼 → 指令前加 `PYTHONUTF8=1`
- 搜尋結果受地區影響 → 可加 `--geo-bypass`
- 長影片字幕檔很大 → 先確認 `duration` 再決定是否下載
- 批量操作加 `--sleep-requests 1` 避免被 YouTube 限流
- 用完字幕後清理暫存：`rm "$TEMP"/VIDEO_ID.*.vtt`

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [azuma520](https://github.com/azuma520)
- **Source:** [azuma520/youtube-to-notebooklm](https://github.com/azuma520/youtube-to-notebooklm)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-azuma520-youtube-to-notebooklm-yt-search
- Seller: https://agentstack.voostack.com/s/azuma520
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
