Communitygithub.com

설명 영상: 명령 하나로 원본부터 YouTube 예약 게시까지

단계마다 승인 게이트를 두고 전체 파이프라인을 돌리는 Claude Code용 YouTube 지휘 스킬: 페이퍼 편집, 펀치인, 릴스, 릴스 표지, 자막 애니메이션, 썸네일과 제목, 그리고 Metricool로 릴스와 본편 예약 게시.

설명 영상: 명령 하나로 원본부터 YouTube 예약 게시까지란 무엇인가요?

'설명 영상' 레시피 3단계(게시와 배포), beachyphotoandfilm-arch/video-skills. /youtube를 입력하거나 원본 영상을 넘기면 됩니다. 영상마다 상태 파일을 두어 어디서 멈추든 나중에 이어서 할 수 있습니다. 단계: DaVinci Resolve에서 NG 테이크와 공백을 잘라내는 페이퍼 편집, 펀치인 구도, 훅으로 시작하는 세로 릴스와 자막, 릴스별 전용 표지, Metricool로 Instagram·TikTok·YouTube Shorts 릴스 예약, 말에 맞춘 텍스트 애니메이션 오버레이, 1920x1080 썸네일 시안과 제목 아이디어, 마지막으로 YouTube 본편 예약 업로드. 당신의 승인 없이 두 단계를 연달아 실행하지 않습니다. macOS, Resolve, ffmpeg, whisper.cpp가 필요합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/beachyphotoandfilm-arch/video-skills/tree/HEAD/skills/youtube

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

YouTube 지휘자

여러 스킬을 기억하는 대신 하나의 명령으로 처리합니다. 영상을 촬영했다면, 이 스킬이 게시용 자산까지 모든 과정을 안내하며 각 게이트에서 승인을 받습니다.

설정: 다음을 입력하세요

플레이스홀더설명
<YOUR_FOOTAGE_DRIVE>원본 영상이 있는 위치 (예: /Volumes/<드라이브 이름>)
<YOUR_VIDEO_LIBRARY>완성된 파일을 저장할 위치 (예: ~/Videos/Finished)
<YOUR_LUT>모든 클립에 적용할 LUT (예: MyCamera_Log_to_Rec709.cube, 또는 표준 프로필 사용 시 none)
<YOUR_TIMEZONE>, <YOUR_POST_TIME>기본 스케줄링 시간대 (schedule-social 참고)

승인 없이 두 단계를 연속으로 실행하지 마세요. 모든 단계는 크리에이터의 판단이 필요하며, 잘못된 1단계는 이후 모든 과정을 망칩니다.

상태

비디오당 하나의 파일: drafts/videos/<slug>.json

{"slug":"my-video","title":"my video title",
 "footage":"<YOUR_FOOTAGE_DRIVE>/my video footage",
 "work":"/tmp/.../paperedit",
 "project":"My Video - Paper Edit",
 "stages":{"paper-edit":{"status":"approved","at":"YYYY-MM-DD","note":"v2, 10:16"},
           "punch-ins":{"status":"approved","at":"YYYY-MM-DD"},
           "reels":{"status":"approved","at":"YYYY-MM-DD"},
           "covers":{"status":"todo"},
           "schedule-reels":{"status":"todo"},
           "overlays":{"status":"pending"},
           "thumbnail":{"status":"todo"},
           "schedule-youtube":{"status":"todo"}}}

상태: todo → running → review (크리에이터 대기 중) → approved | skipped

"<이름> 비디오 계속하기" 요청 시: 상태 파일을 읽고, 현재 위치를 한 줄로 보고한 후 approved 또는 skipped가 아닌 첫 번째 단계부터 재개합니다. 새 비디오의 경우: 먼저 상태 파일을 만든 후 1단계부터 시작합니다.

작업 디렉토리는 여러 단계에 걸쳐 안정적으로 유지하세요. 트랜스크립트, segments-v2.json, cuts.json은 이후 모든 단계에서 재사용되므로 흩어지지 않도록 합니다.

단계

#단계스킬크리에이터 승인출력
1종이 편집paper-edit컷 목록, 타임라인새로운 Resolve 프로젝트의 Paper Edit v1 + v2 (tight)
2클로즈업paper-edit 9단계프레이밍 계획Paper Edit v3 (punch-ins)
3릴스video-reels각 릴스의 훅세로 타임라인, 완성: 푸티지 V1, 훅 카드 V2, 캡션 V3
3b릴스 커버reel-covers그리드 증명, 모든 헤드라인릴스당 고유 1080x1920 커버, 릴스 아이콘이 있는 그리드 뷰로 증명
4릴스 스케줄링schedule-social모든 캡션 및 시간Metricool 캘린더의 IG + TikTok + Shorts, 내일부터 매일, 각 게시물에 커버 포함
5오버레이video-overlays렌더링 전 클립 목록투명 .mov 클립 + FCPXML
6썸네일 + 제목video-thumbnails변형 선택1920x1080 PNG + 휴대폰 크기 증명 + 제목
7YouTube 스케줄링schedule-social제목, 썸네일, 설명Metricool 캘린더의 롱폼 비디오

