Communitygithub.com

스토리보드

스크립트를 개별 샷으로 분할하고, 각 샷에 9:16 프레임, 화면 텍스트, 편집 노트 및 사운드를 제공하며, 촬영을 세션별로 그룹화하여 숏폼 비디오(릴스, 틱톡, 쇼츠)의 스토리보드를 생성합니다. 브라우저에서 열 수 있는 보드, 샷별 PNG, 콘택트 시트를 포함한 폴더를 작성합니다.

스토리보드란 무엇인가요?

이 스킬은 사용자가 제공한 스크립트를 기반으로 숏폼 비디오(릴스, 틱톡, 쇼츠)의 촬영 및 편집 계획을 자동으로 생성하는 스토리보드 도구입니다. 사용자가 "스토리보드 만들어 줘", "샷 리스트 작성해 줘"와 같은 요청을 할 때 활성화되며, 스크립트를 단어 단위로 개별 샷으로 분할하고 각 샷에 9:16 비율의 프레임, 화면 텍스트, 편집 노트, 사운드 정보를 할당합니다. 또한 촬영 장소에 따라 샷을 '세션'으로 그룹화하여 촬영 효율을 높입니다. 이 스킬의 가장 큰 특징은 사용자 맞춤 설정 기능입니다. 처음 설치 시, 3~5개의 사용자 영상을 분석하여 촬영 스타일(샷 유형 비율, 평균 샷 길이, 화면 텍스트 스타일, 색상 등)을 학습하고 프로필에 저장합니다. 이후 모든 스토리보드는 이 프로필에 따라 일관된 스타일로 생성되어, 템플릿이 아닌 사용자의 실제 콘텐츠와 일치하는 결과물을 제공합니다. 클로드 코드(Claude Code), 커서(Cursor) 등 AI 에이전트 플랫폼에서 작동하며, Python, Chrome(또는 Chromium/Edge), ffmpeg를 필요로 합니다. 생성된 스토리보드는 JSON 파일과 HTML 보드로 저장되며, 각 샷의 프레임은 PNG로 렌더링되어 브라우저에서 바로 확인할 수 있습니다. 최종 스토리보드는 비디오 그래픽 제작을 위한 프롬프트로도 활용됩니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Chefy3x/storyboard-skill/tree/main/storyboard

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

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

미리보기

스킬 README에서

스토리보드 preview
스토리보드 preview

문서

스토리보드은(는) 무엇을 하나요?

스토리보드는 하나의 비디오에 대한 촬영 계획이자 편집 계획입니다. 사용자가 위에서 아래로 읽으면서 각 세션을 촬영하고, 각 샷을 편집(또는 클로드)에 넘길 때 화면에 무엇이 보이고, 텍스트는 무엇이며, 사운드는 무엇인지 명확하게 알 수 있을 때 완료됩니다.

간결하게 유지하세요. 샷과 세션만 있습니다. 아크 다이어그램, 샷별 전환, 브랜드 키트, 체크리스트는 없습니다. 사용자가 더 원하면 물어볼 것입니다.

첫 실행: 가이드 설정

