LESSON 08

시리즈로 운영하기

여러 편 묶기, 서브에이전트에게 맡기기, 큐+드레이너, 재사용 라이브러리

오늘의 목표

여러 편을 한꺼번에 제출·다운로드하고, 기계적인 단계를 서브에이전트에게 맡기고, 채널 일일 한도를 큐로 넘기고, 스킬 파일로 시리즈를 운영하는 주간 루틴을 만듭니다.

예상 소요 시간 약 50분

내 컴퓨터:

처음부터 세 편을 돌리지 않아도 됩니다. 먼저 두 번째 편(7강의 volcano) 하나를 4~6강 방식으로 끝까지 만들어 보고, 익숙해진 뒤에 이 강의 "묶어서 처리"를 시도하세요. 용어: 서브에이전트는 클로드가 단순 반복 일을 맡기는 보조 클로드, 큐는 "올릴 목록"을 적어 둔 텍스트 파일, 드레이너는 그 목록을 순서대로 올려 주는 스크립트입니다.

여러 편을 한꺼번에 묶는 이유

편마다 대화를 오가며 제출·대기·다운로드를 반복하면 시간이 편 수만큼 늘어납니다. SKILL.md **§9(여러 편을 싸게 만드는 요령)**의 핵심은 묶어서 처리하는 것입니다.

  • 영상 제출을 전부 먼저, 썸네일은 뒤에 몰아서 — Flow 의 모드 설정이 계정 전체에 걸리기 때문입니다.
  • 다운로드도 프로젝트 단위로 — 편이 끝날 때마다 받지 말고, 여러 프로젝트 URL 을 모았다가 한 번에.
  • 시리즈 단위로 대화 — 9편이면 "9편 다 제출해줘"처럼 한 번에 시키는 게, 편마다 오가는 것보다 훨씬 쌉니다.

기계적인 단계는 서브에이전트에게 (더 해보기 · 선택)

대본·컷 계획·최종 시트 확인은 사람(또는 상위 모델)이 하고, 더빙·제출·다운로드·정리·조립·검사·업로드 큐는 서브에이전트(가벼운 모델)에게 맡깁니다. 서브에이전트에게 시킬 때 꼭 넣을 두 문장이 있습니다.

  1. "긴 대기는 반복 확인하지 말고, 아래 같은 대기 명령 한 번으로" — Flow 생성 대기(3~5분)처럼 시간이 걸리는 단계를 반복 확인하며 대화 턴을 낭비하지 않습니다.
  2. "결과를 지어내지 말 것" — 스크립트 출력(점수, 파일 개수, 통과 여부)을 실제로 읽고 보고하게 합니다. 특히 qa_gate·cutplan_check 의 점수는 절대 짐작해서 말하지 않게 합니다.

Code 탭에서는 "3~5분 기다렸다가 결과만 알려줘"라고 시키면 됩니다. 직접 쓰려면:

터미널로도 할 수 있어요 — 대기 명령
while (-not (Test-Path scratch\flow_tools\rainbow_done.flag)) { Start-Sleep -Seconds 30 }
until [ -f scratch/flow_tools/rainbow_done.flag ]; do sleep 30; done

(실제 완료 플래그 파일명은 스크립트 출력을 보고 맞춰 씁니다 — 위는 패턴 예시입니다.)

큐 + 드레이너, 채널 한도 이월

6강에서 쓴 큐 파일(scratch/flow_tools/aside_queue.txt)에 여러 편을 한 번에 채웁니다.

Code 탭에서는 "이 줄들을 큐 파일에 추가하고 드레이너를 돌려줘. 그 전에 업로드 내용을 먼저 보여주고 내 확인을 기다려줘"라고 시킵니다(프롬프트 6-3 과 같은 방식 — 업로드는 사람이 최종 확인).

터미널로도 할 수 있어요 — 큐 채우기·드레이너
"volcano long main`nvolcano short main`nrainbow2 long main" | Out-File -Append -Encoding utf8 scratch\flow_tools\aside_queue.txt
printf 'volcano long main\nvolcano short main\nrainbow2 long main\n' >> scratch/flow_tools/aside_queue.txt
python scripts/drain_uploads.py
python3 scripts/drain_uploads.py

유튜브 채널당 하루 업로드 한도(대략 20~25건)에 걸리면 드레이너가 그 채널을 건너뛰고 남은 줄은 큐 파일에 그대로 남깁니다. 다음 날 drain_uploads 를 다시 실행하면 이어서 올라갑니다. 여러 채널에 나눠 올리는 시리즈라면 한 채널이 막혀도 다른 채널 줄은 그대로 진행됩니다.

Drive 재사용 라이브러리 (더 해보기 · 선택)

