一键导入
yt-transcribe
YouTube URL → 로컬 STT → 전사본+요약 생성. ytdl(rust-yt-downloader) + whisper-cli(whisper.cpp) 기반 파이프라인.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
YouTube URL → 로컬 STT → 전사본+요약 생성. ytdl(rust-yt-downloader) + whisper-cli(whisper.cpp) 기반 파이프라인.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
일반화된 팀 오케스트레이션 하네스. "FT 구성", "FT 해보자", "FT 하자" 요청 시 사용 (보조 트리거: "fable-team", "팀 구성", "팀 에이전트 설치", "팀으로 진행" / 로컬 패치는 "FT 업데이트"). 오케스트레이터(sonnet-5 또는 fable-5 ultracode — 세션 시작 시 사용자 선택)는 전달·조율만 — 기획·구현 직접 수행은 orchestration-gate 훅이 물리 차단(선언 아닌 강제). 기획·문제해결은 architect 브레인(fable5 1순위 — 미가용 시 sonnet-5 → 병렬 opus-4-6, FT 구성 시 기록)이 전담. 설치 인터뷰 + 피처 설계 인터뷰로 프로젝트별 워커를 커스텀 생성한다. 트리거 시 부팅 시퀀스(피처 입력→추천 설계→프리뷰→컨펌)가 강제된다.
tmux + Claude/Codex/OMX session control. "tmux 세션 열어", "claude/codex/omx 세션 만들어", "tmuxc", "tmc", "리모트 세션", "remote session", "프로젝트 세션 생성", "tmux 목록", "tmux 정리", "세션 정리", "세션 증류", "세션 클린업", "세션 복원", "세션 복구", "양방향 메시지", "세션간 메시지" 요청 시 자동 실행. (global) (user)
AI 코딩 에이전트 CLI 툴킷 — 설치·비교·**비대화 실행·자율주행·resume 체인·페르소나 위임**. 지원: Claude Code · Codex · Gemini · OpenCode · Cursor Agent (+ Aider/Amp/Pi 참고). 현재 코딩/채팅 세션 안에서 OTHER 프로바이더 CLI를 비대화로 띄워 자율 주행시키고(dangerous/full-auto/yolo/force), 페르소나(DA/designer/architect)를 주입하고, resume으로 이어간다. 판별 신호는 "현재 세션과 다른 모델/에이전트에 작업·판단을 위임". 다음에서 발동: 다른 모델의 second opinion·적대검증(DA)·설계/아키텍처 패스·cross-check, 바운디드 작업 위임 후 결과 회수, 이전 cross-model 세션 resume, oh-my-*(ulw/ultraplan)·baton·tmuxc 팬아웃, 그리고 이 CLI들의 설치·인증·비교·래핑 가이드. 한국어: "다른 모델로 검증", "DA 돌려", "코덱스한테 시켜", "제미나이 의견", "cross-check", "second opinion 받아줘", "resume 이어서", "codex/gemini/claude 설치", "CLI 비교", "래핑 가이드". Do NOT trigger: 단순 "이거 리팩토링/리뷰해줘"(현재 에이전트가 직접), Cursor IDE 설정, git의 resume/rebase, 무관한 'second opinion' 문서 작성.
Per-project headroom 압축 프록시 토글. "/headroom on", "/headroom off", "/headroom status", "헤드룸 켜", "헤드룸 꺼", "헤드룸 상태" 요청 시 실행. 현재 프로젝트를 enabled-projects.json에 등록/해제해 영구 on/off. 사용자가 프로젝트·크루별로 직접 컨트롤하며 자동 활성화하지 않는다.
cairn 일정·복구 원장 CLI. "마일스톤", "태스크", "일정", "지연/overdue", "간트", "복구 그래프", "spawn/complete/return", "fanout/fanin", "세션 증류 후 복귀점" 관련 작업 시 발동. 결정적 단일 직렬 writer 원장(.cairn/plan.yaml) + git 추적. 멀티에이전트 fan-out 작업의 분기→완료→복귀(return_to/merge_back_to) 계보를 1급으로 소유.
Universal Standard Workflow — 워크트리 + 아카이브 + 작업 메모리 표준. Triggers on `/baton:*` slash commands AND keywords "이어서", "진행", "go", "continue", "next" (resume). MANDATORY before starting any worktree-related work.
| name | yt-transcribe |
| description | YouTube URL → 로컬 STT → 전사본+요약 생성. ytdl(rust-yt-downloader) + whisper-cli(whisper.cpp) 기반 파이프라인. |
| version | 1.1.0 |
| status | active |
YouTube 링크를 입력받아 로컬 Rust/C++ 도구로 오디오를 다운로드하고 STT 전사 후 Claude가 요약·정리 문서를 생성하는 스킬.
스킬 발동 시 작업 시작 전에 반드시 저장 경로를 확인한다. 사용자 또는 에이전트가 직접 지정하지 않았다면 인터뷰로 물어본다.
📁 문서를 어디에 저장할까요?
추천 경로:
1. 옵시디언 볼트: {{OBSIDIAN_VAULT_PATH}}/Sources/YT/
2. 소스 폴더: ~/sources/yt/
3. 프로젝트 지정: ~/Project/<프로젝트명>/docs/references/
4. 직접 입력
어떤 경로로 저장해드릴까요?
절대 경로를 임의로 가정하거나 하드코딩하지 않는다.
YouTube URL 수신
├─ 저장 경로 지정됨? → YES → 파이프라인 시작
│ → NO → 인터뷰 → 경로 확인
↓
Step 1: mktemp -d → 임시 작업 디렉토리
↓
Step 2: ytdl audio <URL> -f mp3 → MP3 다운로드
↓
Step 3: ffmpeg → 16kHz mono WAV 변환
↓
Step 4: whisper-cli -m small -l auto → STT 전사
↓
Step 5: Claude 처리 → 요약/아웃라인/키포인트
↓
Step 6: README.md 저장 (지정 경로)
↓
Step 7: 임시 파일 전체 삭제 (README.md만 남김)
| 파라미터 | 기본값 | 설명 |
|---|---|---|
url | (필수) | YouTube URL |
save_to | (필수, 인터뷰로 확인) | 문서 저장 디렉토리 경로 |
language | auto | STT 언어 코드 (auto/ko/en 등) |
model | small | Whisper 모델 크기 (small/medium/large-v3) |
format | mp3 | 오디오 다운로드 포맷 |
# 오디오 다운로드 (메인 사용)
ytdl audio <URL> -f mp3 -o <output_dir>
ytdl audio <URL> -f flac -o <output_dir> # 무손실
ytdl audio <URL> -f wav -o <output_dir> # 무압축
# 영상 정보 확인
ytdl info <URL>
# 영상 다운로드
ytdl download <URL> -q 1080p -f mp4 -o <output_dir>
ytdl download <URL> -q best -f mkv -o <output_dir>
# 플레이리스트 다운로드
ytdl playlist <URL> -o <output_dir>
# 오디오 포맷: mp3, m4a, flac, wav, opus
# 영상 품질: 144p, 240p, 360p, 480p, 720p, 1080p, 1440p, 4k, best, worst
# 영상 포맷: mp4, mkv, webm
# 공통 옵션
# -o, --output <dir> 출력 디렉토리 (기본: .)
# -s, --silence 진행바 숨김
# -v, --verbose 상세 로그
# 기본 전사 (텍스트 출력)
whisper-cli -m ~/.whisper/models/ggml-small.bin -l auto -f <audio.wav> -otxt --output-file <output_path>
# 주요 옵션
# -m <model> 모델 경로 (필수)
# -f <file> 입력 오디오 (필수, flac/mp3/ogg/wav)
# -l <lang> 언어 (auto/ko/en/ja 등)
# -otxt 텍스트 파일 출력
# -osrt SRT 자막 출력
# -ovtt VTT 자막 출력
# -oj JSON 출력
# --output-file <path> 출력 파일 경로 (확장자 제외)
# -t <N> 스레드 수 (기본: 4)
# --no-timestamps 타임스탬프 제거
# -tr 영어로 번역
# --vad 음성 구간 감지 활성화
# MP3 → WAV 변환 (whisper-cli 호환 포맷)
ffmpeg -i <input.mp3> -ar 16000 -ac 1 -c:a pcm_s16le <output.wav> -y
# 옵션 설명
# -ar 16000 샘플레이트 16kHz (whisper 권장)
# -ac 1 모노 채널
# -c:a pcm_s16le 16bit PCM (무압축)
# -y 덮어쓰기 확인 없이 실행
TMPDIR=$(mktemp -d /tmp/yt-transcribe-XXXXXX)
~/.cargo/bin/ytdl audio "<YOUTUBE_URL>" -f mp3 -o "$TMPDIR"
MP3_FILE=$(find "$TMPDIR" -name "*.mp3" | head -1)
ffmpeg -i "$MP3_FILE" -ar 16000 -ac 1 -c:a pcm_s16le "$TMPDIR/audio.wav" -y
whisper-cli \
-m ~/.whisper/models/ggml-small.bin \
-l auto \
-otxt \
-f "$TMPDIR/audio.wav" \
--output-file "$TMPDIR/transcript"
# → $TMPDIR/transcript.txt 생성
전사본(transcript.txt)을 읽어 다음을 생성:
SLUG=$(echo "<영상제목>" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9가-힣]/-/g' | sed 's/--*/-/g')
OUTPUT_DIR="<save_to>/$(date +%Y-%m-%d)_${SLUG}"
mkdir -p "$OUTPUT_DIR"
# README.md 생성 (요약+아웃라인+전사원문 인라인)
README.md frontmatter 예시:
---
source: "https://youtube.com/watch?v=VIDEO_ID"
title: "영상 제목"
date: 2026-03-14
language: ko
model: small
duration: "12:34"
tags: [youtube, transcription]
---
rm -rf "$TMPDIR"
남기는 파일: README.md (요약+전사 원문 인라인)
삭제하는 파일: MP3, WAV, transcript.txt 등 모든 중간 파일
| 모델 | 크기 | 속도 | 정확도 | 용도 |
|---|---|---|---|---|
| small | 462MB | ★★★★★ | ★★★☆☆ | 일상 전사 (기본) |
| medium | 1.5GB | ★★★☆☆ | ★★★★☆ | 높은 정확도 |
| large-v3 | 2.9GB | ★★☆☆☆ | ★★★★★ | 최고 정확도 |
모델 다운로드:
curl -L -o ~/.whisper/models/ggml-{small,medium,large-v3}.bin \
"https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-{모델명}.bin"
| 문제 | 원인 | 해결 |
|---|---|---|
| ytdl 다운로드 실패 | Private/멤버십 영상 | 공개 영상 URL로 재시도 |
| whisper 모델 없음 | 모델 파일 누락 | curl -L -o ~/.whisper/models/ggml-small.bin ... |
| 전사 품질 낮음 | small 모델 한계 | medium 또는 large-v3로 교체 |
| WAV 변환 실패 | ffmpeg 없음 | brew install ffmpeg |
| 한글 깨짐/미인식 | 언어 감지 실패 | -l ko 명시적 지정 |
| save_to 미지정 | 경로 인터뷰 미진행 | 반드시 인터뷰 후 진행 |
| ytdl 빌드 실패 | cmake 버전 이슈 | brew install cmake 후 재시도 |
source + 본문 첫 줄 양쪽 다--vad 옵션으로 정확도 향상