YouTube URL을 NotebookLM 보고서로 변환하여 Obsidian에 주제별 저장. 카톡/브라우저에서 복사한 URL을 붙여넣으면 NotebookLM이 보고서를 생성하고 마크다운으로 다운로드하여 주제별 폴더에 저장. 사용법: /youtube-summary [제목 - URL] [-f briefing|study-guide|blog] [-t 주제폴더]. 트리거: youtube 요약, 영상 정리, 유튜브 노트, notebooklm
YouTube URL → NotebookLM 보고서 → Obsidian 주제별 저장
/youtube-summary Claude Code 강의 - https://youtube.com/watch?v=XXXX
/youtube-summary -f study-guide -t "AI Agent" 에이전트 강의 - https://youtube.com/watch?v=YYYY
/youtube-summary https://youtube.com/watch?v=ZZZZ
-f FORMAT: 보고서 포맷 (기본: blog)
briefing: 브리핑 문서 (주요 인사이트 + 인용문)study-guide: 학습 가이드 (퀴즈 + 용어집)blog: 블로그 게시물 (가독성 좋은 요약)custom --instructions "...": 직접 만들기-t TOPIC: 주제 폴더 직접 지정 (예: -t "Claude Code")$ARGUMENTS에서 URL 존재 여부를 확인한다.
분기 로직:
python3 scripts/db_manager.py pending --limit 1
clean_url을 사용하여 Step 1로 진행
python3 scripts/db_manager.py processing --video-id {video_id}
DB 소스 플래그: DB에서 가져온 URL인 경우 _from_db=true, _video_id={video_id}를 내부적으로 추적한다. Step 5(Git 커밋) 이후에 DB 상태를 업데이트하기 위함.
$ARGUMENTS에서 "제목 - URL" 쌍을 추출한다.
파싱 규칙:
제목 - URL 형식: 제목과 URL을 분리https://www.youtube.com/oembed?url=URL&format=json-f FORMAT 옵션 추출 (기본값: blog)-t TOPIC 옵션 추출 (없으면 자동 분류)Backend: nlm CLI (notebooklm-mcp-cli, uv tool install로 설치)
Wrapper: .claude/skills/youtube-summary/scripts/nlm_wrapper.py (nlm CLI를 subprocess로 호출)
URL마다 별도 노트북을 생성한다. 8개 URL → 8개 노트북.
# 2-1. 인증 확인
nlm login --check
# 실패 시 → "! nlm login" 안내 (브라우저 로그인 필요)
# 2-2. URL별 반복: 노트북 생성 + 소스 추가
for each URL:
nlm create notebook "YouTube 요약 - {해당 영상 제목}"
# 중요: --youtube 플래그 + --wait로 인덱싱 대기 포함
nlm source add {notebook_id} --youtube "{해당 URL}" --wait
주의사항:
nlm add url은 YouTube URL에서 파싱 버그 있음 → 반드시 nlm source add --youtube 사용--wait 플래그로 인덱싱 완료까지 자동 대기 (최대 600초)에러 처리:
URL마다 보고서를 생성하고 다운로드한다.
# URL별 반복 (index = 0, 1, 2, ...)
for each URL (index):
# 3-1. 보고서 생성 시작
nlm report create {notebook_id} -f "Blog Post" -y --language ko
# custom 포맷인 경우:
nlm report create {notebook_id} -f "Create Your Own" --prompt "..." -y --language ko
# 3-2. 3분 대기 후 다운로드 시도
sleep 180
nlm download report {notebook_id} -o /tmp/nlm_report_{index}.md
# 다운로드 실패 시: nlm studio status {notebook_id} 로 상태 확인 후 재시도
# 8분 초과 시 해당 영상 스킵 (NotebookLM 서버 이슈)
다운로드된 /tmp/nlm_report_{index}.md를 각각 Read 도구로 읽는다.
기존 주제 폴더 확인 (Obsidian CLI):
# 04.YouTube 하위 폴더 목록 조회
obsidian folders path="10.InBox/13.YouTube"
-t 옵션 지정 시: 그대로 사용
10.InBox/13.YouTube/{지정된 주제}/
미지정 시 자동 분류:
obsidian folders 결과에서 기존 주제 폴더 목록 확인분류 키워드 매핑:
Technology/Claude Code/Technology/AI Agent/Technology/AI Industry/Technology/Obsidian/Technology/Development/Professional/Data Engineering/Professional/DevOps/Professional/Governance/Professional/Security/Business/Investment/Business/Government/Creative/Personal/Health/파일명 규칙: YYYY-MM-DD_{제목_언더스코어}.md
방법 A: Obsidian CLI (Obsidian 실행 중일 때)
# 4b-1. 노트 생성 (보고서 내용 포함)
obsidian create path="10.InBox/13.YouTube/{주제폴더}/YYYY-MM-DD_{제목}.md" content="{보고서 내용}" silent
# 4b-2. YAML 프로퍼티 일괄 설정
FILE="10.InBox/13.YouTube/{주제폴더}/YYYY-MM-DD_{제목}.md"
obsidian property:set path="$FILE" name=title value="{영상 제목}"
obsidian property:set path="$FILE" name=type value=youtube-summary
obsidian property:set path="$FILE" name=area value=education
obsidian property:set path="$FILE" name=domain value="[[YouTube Content]]"
obsidian property:set path="$FILE" name=source value=youtube
obsidian property:set path="$FILE" name=video_url value="{URL}"
obsidian property:set path="$FILE" name=channel value="{채널명}"
obsidian property:set path="$FILE" name=created value={YYYY-MM-DD}
obsidian property:set path="$FILE" name=updated value={YYYY-MM-DD}
obsidian property:set path="$FILE" name=report_format value={format}
obsidian property:set path="$FILE" name=notebooklm_id value="{notebook_id}"
obsidian property:set path="$FILE" name=status value=Completed
obsidian property:set path="$FILE" name=tags value="youtube,summary,{주제태그}"
obsidian property:set path="$FILE" name=author value="[[frindle]]"
# 4b-3. Obsidian에서 열기
obsidian open path="$FILE"
방법 B: Write 도구 폴백 (Obsidian 미실행 시)
Obsidian CLI 연결 실패(Unable to connect to main process) 시 Write 도구로 직접 파일 생성.
YAML frontmatter(2 spaces 들여쓰기) + 보고서 내용을 결합하여 저장 경로에 Write.
---
Edit PDFs with natural-language instructions using the nano-pdf CLI.