릴스는 의도적으로 오버레이보다 먼저 진행됩니다. 릴스는 애니메이션이 필요 없으며, 크리에이터가 직접 트리밍 및 렌더링을 해야 게시할 수 있습니다. 일찍 처리하면 오버레이가 렌더링되는 동안 릴스가 게시됩니다. 오버레이는 가장 느린 단계이며 가장 덜 기다려집니다.

라이브 이벤트 또는 별도 오디오 촬영 (클립 옆 audio/ 폴더에 라펠 또는 레코더): 종이 편집 또는 릴스 전에 lapel-sync를 실행하세요. 이후 모든 단계에서 클립 오디오 대신 라펠 오디오를 사용합니다.

단계 실행 전에 해당 스킬을 로드하세요. 이 파일은 실행 순서와 게이트 역할을 하며, 각 스킬이 실제 수행 방법을 담고 있습니다.

게이트: 보여줄 내용과 질문

  1. 종이 편집. 원본 길이, v1, v2, 컷 수, 주목할 만한 컷과 그 이유를 보여줍니다. 질문: "여기서 유지하고 싶은 부분이 있나요?" 크리에이터가 검토한 후: "컷이 확정되었나요?" 오버레이와 릴스가 단어 타이밍에 의존하므로 이 단계가 완료되어야 이후 작업을 시작할 수 있습니다.
  2. 클로즈업. 크리에이터가 트리밍한 v2(segments-locked.json)에서 v3를 만들고, 요청 없이 v2 그레이딩을 v3에 복사합니다(paper-edit 9단계). 비디오가 실제 프로젝트에 대해 이야기하는 경우 사진이 있는지 묻고, 흰색 배경 카드로 V2에 배치합니다(paper-edit 11단계). 변경 횟수(약 20-40초마다 하나), 클로즈업되는 라인 목록을 보여줍니다. 질문: "이 지점들이 적절한 순간에 적용되었나요?"
  3. 릴스. 비디오에 댓글 키워드 CTA가 있는 경우 별도의 릴스 CTA 클립을 촬영합니다("아래 KEYWORD를 댓글로 남기면 보내드립니다..."). 상태 파일에 reel_cta가 있으면 해당 비디오의 모든 릴스를 해당 클립으로 끝냅니다(연결된 cta.json의 입출력 지점, silencedetect 기반, whisper가 짧은 클립에서 최대 2초까지 오류날 수 있으므로). 댓글 키워드는 캡션에도 포함됩니다. 각 릴스를 훅 라인 + 이후 내용, 텍스트 훅 카드 문구와 함께 보여줍니다. 질문: "이 훅이 스크롤을 멈추게 하나요?" 더 적고 더 나은 비트가 좋습니다. 그런 다음 크리에이터가 트리밍 및 렌더링하도록 넘깁니다. 캡션과 훅 카드는 이미 타임라인에 있습니다. 그동안 오버레이를 시작하세요. 아무도 기다릴 필요가 없습니다. 3b. 릴스 커버. 기본적으로 이 단계를 건너뛰지 마세요. 릴스 훅이 승인되는 즉시 *"다음: 릴스 커버"*라고 말하고 reel-covers를 시작합니다. 렌더링이 필요 없고 훅과 트랜스크립트만 필요하므로 트리밍 중에 수행합니다. _grid-phone.png(릴스 아이콘 포함)와 각 헤드라인을 보여줍니다. 질문: "이 커버들이 스크롤을 멈추게 하나요?" 승인될 때까지 반복한 후 기록합니다. 크리에이터가 건너뛰기를 원하면 skipped로 표시하고 릴스가 자동 프레임으로 게시된다고 알립니다.
  4. 릴스 스케줄링. 렌더링 완료 후 "릴스 스케줄링" 명령으로 트리거됩니다. 각 캡션과 슬롯을 승인된 커버와 함께 보여줍니다. 질문: "스케줄링해도 될까요?" covers가 approved 또는 skipped가 아니면 중단하고 먼저 3b단계를 실행합니다.
  5. 오버레이. 기본 스타일은 화면 내에서 발화자 머리 옆 또는 뒤에 배치, 얼굴 위 절대 배치 금지(video-overlays 참고). 렌더링 전 제안된 클립 목록을 타임코드와 큐와 함께 보여줍니다(렌더링은 오버레이 1초당 약 10초). 질문: "이 중 삭제할 부분이 있나요? 놓친 부분이 있나요?"
  6. 썸네일 + 제목. 전체 크기 렌더링 대신 휴대폰 크기 증명 시트와 4-6개의 제목(문자 수 포함)을 보여줍니다. 질문: "어느 것을 선택하시겠어요? 다른 단어를 원하시나요?"
  7. YouTube 스케줄링. 오버레이가 타임라인에 배치되고 최종 비디오가 내보내진 후에 진행됩니다. 제목, 선택된 썸네일, 전체 설명을 보여줍니다. 질문: "스케줄링해도 될까요?"