2강에서 설정한 DRIVE_LIB 환경변수가 있으면, prep_more.py 가 완성 클립을 자동으로 Google Drive 에 백업합니다. 이후 편에서 비슷한 장면(예: 같은 교실 배경)이 필요할 때 새로 생성하지 않고 재사용할 수 있어 크레딧을 아낍니다.

주간 루틴

요일할 일시간
월다음 편 주제·대본 확정(7강 구조), 사실 확인40분
화컷 계획 작성·검사, 여러 편이면 한꺼번에 Flow 제출40분
수받기·정리, 조립·검사, 시트로 4가지 체크포인트 확인40분
목큐에 넣고 drain_uploads 실행, 이전 편 반응 확인20분
주말유튜브 스튜디오에서 이탈 지점 확인 → 다음 대본 훅에 반영15분

흔한 문제

막히면 화면에 나온 에러 메시지를 통째로 클로드에게 보여 주고, "원인을 설명하고 고치기 전에 계획부터 알려줘"라고 시킵니다. 아래 표는 그때 클로드(와 내가)가 참고하는 목록입니다.

증상원인·처방
cutplan_check ✗ "사람이 나오는데 CHARACTERS 문구를 안 썼다"프롬프트에 사람을 직접 묘사함 → {C2} 등 상수로 바꾸거나 사물만 나오는 diagram 으로
✗ "헤드라인 N자"썸네일 두 줄 합쳐 14자 넘음 → 줄임
make_thumb "펀치라인 폰트가 작다"둘째 줄 글자가 길어 120px 아래로 줄어듦 → 둘째 줄을 4~6자로
qa_gate "밀도 … 미달(정지 %)"그 시각의 컷이 거의 안 움직임 → map 에서 움직임 있는 컷으로 바꾸고 --deploy 다시
받은 파일이 프롬프트 수보다 적음Flow 가 빼먹음 → 그 프롬프트만 재제출
인물이 컷마다 다름characters 문구가 짧음 → 옷 색·머리·피부 명시
Studio 다이얼로그가 「Creating link…」에서 멈춤그 채널 일일 한도 → 내일
Aside 탭 id 오류 "No open browser tab"Aside 를 다시 열면 id 가 바뀜 → 2강의 명령으로 다시 읽어 FLOW_TAB(setx / ~/.zshrc)과 channels.studio_tab_hint 갱신
bake_lines 가 esbuild 를 못 찾음ESBUILD 환경변수가 이 터미널에 없음 → 2강 따라하기 6의 영구 저장 명령을 다시
TYPECAST_API_KEY 없음.env.local 이 키트 폴더 바로 안에 없음(다른 폴더에서 실행했거나 파일 이름이 .env.local.txt)
Aside 를 못 쓰는 환경npm install && npx playwright install chromium 후 Playwright 폴백(SKILL.md §8) — 탭 id 대신 URL 일부나 탭 번호를 씀

Code 탭에서 이렇게 시키세요

기본 방법: 클로드 데스크탑 앱의 Code 탭. 키트 폴더(clay-episode-kit)를 프로젝트 폴더로 열고, 아래 프롬프트를 붙여 넣어 클로드에게 시킵니다. 클로드가 명령을 실행하거나 파일을 바꾸려고 권한을 물으면, 무엇을 하려는지 읽고 허용합니다(모르겠으면 "이게 뭐 하는 거야?"라고 되물어 보세요). 끝나면 '③ 결과 확인'을 눈으로 확인합니다. 명령어를 직접 치는 방법은 맨 아래 '터미널로도 할 수 있어요' 에 접어 두었습니다.

이 단계는 clay-episode 스킬의 "여러 편을 싸게 만드는 요령" 절을 그대로 실천하는 것이고, 문제가 생기면 스킬 안의 "이럴 땐"과 "Aside 없이" 절을 참고합니다.

프롬프트 8-1 · 세 편 한꺼번에 제출 (더 해보기 · 편이 둘 이상일 때)

① 준비 (사람이 먼저)

  • 어디서: 키트 폴더에서 데스크탑 앱 Code 탭을 열고 이 폴더를 프로젝트 폴더로 고릅니다. Aside 창도 미리 띄워둡니다
  • volcano·ocean·star_sky 세 편 모두 컷 계획 검사(7강, "10.0점 통과")를 통과한 상태여야 합니다
  • Aside 앱이 켜져 있고 Flow 탭이 로그인돼 있는지 확인합니다

② 스킬 (붙여 넣기)

#17 프롬프트 8-1🔴 고급

clay-episode 스킬을 읽고, volcano·ocean·star_sky 세 편을 한꺼번에 Flow(구글 영상 생성 서비스)에 제출해줘. 컷 계획 검사는 셋 다 이미 통과했다고 가정해. 영상 컷 제출을 세 편 다 먼저 끝내고, 썸네일 제출은 맨 마지막에 세 편 몰아서 해줘(Flow 의 모드 설정이 계정 전체에 걸리기 때문). 편마다 나온 프로젝트 URL(영상·썸네일)을 표로 정리해서 보여주고, 값을 지어내지 마. 제출만 하고 여기서 멈춰 — 대기와 완료 확인은 내가 Aside 창을 직접 보고 할게.