~/.claude/storyboard-profile/profile.md 파일이 없을 때, 스킬 설치 직후, 또는 사용자가 설정을 요청하거나 스타일을 다시 학습하라고 할 때 설정을 실행합니다. 한 번에 한 단계씩 안내하세요: 각 단계가 무엇을 위한 것인지 한 문장으로 설명하고, 실행한 후, 질문하라고 표시된 곳에서 기다리세요. 모든 메시지는 짧게 유지하세요. 대부분의 사용자는 크리에이터이지 개발자가 아닙니다.

  1. 환영. 짧은 메시지 하나: 스킬이 무엇을 하는지(스크립트 입력 -> 모든 라인에 프레임 출력 -> 클로드가 그래픽 제작)와 설정에 약 5분이 걸린다는 것. 그런 다음 첫 번째로 필요한 것은 그들의 비디오를 보는 것이라고 말하세요.

  2. 도구 확인. Python 3, Google Chrome(또는 Chromium/Edge), ffmpeg가 있는지 확인하세요. yt-dlp는 링크에 보너스입니다. 누락된 것이 있으면 해당 시스템에 맞는 설치 명령어를 하나 제공하고(예: Mac에서는 brew install ffmpeg, Windows에서는 winget install ffmpeg) 실행을 제안하세요. Chrome과 ffmpeg가 작동할 때까지 진행하지 마세요.

  3. 사용자 정보 묻기. 하나의 메시지로, 각 줄에 답변: 핸들 및 플랫폼, 콘텐츠 주제, 비디오의 일반적인 길이, 마무리 방식(댓글 키워드, 팔로우, 링크 인 바이오).

  4. 비디오 요청. 이것이 중요한 단계이므로 이유를 설명하세요: 스토리보드는 템플릿처럼 보이지 않고 그들의 비디오처럼 보여야 합니다. 스타일을 가장 잘 보여주는 게시된 비디오 3~5개를 요청하세요. 가능하면 화면 녹화나 그래픽이 포함된 비디오도 포함하세요(그런 경우). 파일을 채팅으로 드래그하거나(경로가 붙여넣어짐) 링크를 붙여넣을 수 있습니다. yt-dlp가 설치되어 있으면 링크를 다운로드하고, 다운로드되지 않으면 파일을 요청하세요. 모든 파일을 ~/.claude/storyboard-profile/source/에 넣으세요.

  5. 비디오 분석. 각 비디오에 대해:

    • 프레임: ffmpeg -i v1.mp4 -vf "fps=1,scale=360:-2" -q:v 4 source/v1_%03d.jpg, 그런 다음 확인하세요.
    • 컷: ffmpeg -i v1.mp4 -vf "select='gt(scene,0.1)',showinfo" -f null - 2>&1 | grep -o "pts_time:[0-9.]*" 컷 시간을 제공하므로 평균 샷 길이를 알 수 있습니다. 말하는 사람의 점프 컷은 그림이 거의 변하지 않아 놓칠 수 있으므로 1fps 프레임 수와 비교하여 확인하세요.
    • 단어: whisper(또는 다른 트랜스크라이버)가 설치되어 있으면 전사하세요. 그렇지 않으면 프레임에서 자막을 읽거나 스크립트를 붙여넣도록 요청하세요.

    추측이 아닌 실제로 보이는 것을 기록하세요: 샷 유형 혼합(얼굴, 화면, B-roll의 비율), 평균 샷 길이, 프레이밍(미디엄 또는 클로즈업, 위치, 배경), 처음 2초의 훅, 화면 텍스트(폰트 두께, 대소문자, 색상, 강조 스타일, 위치), 자막 스타일, 주요 색상, 반복되는 그래픽이나 오버레이, 사운드 습관, CTA(행동 유도) 방식.

  6. 얼굴 스틸 선택. 자막이 없는 깨끗한 카메라 talking 샷을 선택하고, 9:16으로 크롭한 후(ffmpeg -ss <t> -i v1.mp4 -frames:v 1 -vf "crop=ih*9/16:ih,scale=540:960" face.jpg) ~/.claude/storyboard-profile/face.jpg로 저장하세요. 이후 모든 얼굴 샷에 사용됩니다.

  7. 프로필 작성. ~/.claude/storyboard-profile/profile.md를 저장합니다. 섹션: 크리에이터(3단계), 샷(유형 혼합, 평균 길이, 프레이밍), 훅, 화면 텍스트, 자막, 색상, 사운드, CTA, 반복 그래픽. 그런 다음 ~/.claude/storyboard-profile/theme.css를 작성하여 키트의 변수를 사용자의 룩으로 재정의하세요:

    :root { --ink: #111; --accent: #ff5a1f; --on-accent: #fff; --bg: #f4f1ea;
            --grid: rgba(0,0,0,.05); --font: "Montserrat", sans-serif; }
    

    사용자가 설치한 폰트를 사용하고, 없으면 가장 가까운 폰트를 선택하세요.

  8. 보여주고 확인. 샘플 프레임 하나(헤드라인 스타일을 얼굴 스틸 위에 올린 것)를 빌드하고, 렌더링한 후, 프로필의 세 줄 요약과 함께 보여주고 무엇이 다른지 물어보세요. 사용자가 자신의 콘텐츠처럼 보인다고 말할 때까지 수정하세요.

  9. 인계. 설정이 완료되었으며 다음에 할 일을 알려주세요: "스크립트를 붙여넣고 "스토리보드 만들어 줘"라고 말하세요." 사용자는 스타일이 변경될 때 언제든지 설정을 다시 실행할 수 있습니다.

사용자가 설정을 건너뛰려면 키트의 기본 룩으로 스토리보드를 작성하고 마지막에 설정을 다시 제안하세요.

형식

각 샷에는 다음이 포함됩니다:

필드설명
typeface (카메라로 말함), split (화면 위, 아래 둥근 상자에 얼굴), screen (화면 녹화), graphic (편집에서 제작), b-roll (실제 영상)
vo이 샷에서 말하는 정확한 스크립트 단어
on_screen_text프레임에 포함된 텍스트, 일반적으로 비어 있음
edit_note한두 줄: 화면에 무엇이 있는지, 무엇이 움직이는지, 프레이밍
sfx사운드, 일반적으로 비어 있음
thesis정확히 하나의 샷에서 true
statusreal (프레임이 실제 영상), stand-in (의도 표시), to-capture (아직 없음)