스케줄링 규칙 (4단계 및 7단계 모두):

기본 슬롯 규칙: 오늘 다음 날부터 시작, 하루에 한 개 게시물, <YOUR_POST_TIME> <YOUR_TIMEZONE>, 이미 콘텐츠가 있는 날(임시 저장 포함)은 건너뜁니다. 슬롯 선택 전 getScheduledPosts를 호출하고, 절대 이중 예약하지 마세요.

캡션은 깨끗하게 전송합니다. 매번 완성된 사본, "TEST DRAFT" 텍스트 없음. 테스트는 draft: true + autoPublish: false로 표시하고 대신 플래너 링크를 전달합니다.

실행 순서 규칙

  • 항상 그래픽 전에 컷을 먼저 합니다. 오버레이 타이밍은 음성에 고정되어 있습니다. 컷이 변경되면 FCPXML을 다시 생성하지만(몇 초) 클립은 다시 렌더링하지 않습니다.
  • 릴스는 원본 푸티지에서 가져옵니다. 오버레이가 적용된 컷에서 가져오지 않습니다. 애니메이션은 YouTube용으로 제작되었으므로 릴스가 오버레이보다 먼저 실행될 수 있습니다.
  • 두 번의 핸드오프가 있으며, 이들은 중첩됩니다. 3단계 후 크리에이터는 릴스를 트리밍하고, 6단계 후에는 타임라인에 오버레이를 배치하고 내보냅니다. 둘 다 크리에이터에게는 느린 작업이고 당신에게는 자유 시간이므로, 기다리지 말고 다음 단계 작업을 큐에 넣으세요.
  • LUT는 모든 것에 적용됩니다 (<YOUR_LUT>). 카메라가 로그 프로파일을 촬영하는 경우 그레이딩되지 않은 프레임은 회색으로 보이며, 썸네일 스틸도 마찬가지입니다.
  • Resolve를 사용하는 모든 작업: 먼저 bash .claude/skills/paper-edit/scripts/ensure_resolve.sh를 실행하세요. Resolve가 닫혀 있으면 열고 API를 기다리므로 사용자에게 열도록 요청하지 마세요. 여전히 External scripting: Local과 새 프로젝트가 필요하므로 기존 작업이 위험에 노출되지 않습니다. 이름은 <Video> - YYYY-MM-DD로 지정하여 최신 프로젝트를 명확히 하세요. 동일한 이름의 프로젝트가 두 개 있으면 어떤 것이 현재 프로젝트인지 혼동됩니다.
  • 완성된 파일은 <YOUR_VIDEO_LIBRARY>/<Video> YYYY-MM-DD/로 이동하고, 작업 파일은 ~/Movies/<video>-*에 유지합니다. 각 비디오의 두 가지 렌더링: 전달용 패스와 60Mbps 아카이브 마스터, 그리고 .drt/.drp 타임라인. 레이아웃은 schedule-social을 참조하세요. 크리에이터가 게시 가능한 파일을 찾기 위해 ~/Movies를 뒤질 필요가 없어야 하며, 데스크탑에 파일이 흩어져서는 안 됩니다.
  • 4K 롱폼 내보내기 (선택 사항): YouTube Final을 YouTube Final 4K로 복제하고, 해당 복제본의 타임라인을 3840x2160으로 설정한 후(useCustomSettings 1 + timelineResolutionWidth/Height), VideoQuality 40000으로 H.264를 <Video>/YouTube/에 렌더링합니다. 줌 및 클로즈업은 해상도 변경에도 유지되며, 1080 오버레이 클립이 깔끔하게 확대됩니다. 렌더링을 시작하고 반환하세요. execute_resolve_code 내에서 절대 기다리지 마세요. 6분 30초 비디오는 장면 내 오버레이와 함께 4K에서 약 1시간이 걸릴 수 있으며, MCP 호출은 30분 후에 종료되므로 이후 모든 호출이 렌더링 종료까지 차단됩니다. 대신 bash에서 파일을 모니터링하세요. MP4는 Resolve가 완료되면 읽을 수 있게 됩니다(ffprobe 성공). 한 번에 하나의 프로젝트만 렌더링되므로, 이전 파일이 생성된 후 다음 비디오의 렌더링을 시작하세요. 6.5분당 약 1.9GB입니다.
  • 게시는 되돌릴 수 없는 유일한 단계입니다. 이전의 모든 단계는 몇 분 안에 재구축할 수 있지만, 게시된 게시물은 여기서 취소할 수 없습니다. 4단계와 7단계의 게이트를 엄격하게 처리하세요.

