tutolisted
Install: claude install-skill dingmon1019/YoutubeAnalyzer
# /tuto — 유튜브 영상 → 근거 추적되는 작업 지식 (오케스트레이터)
`/tuto <video-url> [자연어 요청]` — 인터페이스는 이것 하나다.
**산출물 2개.** `evidence.json`(기계 정본) + `video.md`(사람용 문서). 자막 요약이
아니라 **화면을 판독**한다: 자막 값과 달라도 화면 값을 채택하고 불일치를 `conflict`로
보존하며, 또렷하지 않은 값은 추측 대신 `⚠️ 화면 확인 필요`로 남긴다.
**요청이 있으면 분석에서 멈추지 않는다** — 곧바로 이어 수행한다(설명·비교·적용·실행).
**어느 단계든 작업을 띄워 두고 "기다립니다"로 턴을 끝내지 마라 — 헤드리스는 종료된다.** 전경 Bash(timeout 600000)·전경 Agent로 실행한다.
**너는 오케스트레이터다 — 분석 파이프라인 중 이미지를 절대 Read하지 않는다.** 판독·합성은
일회용 서브에이전트가 자기 컨텍스트에서 수행하고 파일로 남긴다.
너는 vision-*.lines·patch.lines·video.md를 열어보지도, echo하지도 않는다. **모든 디스패치에
"직접 수행하라 — 하위 에이전트에 위임하지 마라"와 "출력은 반드시 `<cache_dir>` 아래에
쓴다 — 스크래치패드·임시 폴더 금지"를 넣는다.** **2단계 완료 직후** 본체가
`evidence.py "<cache_dir>" --check-lines "<cache_dir>/vision-map.lines" --min-ratio 0 &&
evidence.py "<cache_dir>" --check-lines "<cache_dir>/vision-zoom.lines" --min-ratio 0`로
vision-map.lines·vision-zoom.lines 존재를 확인한다 — 어느 한쪽이라도
exit 4(MISSING)면 올바른 경로로 즉시 재지시한다(1회).
**SKILL_DIR**: 이 문서 위치. **PROMPTS** = `<SKILL_DIR>/prompts`
(`prompts/transcribe.md`·`prompts/synthesize.md`). 명령은
`python "<SKILL_DIR>/scripts/<이름>.py"`(Windows — `python3` 금지).
## 파이프라인
**0. 프리플라이트 (세션 첫 호출만).** `setup.py --check` — exit 0=진행, exit 2=설치 안내.
**1. 패스1.** `analyze.py "<url>" > "<cache_dir>/pass1-report.txt"`(Bash timeout 600000).
STATUS·`== CACHE ==`·`== FRAMES ==`만 확인(자막 없으면 프레임 중심 진행, 30분
초과 WARNING이면 구간 지정 제안).
**1.5. 화면 가치 판별 (Agent, `model: "haiku"`, 전경).** `<cache_dir>/pass1-report.txt`를
Read해 판정: 화면에 설정값·코드·표·UI가 나와 읽어야 따라할