타이밍은 초당 3.4단어로 VO에서 계산됩니다. 수동으로 설정하지 마세요.

세션은 촬영 장소별로 샷을 그룹화합니다: label, detail (준비할 사항), shots (샷 번호).

단계

  1. 프로필 읽고 스크립트 가져오기. ~/.claude/storyboard-profile/profile.md를 읽고 따르세요: 샷 길이, 샷 유형 혼합, 텍스트 스타일, CTA. 기본값과 충돌할 경우 프로필이 우선합니다. 프로필이 없으면 먼저 설정을 제안하세요. 스크립트가 대화나 파일에 없으면 요청하고, 대상 길이를 기록하세요(사용자가 지정하지 않으면 프로필의 일반적인 길이). 스크립트를 편집하지 마세요. 잘못된 줄이 있으면 알리고 사용자가 수정하도록 하세요.

  2. 스크립트를 단어 단위로 샷으로 분할. 다시 합쳐졌을 때 vo 필드는 스크립트와 정확히 일치해야 합니다. 재구성, 자르기, 줄 추가를 하지 마세요.

    • 문장 끝이 아닌 그림이 바뀌는 지점에서 자르세요. 쉼표는 훌륭한 컷 지점입니다.
    • 샷당 26초(720단어)를 목표로 하세요. 약 8초를 넘으면 분할하세요. 단, 하나의 연속적인 그림이 그 라인을 진정으로 전달하는 경우는 예외입니다.
    • 첫 번째 샷에는 화자의 얼굴이 포함(face 또는 split 샷). 첫 1초에 얼굴이 있으면 사람들을 사로잡습니다.
    • 정확히 하나의 thesis 샷을 표시: 비디오의 주제를 말하는 라인.
    • 마지막 샷: 행동 유도를 말하는 화자의 얼굴. 댓글 키워드가 있으면 말로 전달되고 자막에만 표시되며, 큰 화면 알약 형태가 아닙니다.
    • 유형을 다양화하세요. 연속으로 세 개의 face 샷을 사용하지 마세요. 주장, 여담, CTA에는 face를 사용하고, 보여주는 내용에는 screen을 사용하세요.
  3. 필드를 간결하게 채우세요.

    • on_screen_text: 첫 번째 샷의 헤드라인, 목록 번호(01 SCRIPT), 최대 한 개의 punchline. 나머지는 비워두며, 자막이 나머지를 전달합니다.
    • edit_note: 화면에 무엇이 있는지, 무엇이 움직이는지, 프레이밍(미디엄 또는 클로즈업). 개인정보 보호 신호를 여기에도 넣으세요: 이메일 블러 처리, 사용자 이름이 표시된 파일 경로 자르기.
    • sfx: 비디오 전체에 2~3개, 무언가가 떨어지는 곳에만(오프닝에 핑, 라이브될 때 히트).
  4. 샷을 촬영 장소별로 세션으로 그룹화. 샷 순서가 아닌 촬영 장소를 기준으로 합니다.

    • 얼굴: 모든 얼굴 샷과 모든 split 샷의 얼굴 절반에 대해 하나의 세션.
    • 화면: 앱 또는 도구 세션당 하나의 세션, 동일한 실제 프로젝트를 계속 사용.
    • 책상 밖: b-roll 샷에 필요한 경우에만.
    • detail: 준비할 사항(열 프로젝트, 실행할 것, 화면에서 먼저 지울 것).
  5. storyboard.json 작성 사용자의 작업 디렉토리에 storyboard/<video-slug>/ 폴더에 생성(더 나은 위치가 있으면 물어보세요):

    {
      "title": "AI edits my videos",
      "target_seconds": 50,
      "shots": [
        {"type": "face", "vo": "My last couple of videos were all edited by Claude.",
         "on_screen_text": "CLAUDE EDITS MY VIDEOS", "edit_note": "Mid shot, headline holds 4s.",
         "sfx": "", "thesis": false, "status": "to-capture"}
      ],
      "sittings": [
        {"label": "Face", "detail": "Same shirt and light for every face line.", "shots": [1]}
      ]
    }
    
  6. 모든 샷에 대한 프레임 빌드(다음 섹션) frames/f01.html, frames/f02.html 등으로. 숫자는 샷의 위치입니다.

  7. 렌더링:

    python3 <이 스킬 폴더>/kit/render.py storyboard/<video-slug>
    

    헤드리스 Chrome으로 frames/out/fNN.png(540x960), frames/out/contact-sheet.jpg, board.html(각 프레임 옆에 VO, 텍스트, 편집 노트, 사운드, 타이밍 및 세션 정보)를 렌더링합니다. 실행 시간과 얼굴 대 화면 시간을 출력합니다.

  8. 콘택트 시트 확인 후 수정 및 재렌더링: 얼굴 위 텍스트, 겹침, 안전 영역 내 텍스트, 개인정보 노출 여부.

  9. 간략히 보고: 샷 수, 실행 시간 vs 대상 길이, 얼굴 대 화면 시간, 아직 캡처할 항목. 사용자에게 board.html을 엽니다.