시간 및 비용

단계소요 시간참고
종이 편집~2분 트랜스크라이브 + 읽기 시간실질적인 사고 비용이 있는 유일한 단계, ~5k 토큰
클로즈업몇 초
릴스~1분캡션 포함
오버레이~10분 무편집 렌더링, 이후 오버레이 1초당 ~15-20초장면 내 스타일은 모든 프레임을 마스킹: ~48개 클립에 약 1시간 소요; 푸티지 드라이브 마운트 필요; 릴스 트리밍 중에 실행
썸네일~1분4-6개 변형
스케줄링~2분업로드 홉 + Metricool 쓰기

관련 항목

  • paper-edit, lapel-sync, video-overlays, video-reels, reel-covers, video-thumbnails, schedule-social
  • 선택 사항: 제목 참조(길이 및 CTR 규칙) 및 비디오 주제 계획(유지하는 경우)

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

beachyphotoandfilm-arch/video-skills

Sync camera footage to a separate lapel or field-recorder track (e.g. Tascam DR-10L and similar) and lay it up in DaVinci Resolve. Stitches the recorder's split files, finds each clip's exact place in the audio by matching words then waveforms, cuts one lapel slice per clip so every later skill works unchanged, checks for clipping, and builds a synced timeline in a new Resolve project. Trigger on "sync the lapel", "sync my audio", "line up the recorder", "I used a lav", or any shoot with a separate audio folder (live talks, events, workshops). Run it before paper-edit or video-reels.

beachyphotoandfilm-arch/video-skills

Turn raw talking-head footage into an assembled rough cut inside DaVinci Resolve. Pulls the clips off your footage drive, transcribes them locally, removes failed takes, restarts, asides and dead air, then creates a new Resolve project with two paper-edit timelines ready for your fine trim. Trigger on "paper edit", "cut my raw footage", "make a rough cut", "clean up this video", or when the user points at a folder of raw camera files for a YouTube video.

beachyphotoandfilm-arch/video-skills

Design a unique Instagram cover for each reel in your house style. Reads what the reel is about, writes a short hook headline, picks one of your own photos from a tagged photo library, lays it out like your existing covers, and proofs it in grid view at phone size. Renders locally, never with AI image generation. Can be called by a scheduling skill before reels are scheduled. Trigger on "make covers", "reel covers", "cover photo for this reel", "design the IG covers".

beachyphotoandfilm-arch/video-skills

Render finished reels out of DaVinci Resolve, write captions in the creator's voice, attach a custom Instagram cover from reel-covers, and schedule them to Instagram, TikTok and YouTube Shorts through Metricool. Handles the Drive upload hop, collision checks against the existing calendar, and cleanup. Trigger on "schedule the reels", "post these", "put these on the calendar", or after reels are approved.

beachyphotoandfilm-arch/video-skills

Build animated brand overlays (motion graphics) for a talking-head video, timed to the speaker's exact words, plus a DaVinci Resolve import file. House style is in-scene type (text beside and behind the speaker's head) plus diagrams. Transcribes the rough cut locally, picks the moments, renders transparent .mov clips, and writes an FCPXML that drops every clip onto the timeline already in position. Trigger on "make animations for this video", "add overlays/motion graphics", "animate this", "b-roll graphics for my YouTube video", or when the user shares a rough cut and asks for graphics.

beachyphotoandfilm-arch/video-skills

Cut vertical Instagram reels out of a long-form talking-head video, hook first. Picks the strongest standalone moments from the transcript, opens each reel on its punchiest line, builds vertical timelines in DaVinci Resolve framed on the speaker's face with the LUT applied, and finishes them: a hook (a held text card, or a word-by-word "build" hook with punch-in) and burned-look captions on V3; this-or-that reels get product graphics and a comment-keyword CTA card. You trim and render, nothing to import. Trigger on "make reels", "clip this for Instagram", "cut some verticals", or after a YouTube video is cut.

beachyphotoandfilm-arch/video-skills

Design YouTube thumbnails and titles for a talking-head video. Pulls graded full-res frames out of the raw footage, renders brand-styled variants in two proven layouts, and proofs them at phone size where the click actually gets decided. Trigger on "make thumbnails", "thumbnail for this video", "title and thumbnail", or after a video is cut.

관련 스킬