소개
Obsidian과 Claude Code를 연계해보며 참고할 YouTube 영상이 많아졌고, 영상을 일일이 다 보기 전에 요약을 통해 더 자세히 볼 영상을 판단하고 싶어졌어요. 그래서 YouTube 링크만 입력하면 요약된 마크다운 파일이 자동 생성되는 커맨드를 만들어 보게 되었습니다.
진행 방법
Claude AI를 이용해서 Custom Command 초안을 먼저 만들었어요.
이후 위의 내용을 모아
commands폴더 안에.md파일로 정리하고, 필요할 때마다 Claude Code로 불러와 실행하고 있어요.# YouTube Transcript & Summary Commands ## 기본 명령어 ### 1. 유튜브 트랜스크립트 요약 (기본) **macOS/Linux (Bash):** ```bash claude-code "유튜브 비디오 [URL]의 트랜스크립트를 가져와서 요약하고 마크다운 파일로 저장해줘" ``` **Windows (PowerShell):** ```powershell claude-code "유튜브 비디오 [URL]의 트랜스크립트를 가져와서 요약하고 마크다운 파일로 저장해줘" ``` **Windows (Command Prompt):** ```cmd claude-code "유튜브 비디오 [URL]의 트랜스크립트를 가져와서 요약하고 마크다운 파일로 저장해줘" ``` ### 2. 상세 트랜스크립트 처리 **macOS/Linux:** ```bash claude-code "다음 작업을 수행해줘: 1. 유튜브 비디오 트랜스크립트를 yt-dlp로 가져오기 2. 트랜스크립트를 의미있는 섹션으로 나누어 요약 3. 제목, 주요 포인트, 핵심 내용이 포함된 마크다운 파일 생성 4. 파일명을 비디오 제목 기반으로 자동 생성하고 Inbox 폴더에 저장" ``` **Windows:** ```powershell claude-code "다음 작업을 수행해줘: 1. 유튜브 비디오 트랜스크립트를 yt-dlp로 가져오기 2. 트랜스크립트를 의미있는 섹션으로 나누어 요약 3. 제목, 주요 포인트, 핵심 내용이 포함된 마크다운 파일 생성 4. 파일명을 비디오 제목 기반으로 자동 생성하고 Inbox 폴더에 저장 (Windows 파일명 규칙 적용)" ``` ### 3. 커스터마이징된 요약 **All Platforms:** ```bash claude-code "유튜브 [URL] 트랜스크립트를 다음 형식으로 요약해서 MD 파일로 Inbox 폴더에 저장: - 비디오 정보 (제목, 길이, 채널) - 핵심 요약 (3-5줄) - 주요 포인트 (불릿 포인트) - 상세 내용 (섹션별 정리) - 타임스탬프 포함" ``` ## 고급 명령어 ### 4. 여러 비디오 일괄 처리 **macOS/Linux:** ```bash claude-code "다음 유튜브 URL 리스트의 트랜스크립트를 각각 요약해서 개별 MD 파일로 저장: [URL1] [URL2] [URL3]" ``` **Windows:** ```cmd claude-code "다음 유튜브 URL 리스트의 트랜스크립트를 각각 요약해서 개별 MD 파일로 저장 (Windows 경로 형식 사용): [URL1] [URL2] [URL3]" ``` ### 5. 특정 주제 중심 요약 **All Platforms:** ```bash claude-code "유튜브 [URL]에서 [특정 주제/키워드]와 관련된 내용만 추출해서 요약하고 MD 파일로 저장" ``` ### 6. 언어별 처리 **All Platforms:** ```bash claude-code "한국어 유튜브 [URL]의 트랜스크립트를 영어로 번역하면서 요약해서 MD 파일로 저장" ``` ## 파일 구조 예시 생성될 마크다운 파일의 기본 구조: ```markdown # [비디오 제목] ## 비디오 정보 - 채널: [채널명] - 길이: [재생시간] - URL: [원본 URL] - 생성일: [처리 날짜] ## 핵심 요약 [3-5줄 요약] ## 주요 포인트 - 포인트 1 - 포인트 2 - 포인트 3 ## 상세 내용 ### 섹션 1 [내용] ### 섹션 2 [내용] ``` ## 사용 팁 ### 운영체제별 고려사항 **Windows:** - **파일명 제한**: `< > : " | ? * \` 문자 자동 제거/변환 - **경로 길이**: 최대 260자 제한 (Windows 10 이하) - **PowerShell 권장**: Command Prompt보다 더 나은 Unicode 지원 - **경로 구분자**: 백슬래시(`\`) 또는 슬래시(`/`) 모두 지원 **macOS/Linux:** - **파일명 제한**: `/` 문자만 제거하면 됨 - **대소문자 구분**: 파일시스템에서 대소문자 구분 - **긴 파일명**: 일반적으로 255자까지 지원 ### 일반 팁 1. **URL 형식**: `https://www.youtube.com/watch?v=VIDEO_ID` 또는 `https://youtu.be/VIDEO_ID` 2. **언어 설정**: 한국어 콘텐츠는 자동으로 감지되어 처리됩니다 3. **파일명**: 특수문자는 운영체제에 맞게 자동으로 제거/변환됩니다 4. **에러 처리**: 트랜스크립트가 없는 경우 자동으로 오디오에서 추출 시도 ## 설치 및 설정 ### Windows 사용자 ```powershell # PowerShell에서 실행 npm install -g @anthropic-ai/claude-code # 또는 Chocolatey 사용 시 choco install nodejs npm install -g @anthropic-ai/claude-code ``` ### macOS 사용자 ```bash # Homebrew 사용 brew install node npm install -g @anthropic-ai/claude-code # 또는 직접 설치 npm install -g @anthropic-ai/claude-code ``` ### Linux 사용자 ```bash # Ubuntu/Debian sudo apt update sudo apt install nodejs npm npm install -g @anthropic-ai/claude-code # CentOS/RHEL sudo yum install nodejs npm npm install -g @anthropic-ai/claude-code ``` ## 필수 도구 - `yt-dlp`: 유튜브 다운로드 및 메타데이터 추출 - `youtube-transcript-api`: Python 트랜스크립트 API - `whisper`: 오디오 트랜스크립션 (백업용) ### 운영체제별 도구 설치 **Windows:** ```powershell # yt-dlp 설치 (권장) winget install yt-dlp # 또는 choco install yt-dlp # Python 도구들 pip install youtube-transcript-api openai-whisper ``` **macOS:** ```bash # Homebrew 사용 brew install yt-dlp pip3 install youtube-transcript-api openai-whisper ``` **Linux:** ```bash # pip 사용 pip install yt-dlp youtube-transcript-api openai-whisper ```
Claude Code에서 커맨드는 다음과 같아요:
> /yt-transcript [URL]고급 커맨드는 다음처럼 다양한 옵션을 포함할 수 있어요:
yt-dlp를 통해 트랜스크립트 가져오기
의미 단위로 나누어 요약
핵심 요약/주요 포인트/섹션별 정리 포함
비디오 제목 기반으로 자동 파일명 생성
명령어 작성 시 Claude가 다양한 방법을 제안해줬어요:
Python 코드로 yt-dlp나 transcript API 호출
whisper를 사용한 오디오 텍스트 변환
yt-dlg 활용 또는 직접 스크립트 생성
결과와 배운 점
트랜스크립트가 없는 영상에서도 Claude가 whisper를 이용해 자동으로 텍스트를 생성해서 md 파일로 준 건 꽤 인상 깊었어요.
하나의 방식만 고집하지 않고 다양한 접근을 시도한다는 걸 경험하며, Claude Code의 진짜 힘을 느꼈습니다.
Custom Command를 반복적으로 실행하면서 어떤 방식이 쓰였는지, 어떤 라이브러리가 동원되는지를 보는 것도 큰 학습이 되었어요.
업무 중 반복적으로 하게 되는 정보 정리 작업, 혹은 콘텐츠 리뷰 등을 자동화하면 꽤 효율적이겠다는 생각도 들었고요.
도움 받은 글 (옵션)
없음 (직접 실험과 시행착오를 통해 완성!)