프레임

가장 실제에 가까운 소스를 사용하세요. 순서는 다음과 같습니다:

  1. 실제 자료. 샷에 등장하는 실제 사이트나 앱의 스크린샷(헤드리스 Chrome 또는 Playwright, 데스크톱은 1440 너비, 모바일은 390), 또는 사용자 자신의 영상 스틸(ffmpeg -ss <time> -i clip.mp4 -frames:v 1 still.jpg). 이미지는 frames/ 폴더에 넣고 파일 이름으로 참조하세요.

  2. 제작 프레임. kit/frame-kit.css의 클래스를 사용하여 HTML 본문 조각으로 프레임을 작성하세요. 조각의 {{face}}는 frames/face.jpg가 있으면 해당 이미지로, 없으면 설정의 얼굴 스틸로, 둘 다 없으면 중립적인 실루엣으로 대체됩니다. 설정의 theme.css는 모든 프레임을 자동으로 사용자의 색상과 폰트로 다시 스타일링합니다.

    클래스용도
    .f프레임 래퍼, 항상 외부 요소
    .hl상단 헤드라인, 키워드에 <em>
    .lbl with .n + .t번호 매기기 레이블(01 SCRIPT)
    .face전체 프레임 얼굴(<img src="{{face}}">)
    .faceboxsplit 샷의 얼굴 상자
    .termClaude Code 터미널 (.p 프롬프트, .tool 도구 호출, .ok, .dim)
    .chat + .bub + .vid에이전트 채팅 메시지, 선택적으로 비디오 포함
    .shot스크린샷 카드 (<div class="shot"><img src="..."></div>)
    .tbl데이터 테이블 (.h 헤더, .r 행, .r.new 새 행)
    .big하나의 큰 punchline
    .room캡션이 있는 b-roll 자리 표시자

    인라인 style="top:..px"로 수직 위치를 설정하세요. 예시 조각:

    <div class="f">
      <div class="lbl"><span class="n">01</span><span class="t">SCRIPT</span></div>
      <div class="term" style="top:200px">
        <div class="bar"><i></i><i></i><i></i></div>
        <div class="p">write me a 45 second script about ...</div>
        <div class="ok">  ✓ script.md</div>
      </div>
      <div class="facebox"><img src="{{face}}"></div>
    </div>
    
  3. 실제 데이터로 모의 제작 화면이 로그인 뒤에 있어 접근할 수 없을 때. 사용자를 대신해 로그인하지 마세요. 실제 숫자로 화면을 구성하고 stand-in으로 표시하세요.

프레임 규칙:

  • 안전 영역: 텍스트를 하단 20%와 오른쪽 12%(좋아요 및 댓글 레일) 밖에 유지하고, 상단 8%는 비워두세요. 키트의 위치는 이미 이를 준수합니다.
  • 헤드라인 스타일: 프로필의 화면 텍스트 노트를 따르세요(대소문자, 두께, 단어 강조 방식). 기본값은 굵은 대문자이며 하나의 키워드에 <em>을 사용합니다. 전체 프레임 얼굴 위에서는 키트가 흰색에 부드러운 그림자를 적용합니다.
  • 개인정보: 사용자 이름이 포함된 파일 경로, 이메일, API 키 또는 .env 내용을 프레임에 표시하지 마세요. 테이블에서는 가짜 ID를 사용하세요.

비디오 제작에 활용하기

스토리보드가 승인되면 그것이 프롬프트입니다. 그래픽을 한 번에 한 샷씩 제작하세요: "스토리보드의 4번 샷을 9:16 모션 그래픽으로 제작해 줘: 프레임, 화면 텍스트, 편집 노트를 일치시켜." 첫 번째 버전은 결코 완벽하지 않습니다. 편집에 넣고 프레임과 비교하며 일치할 때까지 반복하세요.

관련 스킬