youtubelisted
Install: claude install-skill martinemde/dotfiles
# YouTube Transcript to Structured Notes
## Arguments
```
$ARGUMENTS
```
## Instructions
This workflow fetches a YouTube video transcript and transforms it into a structured, skimmable reference document. Uses a forked context since the transcript processing doesn't need to inform follow-up conversation.
### 1. Parse Video Input
- **Full URL**: Use directly (supports youtube.com, youtu.be)
- **Video ID**: Construct `https://youtube.com/watch?v={id}`
- **If missing**: Ask for the video URL
### 2. Fetch Video Metadata
```bash
yt-dlp --print "%(title)s" --print "%(channel)s" --print "%(uploader)s" --print "%(upload_date)s" --print "%(duration)s" --skip-download "VIDEO_URL"
```
Capture:
- **Title** — for filename and frontmatter
- **Channel/Uploader** — for attribution (use uploader if personal, channel if organizational)
- **Upload Date** — format as YYYY-MM-DD
- **Duration** — for context
### 3. Download Transcript
```bash
mkdir -p tmp
yt-dlp --skip-download --write-auto-subs --sub-langs "en" --sub-format "srt" --convert-subs srt -o "tmp/transcript" "VIDEO_URL"
```
Saves to `tmp/transcript.en.srt`. If no English subs, try `en-orig` or check `--list-subs`.
### 4. Determine Output Filename
Use **APA-style title capitalization** with creator:
**Format:** `Reference/Full Title Here (Creator Name).md`
**APA rules:**
- Capitalize first word and all major words
- Capitalize words of 4+ letters
- Lowercase: a, an, the, and, but, or, for, nor, on, at, to, by (unless fi