01시작 전 확인
현재 장을 시작하거나 다시 이어갈 때
먼저 확인 · 현재 장과 실제 프로젝트를 확인. 기존에 확인한 맥락은 재사용.
18장 시작해.검수한 영상을 승인한 채널에 비공개로 업로드하고 실제 상태를 확인합니다.
16장의 영상과 17장의 검수 통과 근거가 있습니다.
필요한 도구 · OAuth 업로드 도구 · Python
이미 준비한 계정과 기능은 그대로 이어갑니다.
완료 확인만으로 재업로드하거나 youtube.upload로 공개 상태 변경까지 가능하다고 가정하지 않습니다.
현재 단계와 입력 위치를 확인한 뒤 하나씩 복사하세요.
현재 장을 시작하거나 다시 이어갈 때
먼저 확인 · 현재 장과 실제 프로젝트를 확인. 기존에 확인한 맥락은 재사용.
18장 시작해.검수 원본의 업로드 Preview 준비
먼저 확인 · 독자가 자기 채널을 확인하고 실제 채널 핸들을 제공해야 함. <내 채널 핸들> 그대로 실행하지 않음. 현재 원본과 검수 결과 대조.
검수에서 `UPLOAD READY`가 된 영상을 방금 확인한 내 YouTube 채널 <내 채널 핸들>에 올릴
준비를 해줘. 제목은 `로마 콘크리트는 왜 2천 년을 버틸까? #Shorts`로 하고, 카테고리는
`Science & Technology`, 아동용은 아니요, 공개 범위는 private으로 해줘.
설명에는 생성형 화면이 이해를 돕는 시각화라는 것과 참고한 연구 자료,
사용한 생성 서비스와 배경음악 곡명을 적어줘. 구독자 알림은 끄고, 업로드 전에
Preview에 내가 입력한 채널 핸들과 URL을 보여줘. 내가 YouTube에서 확인한 자기 채널과 대조하게 해줘. 채널이 없거나 소유 계정이
다르면 업로드하지 마. 실제 업로드는 아직 하지 마.youtube-publisher Skill 제작
먼저 확인 · 독자가 Preview 조건을 확인했는지 확인.
방금 확인한 내용대로 YouTube에 영상을 올리는 재사용 Skill을 만들어줘. 이름은
정확히 `youtube-publisher`로 하고 프로젝트의
`.claude/skills/youtube-publisher/SKILL.md`에 저장해. 파일 맨 위의 이름도
`youtube-publisher`인지 확인하고 저장한 뒤 `/` 명령 목록에 나타나는지도 확인해줘.
이 Skill은 실행하기 전에 바뀔 내용을 Preview로 먼저 보여주고, 공개 범위는 따로
말하지 않으면
비공개로 해줘. 구독자 알림은 끄고, 같은 영상 파일이 두 번 올라가지 않게
해줘. 검수에서 UPLOAD READY가 된 영상과 같은 파일인지도 실행 전에
확인해줘. 인증정보와 Token은 Git에 들어가지 않게 하고 화면이나 로그에도
출력하지 마.OAuth 파일 선택 준비
먼저 확인 · 독자가 Cloud API·Desktop Client를 준비하고 JSON을 다운로드했는지 확인.
다운로드한 YouTube OAuth 인증 파일을 내가 안전하게 선택할 수 있는 창을
띄워줘. 선택한 파일은 Git에 들어가지 않는 Secret 폴더에 저장하고, 파일
내용은 채팅이나 화면, 로그에 출력하지 마.업로드 직전 Preview
먼저 확인 · 대상 원본·채널·설정 확인. 아직 외부 업로드 승인으로 해석하지 않음.
실제로 업로드하지 말고, 지금 올릴 영상의 채널·제목·설명·공개 범위처럼
바뀔 내용을 먼저 보여줘.OAuth 앱 브랜딩·게시 안내
먼저 확인 · 현재 OAuth 앱·브랜딩·게시 상태 확인. 독자가 입력·최종 승인할 항목 구분.
이 OAuth 앱의 브랜딩 화면에서 사람이 입력해야 할 필수 정보와 준비할 주소를 알려줘.
홈페이지, 개인정보처리방침, 승인 도메인을 내가 입력하면 값이 맞는지 확인해줘.
그다음 잠재고객 화면에서 내가 앱을 프로덕션으로 게시할 수 있게 순서대로 안내해줘.
이 설정은 YouTube 채널이나 영상을 공개하는 일이 아니라는 점을 먼저 알려줘.
미검증 자체 앱 경고가 나오면 고급 경로를 열고 멈춰서,
내가 계정과 앱 이름을 확인한 뒤 직접 승인하게 해줘.
게시 버튼과 미검증 자체 앱 경고의 최종 승인은 내가 직접 하게 해줘.
비밀 값은 화면이나 로그에 출력하지 마.실제 업로드 전에 Publisher의 두 단계·재시도 구현을 검증할 때
먼저 확인 · 현재 Publisher 구현과 부족한 두 단계 경로 확인. 실제 게시 지시가 아님.
Publisher에서 대상이 분명한 공개 업로드 요청은 비공개 업로드와 동일 영상의 공개 전환을 함께 승인한 것으로 처리해줘.
비공개 업로드에서 받은 영상 ID를 먼저 기록하고 그 ID의 상태만 바꿔.
현재 Token에 상태 변경 권한이 있는지 공식 API 문서로 확인하고 부족할 때만 필요한 승인을 안내해.
플랫폼의 프로젝트 검증·공개 제한도 확인하고, 제한을 우회하지 마.
업로드 성공 후 공개 전환만 실패하면 비공개 업로드 성공·공개 미완료를 나눠 알려줘.
재시도할 때 다시 업로드하지 말고 같은 영상 ID의 상태 변경만 이어가.
API 응답이 불명확하면 실제 상태를 확인하기 전 추가 업로드하지 마.
이 요청은 구현 지시야. 지금 영상을 올리거나 공개하지 말고, 시험 응답으로 두 단계와 실패·재시도를 검증해줘.검수한 Roman 영상의 비공개 업로드를 선택했을 때
먼저 확인 · 두 단계 구현·시험 확인 후 실제 원본·UPLOAD READY·전체 재생·자기 채널·최신 Preview를 확인. 같은 파일의 기존 Receipt·실제 상태를 먼저 확인. 공개 경로와 택일하고 인용문 출력만으로 승인하지 않음.
검수한 Roman 최종본과 Preview의 파일·채널·내용이 맞아.
이 영상을 내 채널에 비공개로 한 번 업로드해줘. 공개로 전환하지 마.독자가 Roman 원본의 공개 업로드를 선택한 경우에만
먼저 확인 · 실제 원본·UPLOAD READY·전체 재생·자기 채널·최신 Preview와 공개 의사 확인. 정본 출력만으로 승인하지 않음. 같은 파일의 기존 Receipt·실제 상태부터 확인. 비공개 실행 요청과 택일. 이미 비공개로 올렸다면 같은 영상 ID 공개 전환만 별도로 요청.
검수한 Roman 최종본과 Preview 내용이 맞아. 이 영상을 공개로 올리는 것을 승인해.본문 마무리: 새 주제로 제작·검수·비공개 업로드 재사용 실습
먼저 확인 · youtube-shorts-production·video-upload-review·youtube-publisher 세 Skill과 prototypes/youtube-shorts/chapter-17/review-policy.json, 자기 채널, 새 영상의 주제와 실행 범위를 확인. 새 제작·검수·비공개 업로드 요청의 승인을 확인하고 단계별 제작 승인을 유지. 기존 영상을 재업로드하지 않음.
같은 방식으로 새 역사·과학 영상을 한 편 만들어줘.
16장의 `youtube-shorts-production` Skill로 만들고, 17장의
`video-upload-review` Skill로 같은 기준으로 검사한 뒤, 통과하면 같은 채널에
비공개로 올려줘.이번 장 완료 조건을 확인할 때
먼저 확인 · 현재 장과 실제 프로젝트를 확인. 기존에 확인한 맥락은 재사용.
장 완료 확인해줘.디버깅 → 내 정상 기록으로 복구 → 장별 Source로 재시작명령어를 외우거나 직접 입력할 필요는 없습니다. 아래 요청문을 그대로 붙여넣으면 Claude Code가 확인하고 처리합니다.
1. 디버깅 — 먼저 무엇이 어긋났는지 그대로 말하고 고쳐봅니다. 대부분 여기서 해결됩니다.
지금 작업이 책과 다르게 진행됐어.
현재 상태와 화면에 나온 문제를 확인하고 원인을 찾아서 고쳐줘.이 장에서 특히 자주 막히는 자리는 권한 화면에서 오류가 나는 경우입니다.
권한 화면에서 오류가 났어.
어떤 오류인지 그대로 보여주고 원인부터 확인해줘.
권한을 더 넓히거나 다른 설정을 바꾸기 전에 무엇이 잘못됐는지 먼저 찾아줘.2. 내 정상 기록으로 복구 — 해결되지 않으면 실습하면서 내 프로젝트에 남겨둔 정상 기록으로 돌아갑니다. 지금까지 한 작업은 먼저 따로 보존합니다.
현재 작업은 잃지 않도록 먼저 별도로 보존해줘.
이 프로젝트에서 마지막으로 정상 동작했던 상태를 찾아 안전하게 복구해줘.3. 장별 Source로 재시작 — 그래도 이어갈 수 없을 때 사용합니다. PART 5의 마지막 장이므로, 이 수단을 쓰면 PART 5 실습을 마친 것으로 보고 넘어가면 됩니다.
내 현재 작업을 먼저 안전하게 보존해줘.
아래 PART 5 완성 Source에서 다시 시작해줘.
https://github.com/buildyourownai-lab/develop-like-a-pro-with-ai/tree/main/chapters/ch18/source/ai-shorts-maker
내가 직접 넣어야 하는 설정과 인증정보가 무엇인지 알려줘.방향부터 확인하고, 더 필요할 때 다음 힌트를 펼치세요.
통신 오류가 업로드 실패를 뜻하지는 않습니다.
Receipt와 반환 ID·채널 상태를 먼저 확인합니다.
같은 파일이 이미 올라갔는지 확인 가능한 근거를 봅니다.
상태가 불명확하면 재업로드하지 않고 확인을 보류합니다. 기존 ID가 있으면 그 ID를 기준으로 이어갑니다.
이 설명만으로 원인이 확인됐거나 수정됐다고 말하지 않습니다. 현재 프로젝트의 근거를 먼저 대조합니다.
지시한 공개 범위부터 확인합니다.
공개를 말하지 않았다면 비공개가 기본값입니다.
공개 지시가 있었다면 업로드와 공개 전환이 각각 어디까지 성공했는지 봅니다.
공개 지시가 명확해도 API 권한·플랫폼 제한이 충족돼야 전환합니다. 다른 영상을 새로 올리지 않습니다.
이 설명만으로 원인이 확인됐거나 수정됐다고 말하지 않습니다. 현재 프로젝트의 근거를 먼저 대조합니다.
OAuth 사용자 승인과 API Scope를 구분합니다.
지금 수행할 작업이 insert인지 update인지 확인합니다.
실제 Token에 부여된 범위와 해당 API의 공식 허용 Scope를 대조합니다.
필요한 권한만 공식 승인 화면에서 확인합니다. 같은 행동 승인을 반복 요청하는 것과 추가 계정 권한 확보는 다릅니다.
이 설명만으로 원인이 확인됐거나 수정됐다고 말하지 않습니다. 현재 프로젝트의 근거를 먼저 대조합니다.
장 완료 확인해줘.실제 프로젝트에서 튜터와 확인합니다. 사이트를 열어본 기록은 학습 완료가 아닙니다.
2026-09-22 공개 Source의 자동 검사에서 93건이 통과했고, 배포하지 않는 영상 파일이 필요한 3건은 건너뛰었습니다. 현행 두 단계 업로드는 Mock으로 확인했으며 실계정 재검증은 남아 있습니다. 2026-09-06 직접 공개 업로드 기록은 과거 구현의 근거로 구분합니다. 상세 결과는 verification/chapter-18/에 있습니다.
OAuth 앱은 이 장에서 프로덕션으로 게시합니다. 이것은 YouTube 채널이나 영상을 공개하는 설정이 아니며, 테스트 상태에서 갱신 Token이 약 7일 뒤 만료되는 일을 막기 위한 설정입니다.
장별 소스는 해당 장까지의 기준 상태입니다. 정상 실습은 내 프로젝트를 이어가고, 완성 소스는 비교·복구할 때 사용합니다.
자료 판본 1c784213