내 주제로 대본과 컷 계획 쓰기
new_episode.py, 대본 구조, 카드, PLANS 블록
new_episode.py로 새 편 뼈대를 만들고, 잘 먹힌 대본 구조를 따라 script_v2를 채우고, top10_plan.py에 PLANS 블록을 직접 씁니다.
예상 소요 시간 약 60분
Code 탭에서 이렇게 시키세요
기본 방법: 클로드 데스크탑 앱의 Code 탭. 키트 폴더(
clay-episode-kit)를 프로젝트 폴더로 열고, 아래 프롬프트를 붙여 넣어 클로드에게 시킵니다. 클로드가 명령을 실행하거나 파일을 바꾸려고 권한을 물으면, 무엇을 하려는지 읽고 허용합니다(모르겠으면 "이게 뭐 하는 거야?"라고 되물어 보세요). 끝나면 '③ 결과 확인'을 눈으로 확인합니다. 명령어를 직접 치는 방법은 맨 아래 '터미널로도 할 수 있어요' 에 접어 두었습니다.
이 단계는 clay-episode 스킬의 "대본 쓰기"와 "컷 계획 쓰기" 절을 내 주제에 그대로 적용하는 것입니다. 전체를 손으로 쓰기보다, 소재를 주고 Claude Code 가 구조에 맞춰 초안을 뽑게 한 뒤 사실만 검토하는 게 빠릅니다. 4강에서는 이미 쓰인 예시 계획을 검사만 했지만, 이번에는 대본과 계획 자체를 만듭니다.
프롬프트 7-1 · 대본 채우기
① 준비 (사람이 먼저)
- 어디서: 키트 폴더에서 데스크탑 앱 Code 탭을 열고 이 폴더를 프로젝트 폴더로 고릅니다
-
new_episode.py로 뼈대를 미리 만들어둡니다(따라하기 1) - 주제·키워드를 미리 정해 둡니다(예: 화산 / 마그마·분화구·용암·화산재)
② 스킬 (붙여 넣기)
clay-episode 스킬을 읽고, data/longform/volcano.json 의 script_v2 를 채워줘. 주제는 "화산은 왜 터질까", 키워드는 마그마·분화구·용암·화산재 네 개. 대본은 훅→반응→전환→핵심→키워드 4개→반전→복습→콜백 순서(23~28줄)로 쓰고, 화자 태그 [[child]]/[[adult]]/[[friend]] 를 붙여줘. script_v2.cards 에 키워드 4개의 카드도 같이 채워줘. 단정적인 의학·안전 약속 문구는 넣지 마. 다 쓰면 대본 전체를 보여주고 멈춰 — 사실 관계(화산 폭발 원리)는 내가 직접 검토한 뒤 컷 계획은 따로 시킬게.
③ 결과 확인
- 클로드가 권한을 물으면 어떤 명령·파일인지 읽고 허용했는지(모르는 것은 허용 전에 물어봅니다)
- 대본이 훅→반응→전환→핵심→키워드 4개→반전→복습→콜백 8단계 구조를 따르는지
- 사람이 확인해야 할 체크포인트: 원리 설명(예: 화산 폭발 원리)이 사실과 맞는지 내가 직접 읽고 검토합니다 — 컷 계획은 대본이 확정된 뒤 7-2 로 따로 시킵니다.
프롬프트 7-2 · 컷 계획(PLANS 블록) 쓰기 — 컷과 줄 배정
용어: PLANS 블록은 scripts/top10_plan.py 안에 적는 "이 편의 컷 설계도"입니다. 이 단계에서는 컷 10~12개와 대본 줄 배정(new·map)만 먼저 쓰고, 썸네일(thumb)은 7-3 에서 따로 합니다.
① 준비 (사람이 먼저)
- 7-1 의 대본이 확정돼 있어야 합니다(사실 검토 완료)
- 어디서: 키트 폴더에서 데스크탑 앱 Code 탭을 열고 이 폴더를 프로젝트 폴더로 고릅니다
② 스킬 (붙여 넣기)
clay-episode 스킬을 읽고, 편 키 volcano 의 컷 계획을 scripts/top10_plan.py 에 PLANS['volcano'] 로 추가해줘. 이번에는 new(컷 10~12개)와 map(대본 줄 전부에 컷 키 배정)만 쓰고, thumb 은 임시로 PLANS['rainbow'] 것을 복사만 해 둬. 기존 PLANS['rainbow'] 를 참고 패턴으로 쓰되, 사람이 나오는 컷은 반드시 {C2}/{MP}/{F2} 같은 kit.config.json 의 캐릭터 상수로만 묘사해(직접 "a boy" 식으로 쓰지 마). 다 쓰면 컷 키와 담당 줄 번호를 표로 보여주고 멈춰 — 썸네일과 검사는 7-3 으로 따로 시킬게.
③ 결과 확인
- 클로드가 권한을 물으면 어떤 명령·파일인지 읽고 허용했는지(모르는 것은 허용 전에 물어봅니다)
- 표에서 대본 1~마지막 줄이 빠짐없이 어떤 컷에든 배정돼 있는지 눈으로 훑습니다
- 사람이 확인해야 할 체크포인트: PLANS 블록의
new딕셔너리에 사람 묘사가{C2}같은 상수가 아니라 직접 텍스트("a boy", "a girl")로 새어 들어가지 않았는지 코드를 눈으로 한 번 읽습니다.
프롬프트 7-3 · 썸네일 쓰고 검사 통과
① 준비 (사람이 먼저)
- 7-2 가 끝나 컷 표를 확인했어야 합니다
- 썸네일 헤드라인 두 줄(합쳐 14자 이하)을 미리 생각해 둡니다. 예: 「화산은」/「왜 터져?」
② 스킬 (붙여 넣기)
clay-episode 스킬을 읽고, PLANS['volcano'] 의 thumb=TH(...) 를 volcano 에 맞게 고쳐줘. a 는 헤드라인 두 줄(합쳐 14자 이하, 둘째 줄 폰트 120px 이상), b 는 어른이 문서를 든 모습과 키워드 패널, c 는 얼굴 클로즈업과 단색 배경으로. 다 쓴 다음 top10_plan.py → cutplan_check.py 를 돌려서 10.0점 나올 때까지 반복해줘. 점수를 지어내지 말고 스크립트 출력 그대로 알려줘. "10.0점 통과"가 나오면 멈춰 — 다음 단계(Flow 제출)는 내가 시킬게.
③ 결과 확인
- 클로드가 권한을 물으면 어떤 명령·파일인지 읽고 허용했는지(모르는 것은 허용 전에 물어봅니다)
-
cutplan_check가 실제로 "10.0점 통과"를 출력했는지 화면을 직접 봅니다 - 헤드라인 두 줄이 합쳐 14자 이하인지 내가 직접 글자 수를 셉니다
대본 구조 — 2328줄, 2분2분 30초
| 순서 | 줄 수 | 내용 |
|---|---|---|
| 1 훅 | 1 | 아이의 엉뚱하거나 절실한 질문 |
| 2 반응 | 2 | 어른 한 줄, 친구 한 줄 — 살짝 틀린 추측이면 더 좋음 |
| 3 전환 | 1 | 「같이 볼까요?」(나레이터) |
| 4 핵심 | 1~2 | 원리 한 문장 |
| 5 키워드 | 3~6 | 키워드 하나에 한 줄 「키워드. 한 줄 뜻.」 + 사이사이 아이·친구 리액션 |
| 6 반전 | 1~2 | 흔한 오해 바로잡기 / 조심할 점 |
| 7 복습 | 2 | 키워드 나열 「A, B, C. 다 ○○.」 |
| 8 콜백 | 1 | 1번 질문에 대한 아이의 한 줄 답 |
규칙
- 줄 앞에 화자 태그
[[child]][[adult]][[friend]](목소리 선택용, 자막에는 안 나감). 태그 없는 줄은 나레이터입니다. - 한 줄 = 한 문장~두 문장, 7초 이내. 어려운 말은 바로 다음 줄에서 아이 말로 풀어줍니다.
- 밝고 안전하게: 무섭거나 어두운 묘사, 의료·성적·등급 약속은 쓰지 않습니다.
- JSON 한 줄 형식:
{"ch": 0, "i": 7, "text": "굴절. 빛이 물방울에서 휘어져요.", "g": 7}(i와g는 같은 줄 번호).
카드
5번 키워드 줄에는 화면에 뜨는 카드를 답니다. script_v2.cards 배열에 추가합니다.
{ "line": 7, "title": "마그마", "subtitle": "땅속 녹은 돌이에요" }
컷 계획 — PLANS 블록
(이 블록은 프롬프트 7-2·7-3 으로 클로드가 씁니다. 아래는 클로드가 무엇을 어떻게 쓰는지, 내가 결과에서 무엇을 확인할지 알려 주는 설명입니다.)
scripts/top10_plan.py 를 열어 def build 바로 위에 PLANS['volcano'] = dict(new={...}, map={...}, thumb=TH(...)) 블록을 추가합니다. PLANS['rainbow'](4강에서 쓴 예시 블록)를 복사해서 고치는 게 가장 빠릅니다.
new — 컷 10~12개
- 사람이 나오는 컷은
scene(), 사물만 보이는 컷은diagram()함수를 씁니다. - 사람은 반드시
{C2}{MP}{DP}{F2}{GRM}{TEACH}로만 씁니다. "a boy", "children" 같이 직접 쓰면 검사에서 떨어지고, 통과해도 컷마다 다른 사람이 나옵니다. 상수만 쓰고 직접 묘사하지 않습니다. - 한 컷 = 한 동작 + 한 장소. 카메라는 "gentle slow push in" 정도. 6초에 다 보여야 합니다.
- 금지: 어두운 말(dark, night, scary…), 사물 위 글자·로고·간판(Flow 가 가짜 글자를 그립니다), 사람 수 애매한 표현(many children).
'Nvo_ask': scene(f"{C2} pointing at a small clay volcano model asking {MP} with wide curious eyes, in a bright clay classroom."),
'Nvo_magma': diagram("glowing warm orange clay magma bubbling gently inside a cutaway of a clay mountain, bright pastel colors."),
map — 대본 줄 1..N 전부에 컷 키
이웃한 줄이 같은 컷을 써도 됩니다. 「같이 볼까요?」·핵심 원리 줄은 diagram 컷이 어울립니다. 줄마다 1:'Nvo_ask', 2:'Nvo_mom', … 처럼 적거나, 연속된 줄은 dict.fromkeys 로 몰아 쓸 수 있습니다.
map={**dict.fromkeys(range(1,3), 'Nvo_ask'), **dict.fromkeys(range(5,7), 'Nvo_magma'), ...}
thumb=TH(...) — 썸네일 3종
TH(a_flow, a_head, panel, b_flow, b_head, doc, c_flow, c_bg, c_head) 순서로 9개 인자를 줍니다.
- a: 아이 미디엄샷(오른쪽에 배치) — 헤드라인 두 줄, 합쳐 14자 이하, 둘째 줄(빨간 박스) 폰트 120px 이상:
[['화산은', 88, 'WHT'], ['왜 터져?', 150, 'BOX']] - b: 어른이 문서·물건을 든 모습(
{LT}로 왼쪽 배치),panel은 키워드 두 줄['화산', '땅속의 비밀', 'right'],doc은{'title': '과학 관찰 일기', 'rows': [3줄], 'hl': 강조줄} - c: 얼굴 클로즈업,
c_bg는 단색 문구("bright sunny yellow")
값들은 상수만 조합하고 {C2} 같은 상수를 직접 새로운 인물 묘사로 바꾸지 않습니다.
한자 편은 옵션 (더 해보기 · 선택)
한자 어원 편을 만들 때만 kit.config.json 의 topic.kind 를 "hanja" 로 바꿉니다. 카드는 ["漢字", "훈음"] 형태, 대본 4번 자리에 「글자 풀이 — …라고 풀어요」 1~2줄이 들어가고, 썸네일 panel 은 ['漢字', '한글음', 'right'] 가 됩니다. examples/sample_episode.json 이 그 예시이고, 나머지 절차는 지금까지와 같습니다.
터미널로도 할 수 있어요
위 프롬프트가 하는 일을 직접 명령으로 치고 싶을 때 보세요. 운영체제 탭(Windows·macOS)에 맞는 명령을 씁니다.
따라하기 1: 새 편 뼈대 만들기
python scripts/new_episode.py volcano --word "화산"
python3 scripts/new_episode.py volcano --word "화산"
data/longform/volcano.json 이 생깁니다. --word 는 이 편의 주제어입니다. 이제 script_v2.lines 를 채웁니다.
🧪 실습
-
data/longform/volcano.json을 열어 대본을 소리 내어 처음부터 끝까지 읽어 본다 — 7초 안에 읽히지 않는 줄, 어려운 낱말이 풀리지 않은 줄에 표시한다 - 대본의 사실(화산 폭발 원리)을 믿을 만한 자료(백과사전·교과서)와 하나 이상 직접 대조한다
-
PLANS['volcano']의 컷 키와 담당 줄 표에서 줄이 빠지지 않았는지 확인한다 - 썸네일 헤드라인 글자 수를 세어 14자 이하임을 확인한다
-
cutplan_check의 "10.0점 통과" 화면을 직접 본다 — 통과 전에는 Flow 로 보내지 않는다(컷 하나 10크레딧)
오늘의 체크리스트
-
data/longform/volcano.json의script_v2가 구조 8단계를 따른다 -
PLANS['volcano']를top10_plan.py에 추가했다 -
cutplan_check가 "10.0점 통과"를 출력한다 - 썸네일 헤드라인이 14자 이하다
다음 강의
8강에서 여러 편을 묶어 제출·다운로드·업로드하는 시리즈 운영 방법을 다룹니다.