③ 결과 확인

  • 클로드가 권한을 물으면 어떤 명령·파일인지 읽고 허용했는지(모르는 것은 허용 전에 물어봅니다)
  • 편마다 나온 프로젝트 URL(영상·썸네일) 표를 확인합니다
  • Aside 창에서 세 편 타일이 다 찰 때까지 기다립니다

프롬프트 8-2 · 세 편 한꺼번에 받기·정리

① 준비 (사람이 먼저)

  • 8-1 제출이 끝나고 Aside 창의 타일이 다 찼어야 합니다
  • scratch/flow_tools/flow_projects.txt 에 세 편의 프로젝트 URL 줄이 있는지 확인합니다

② 스킬 (붙여 넣기)

#18 프롬프트 8-2🔴 고급

clay-episode 스킬을 읽고, volcano·ocean·star_sky 세 편의 Flow 프로젝트를 각각 다운로드하고(프로젝트 URL 은 scratch/flow_tools/flow_projects.txt 에서 편 키 줄과 편키_thumbs 줄을 읽어서 써) 컷 키 이름으로 정리해줘(영상은 assets/flow/<편 키>/, 썸네일은 assets/flow/<편 키>/thumb/). 긴 대기가 필요하면 반복 확인하지 말고 sleep 루프 한 번으로 기다린 뒤 결과만 보고해. 편마다 옮긴 파일 개수와 빠진 컷이 있는지 표로 보여주고, 점수나 개수를 지어내지 말고 스크립트 출력만 그대로 인용해. 여기까지만 하고 멈춰 — 조립·검사·업로드는 내가 편별로 따로 요청할게.

③ 결과 확인

  • 클로드가 권한을 물으면 어떤 명령·파일인지 읽고 허용했는지(모르는 것은 허용 전에 물어봅니다)
  • 편마다 assets/flow/<key>/ 폴더 파일 개수를 직접 세어 확인합니다
  • 사람이 확인해야 할 체크포인트: Claude가 "N편 모두 완료"라고 요약 보고해도, 실제로 assets/flow/<key>/ 폴더별 파일 개수와 qa_gate 점수를 편마다 직접 한 번씩 훑어봅니다 — 묶어서 처리할수록 중간에 조용히 빠진 편을 놓치기 쉽습니다.

🧪 실습

한 편 더 만들기 실습 — 세 편이 아니라 두 번째 편 하나로 해도 충분합니다.

  • 7강에서 만든 volcano(또는 내 주제 한 편)를 5강 방식으로 Flow 에 제출하고 assets/flow/volcano/ 에 컷 개수가 맞는지 직접 센다
  • 6강 방식으로 조립·검사하고, 시트의 4가지 체크포인트를 눈으로 확인한다
  • 큐 파일(scratch/flow_tools/aside_queue.txt)을 열어 volcano long main·volcano short main 두 줄을 직접 보고, 업로드 전 제목·설명을 사람이 확인한다
  • 업로드 후 YouTube Studio 에서 두 번째 편의 롱폼·쇼츠가 보이는지 확인한다
  • 이번 주 주간 루틴 표를 캘린더에 옮겨 적는다

마지막 체크리스트

  • 여러 편을 영상 먼저·썸네일 나중 순서로 제출하는 이유를 설명할 수 있다
  • 서브에이전트에게 폴링 금지·결과 날조 금지 두 문장을 넣어 시켰다
  • 큐 파일에 여러 줄을 넣고 채널 한도 이월을 경험했다(또는 원리를 이해했다)
  • 주간 루틴을 캘린더에 넣었다
  • 흔한 문제 표를 한 번 훑었다

이 과정을 마치며

여러분에게 남은 것:

  • 내 주제·캐릭터·브랜드로 채운 kit.config.json
  • data/longform/<key>.json + PLANS[<key>] — 편마다 새로 쓰지만 구조는 같은 대본·컷 계획
  • 완성한 첫 편(롱폼+쇼츠+썸네일 3종)과 두 번째 편 이상의 경험
  • .claude/skills/clay-episode/SKILL.md — 다음 편도 /clay-episode 로 그 단계만 불러 쓰는 습관
  • 큐 파일 + 주간 루틴 — 시리즈로 굴러가는 운영 리듬

다음 편을 시작하려면 7강처럼 new_episode.py 로 뼈대를 만들고 컷 계획을 쓰면 됩니다. 두 번째 편부터는 이 8강 전체가 20~30분이면 끝납니다.