youtube-slideslisted
Install: claude install-skill kingkingburger/plugin-mh
# YouTube Slides
YouTube 영상 → 자막 기반 처리 → 슬라이드 문서 / 요약·퀴즈 문서.
## 두 가지 모드
| 모드 | 산출물 | 무거운가 |
|------|--------|---------|
| **slides** (기본) | 자막 구간별 프레임 캡쳐 + `slides.md` + `slides.html` + `images/` | 영상 다운로드 필요 (720p) |
| **digest** | 요약 + 인사이트 + 한국어 전문 번역 + 9문항 퀴즈 (`research/readings/youtube/`) | 자막만 필요, 영상 다운로드 없음 |
| **both** | 위 둘 다 | 영상 다운로드 필요 |
키워드로 판별한다 — "캡쳐/슬라이드/스크린샷" → slides, "요약/정리/퀴즈/번역" → digest. 불분명하면 Step 0에서 묻는다.
## 사전 조건
| 도구 | slides | digest |
|------|--------|--------|
| `yt-dlp` (`pip install yt-dlp`) | 필요 | 필요 |
| `ffmpeg` | 필요 | 불필요 |
| `python3` (3.8+) | 필요 | 불필요 |
## yt-dlp 실행 가이드 (Windows)
`scripts/_common.sh`가 아래를 모두 처리한다. 스크립트를 우회해 `yt-dlp`를 직접 부르지 말 것.
- `yt-dlp`가 PATH에 없으면 **`python -m yt_dlp`로 자동 폴백**
- YouTube 봇 인증: `--cookies <cookies.txt 경로>`. 브라우저 확장(Get cookies.txt LOCALLY)으로 내보내기
- `--cookies-from-browser`는 Windows DPAPI 문제로 실패 → cookies.txt 파일만 사용
- JS 챌린지 해결: `--remote-components ejs:github` (자동 적용)
- Step 2(자막) + Step 3(영상 다운로드)는 **병렬 실행** 가능. Step 3는 `run_in_background` 권장
## 워크플로우
### 0. 요구사항 명확화 (Clarify Phase)
AskUserQuestion으로 사용자 의도를 확인한다. 이미 명확하게 지정된 항목은 건너뛴다.
```
questions:
- question: "어떤 산출물이 필요한가요?"
header: "모드"
options:
- label: "슬라이드 (프레임 캡쳐)"
description: "자막 구간별 화면 캡쳐 + 마크다운/HTML 슬라이드. 영상을 다운로드합니다"
- label: "다이제스트 (요약+퀴즈)"
description: "요약·인사이트·한국어 번역·9문항 퀴즈. 자막만 받아 빠릅니다"
- label: "둘 다"
description: "슬라이드와 다이제스트를 모두 생성합니다"
- question: "캡쳐 간격을 어떻게 할까요? (슬라이