Communitygithub.com

style-lab (סטייל-לאב)

참고 동영상 또는 설명에서 편집 스타일을 학습하고, 편집 계획 및 검토 라운드를 통해 영상을 해당 스타일로 편집합니다. 트리거: editing style, style-lab, סגנון.

style-lab (סטייל-לאב)란 무엇인가요?

style-lab는 Claude Code의 고급 스킬로, 사용자가 제공한 참고 영상(링크 또는 파일)이나 서면 설명으로부터 동영상 편집 스타일을 학습한 후, 해당 스타일로 새로운 영상을 편집할 수 있게 해줍니다. 이 스킬은 '영상을 AI로 편집하기' 과정의 일부로, 2단계 워크플로우를 따릅니다. A단계에서는 참고 영상 20여 개와 스타일 보드를 분석하여 스타일 팩(타이포그래피, 색상, 애니메이션 규칙 등)을 생성하고, B단계에서는 학습된 스타일을 적용하여 실제 클립을 편집, 계획 수립 및 검토 라운드를 진행합니다. 특히 사람의 취향이 개입되는 세 가지 체크포인트(보드, 편집 계획, 검토 라운드)를 두어 AI가 제안하는 디자인이 단순히 '평범해 보이지 않도록' 방지합니다. 이 스킬은 HyperFrames(HTML to Video)을 기본 빌드 엔진으로 사용하며, ffmpeg, Python, faster-whisper 등이 필요합니다. 사용자와의 모든 대화는 히브리어로 진행되며, 각 단계가 명확하게 설명되고 측정 가능한 규칙(예: '규칙 7')으로 문서화됩니다. 결과물은 9:16, 1080x1920, 30fps 형식으로 출력됩니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Malik-rgb43/style-lab-skill/tree/HEAD

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

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

문서

style-lab

사용 시기 (전체 트리거 목록)

사용자가 참고 동영상(링크 또는 파일)이나 서면 설명으로부터 편집 스타일을 만들고, 정의하고, 복사하고, 학습하거나 훈련하고자 할 때; 스타일 보드 또는 스타일 가이드를 구축하고자 할 때; 참고 릴을 재사용 가능한 스타일로 전환하고자 할 때; 또는 학습된 스타일로 토크헤드 또는 숏폼 클립을 편집한 후 검토 라운드에서 수정하고자 할 때 사용합니다. 또한 "내 동영상을 이 크리에이터처럼 보이게 해줘", "이 스타일을 저장해서 모든 동영상이 일치하도록 해줘", "편집이 평범해 / AI 티가 나"와 같은 요청에도 사용합니다. 히브리어: עריכה סגנון, ליצור סגנון, ללמד את Claude סגנון, בורד סגנון, לוח השראה, ריפרנסים, תערוך בסגנון, תוכנית עריכה, סבב הערות, סטייל לסרטונים.

סקיל = הוראות קבועות ל־Claude. 이 스킬은 Gabriel Gelman (Apache-2.0)의 "וידאו עם AI" 과정 스킬의 일부입니다. 고급 보너스 스킬로, ffmpeg와 Python이 설치된 Claude Code를 가정하며 HyperFrames와 함께 사용할 때 가장 효과적입니다.

언어: 사용자가 다른 언어로 작성하지 않는 한 항상 히브리어로 대화합니다. 각 단계를 실행하기 전에 평이한 언어로 설명합니다(무엇을 하는지, 왜 하는지, 사용자가 지금 무엇을 해야 하는지). 한 번에 한 단계씩 진행하며 단계 이름을 지정합니다(예: "שלב A2: בורד הסגנון"). 사용자가 보게 되는 모든 페이지(보드, 계획, 검토실)는 과정 디자인을 따릅니다: RTL 히브리어, Karantina / Heebo, 흰색-검정-보라색.

영감: 두 단계 워크플로우(참고 동영상 ~20개와 보드에서 스타일을 훈련한 후, 사람이 만든 계획으로 편집)는 Joseph의 Claude로 토크헤드 동영상 편집에 관한 YouTube 동영상(https://youtu.be/g9xoKm5DEeU)에서 영감을 받았습니다. 여기에는 동영상의 어떤 내용도 복사되지 않았습니다. 보드, 계획 및 검토 페이지, 스크립트, 규칙 및 검토 루프는 모두 자체적으로 제작되었으며 13개의 Reel 배치에서 테스트되었습니다.

한 문단으로 설명

참고 동영상은 Claude에게 애니메이션 뒤의 논리(언제, 얼마나 오래, 어떻게 움직이는지)를 가르칩니다. 보드는 디자인(글꼴, 색상, 크기, 이유)을 가르칩니다. 둘 다 없으면 편집이 평범해 보입니다. 사람의 취향은 세 가지 체크포인트, 즉 보드(A단계), 편집 계획(B단계), 검토 라운드에 개입합니다. Claude는 그 사이에서 무거운 작업을 수행합니다. 좋은 스타일이 무엇인지 모른다면 AI는 단지 나쁜 동영상을 더 빨리 만들도록 도와줄 뿐이므로, 모든 규칙은 측정 가능해야 하며 모든 디자인 선택에는 "이유"가 있어야 합니다.

기본값 (시작할 때 한 줄로 말하고, 요청 시 변경)

  • 브랜드: 과정 브랜드(references/brand-defaults.md: Karantina 700 제목, Heebo 본문 -0.04em, Consolas 코드, 흰색 / 검정 / 보라색). 참고 자료의 레이아웃, 모션 및 구조는 유지하되 글꼴과 색상은 브랜드로 교체합니다. 사용자는 스타일에 대해 참고 자료의 고유 모양을 유지하거나 ~/.claude/style-lab/brand.md에 자신의 브랜드를 넣을 수 있습니다.
  • 빌드 엔진: HyperFrames (HTML to video). 없을 경우: references/tools-and-fallbacks.md.
  • 전사: 로컬 faster-whisper; 히브리어는 로컬 ivrit-ai 모델 사용. 클라우드(RunPod)는 사용자의 동의가 있을 때만 사용합니다(비용 발생).
  • 이미지 / 3D: 선택 사항이며, 비트에 필요할 때만, 유료인 경우 사용자의 동의가 있을 때만 사용합니다.
  • 형식: 9:16, 1080x1920, 30fps (사용자가 다른 지정을 하지 않는 한). 캡션 언어를 추측하지 말고 묻습니다(또는 캡션 없음). 먼저 설치된 것을 확인합니다(ffmpeg, Python, faster-whisper, Node + HyperFrames, Blender, 이미지 모델). 사용할 것을 알려줍니다. 누락된 도구는 해당 단계를 차단합니다: 어떤 도구이며 무엇을 설치해야 하는지 알려주고, 절대 조용히 단계를 건너뛰지 않으며, 동의 없이 다운로드하지 않습니다.

당신의 스타일들 (여러 명명된 스타일을 나란히)

각 스타일은 사용자가 선택한 이름(히브리어도 괜찮음), 영문 슬러그, 한 줄 설명, 자체 스타일 팩, 자체 스타일 스킬 style-<slug>을 가집니다. 모든 스타일은 하나의 레지스트리 ~/.claude/style-lab/styles.json에 scripts/styles.py로 관리됩니다.

python scripts/styles.py list                       # 선택 가능한 스타일 목록
python scripts/styles.py add <slug> --name "<name>" --pack <project>/styles/<slug> --description "..."
python scripts/styles.py show <slug or name>
python scripts/styles.py set <slug> name="<new name>" status=ready aliases="..." theme=light
python scripts/styles.py check                      # 모든 팩과 스킬이 여전히 존재하는지 확인

상태: A단계 중에는 training, A5 이후 ready(ready 상태의 스타일만 편집에 제공됨), 숨기려면 archived. remove는 레지스트리 항목만 삭제하고 파일은 절대 삭제하지 않습니다. 각 스타일은 fonts / colors (brand 또는 reference)와 theme (dark, light 또는 both; 하나의 동영상은 여전히 "다른 테마"일 수 있음)를 기록합니다.

어느 단계인가요? "new style / ליצור סגנון / ללמד סגנון" → A단계. "edit / make a video / תערוך" → B단계. "change / rename / improve style X" → styles.py set을 사용하고, 규칙 변경은 해당 스타일의 STYLE.md와 스킬을 편집합니다.

파일 위치

<project>/styles/<slug>/            스타일 팩
  refs/  sources.md                 참고 동영상 (로컬 학습 복사본, 절대 게시하지 않음)
  analysis/                         동영상별 전사본, 콘택트 시트, 노트
  board/  board.json  board.html  thumbs/
  library/<V01-A06 title>/          still.png  strip.jpg  clip.mp4  notes.md  (+ index.json)
  animations.json                   분석 내용 (라이브러리 스크립트의 입력)
  STYLE.md                          번호가 매겨진 규칙, 토큰, 카테고리, 모션, 사운드, 검토 규칙
  kit/                              빌드 엔진용 선택적 테스트된 구성 요소
<project>/edits/<clip>/             편집당 하나의 폴더
  raw/  words.json  edit_ready.mp4  edit_ready.words.json  plan.json  plan.html
  build/  assets/  renders/  revisions.md  SOURCES.md
~/.claude/skills/style-<slug>/SKILL.md   생성된 스타일 스킬
~/.claude/style-lab/styles.json          레지스트리

스크립트(로컬, 무료): styles.py, transcribe_words.py, transcribe_cloud_ivrit.py (유료, 선택 사항), cut_silences.py, verify_cut.py, word_edges.py, build_reference_library.py. 페이지: assets/board-template.html, assets/plan-template.html, assets/review-template.html.


A단계: 스타일 훈련 (스타일 팩 구축)

A1. 참고 자료 수집

  • 스타일 이름과 한 줄 설명을 묻고, 즉시 등록합니다(styles.py add ..., 상태 training). 브랜드 모양(기본값) 또는 참고 자료 고유 모양을 묻습니다.
  • 참고 자료 위치를 묻습니다. 동영상: 사용자가 다운로드해도 되는 파일 또는 링크를 제공합니다. 정확히 이 스타일로 가장 잘 편집된 동영상 약 20개를 목표로 합니다. 약 12개 미만이면 라이브러리가 빈약해집니다(그렇게 말하고, 사용자가 원하면 계속 진행). 이름을 V01.mp4 … 형식으로 지정하고 각각을 refs/sources.md에 나열합니다. 로컬에 유지되며 절대 게시, 업로드 또는 artifact에 넣지 않습니다.
  • 설명만 있는 경우 (동영상 없음): 사용자를 인터뷰합니다(느낌, 배경, 유형, 모션, 캡션, 사운드, 금지 사항). 모든 형용사를 숫자로 바꾸고, 사용자가 좋아하는 몇 장의 스틸 또는 스크린샷을 수집합니다. A3-A4의 프레임 작업은 건너뛰고, 보드는 참고 프레임 대신 토큰, 규칙 및 스케치를 표시하며, 라이브러리는 비어 있는 상태로 시작하여 승인된 편집에서 채워집니다.

A2. 스타일 보드 (훈련에서 가장 중요한 부분)

  1. 모든 참고 자료 분석: ffmpeg(또는 설치된 경우 비디오 분석 도구)로 0.5초마다 프레임, 콘택트 시트, 오디오 음량. 시트를 읽습니다.
  2. 카테고리(캡션 시스템, 레이아웃, B-roll 유형, 그래픽, 전환, CTA …) 제안; 스타일 고유의 카테고리가 우선합니다. references/example-style-3d-paper.md는 완성된 예를 보여줍니다.
  3. 100-150개의 영감 프레임을 9:16 썸네일(~360px 너비)로 board/thumbs/에 선택하고, 카테고리당 하나의 히어로 프레임을 주석 처리용으로 선택합니다.
  4. board.json(스키마: references/board-and-plan-spec.md) 작성: 토큰(글꼴, 프레임에서 추출한 16진수 색상, 텍스처, 모양, 크기, 레이아웃) 및 카테고리별 타일, 주석이 달린 프레임 1개와 3-5개의 측정 가능한 콜아웃, 네 가지 "이유" 질문(디자인, 색상, 효과, 애니메이션)에 대한 초안 답변.
  5. assets/board-template.html에서 board.html을 빌드하고(JSON 블록 교체), 썸네일을 지원 파일로 포함하여 artifact로 게시합니다. 사용자가 "이유" 답변을 다시 작성하고 העתקת ההערות לבורד를 눌러 다시 붙여넣습니다.
  6. 체크포인트 1: 멈추고 기다립니다. 사용자의 메모를 적용하고 다시 게시합니다. 사용자가 보드가 올바르다고 말할 때까지 A3을 시작하지 마십시오. 잘못된 보드는 잘못된 스타일을 훈련시킵니다.

A3. 분석

모든 참고 자료에 대해: 단어 수준 전사(transcribe_words.py, 사용자 언어 또는 auto)와 프레임별 분석을 수행하여 모든 애니메이션을 찾고 세 가지를 기록합니다.

  • 배치: 어떤 단어가 트리거하는지, 단어 후 얼마 후에, 어떤 종류의 라인이 어떤 종류의 장면(발표 vs 설명, 숫자, 사람, 이야기, 펀치라인)을 얻는지.
  • 디자인: 배경, 텍스처, 유형 쌍 및 크기, 색상, 선 작업, 일러스트레이션, 위치.
  • 논리: 지속 시간(프레임 단위), 거리, 이징, 카메라 움직임. 프레임 단위로 측정하고 절대 추측하지 않습니다. 그런 다음 보드와 조정합니다(보드 = 무엇과 이유; 동영상 = 언제와 어떻게 움직이는지). 사용자에게 동의하지 않는 부분을 묻습니다. 각 애니메이션을 animations.json(V<nn>-A<n>, 시작/끝, 키프레임, 제목, 카테고리, 장면 유형, 단어, 메모)에 작성합니다. 한 번에 하나의 동영상을 처리하면서 저장합니다. 동영상이 많은 경우 하위 에이전트로 작업을 분할합니다(각각 하나의 동영상, 동일한 스키마).

A4. 참고 라이브러리

python scripts/build_reference_library.py styles/<slug>/animations.json --out styles/<slug>/library 모든 애니메이션은 폴더(스틸, 레이블이 지정된 프레임 스트립, 클립, 메모)와 index.json이 됩니다. 몇 개의 스트립을 열고 animations.json에서 잘못된 경계를 수정한 후 --force로 다시 실행합니다.

A5. 스타일 패키징

references/style-skill-template.md에서 STYLE.md와 스타일 스킬을 작성합니다: 번호가 매겨진, 측정된 규칙(계획이나 메모가 "규칙 7"을 참조할 수 있도록); 브랜드에 매핑된 토큰(참고 자료의 크기, 비율 및 색상 규율 유지, 원본 기록); 디자인, 모션, 배치 및 2-3개의 라이브러리 참조가 있는 각 카테고리; 계획 패턴; 사운드 프로필; "사고 방식" 섹션; 빈 "검토 라운드 규칙" 섹션. 모든 스타일은 references/craft-rules.md의 일반 규칙으로 시작하고 다른 점만 작성합니다. 권장: 반복되는 부분(캡션, 제목, 스피커 레이아웃, CTA)을 kit/의 테스트된 구성 요소 키트로 구축합니다. 스킬을 ~/.claude/skills/style-<slug>/SKILL.md에 저장한 후 styles.py set <slug> status=ready board_url=<board artifact URL>을 실행합니다. 스타일 이름과 새 세션에서 나열될 것임을 사용자에게 알립니다.


B단계: 훈련된 스타일로 클립 편집

가장 강력한 모델과 노력을 사용합니다.

B0. 스타일 선택

styles.py list. 사용자가 지정한 경우 해당 스타일을 사용하고, 그렇지 않으면 준비된 스타일을 옵션으로 묻습니다(준비된 스타일이 하나인 경우: 사용할 것을 알려줍니다). 준비된 스타일이 없으면 A단계를 제안합니다. style-<slug>를 로드하고 선택 사항을 plan.json에 기록하여 모든 라운드에서 동일한 스타일을 사용합니다.

B1. 전사 및 컷

  1. transcribe_words.py raw.mp4 --out words.json (히브리어: --language he --model <ivrit-ai folder>).
  2. 낮은 신뢰도의 단어(이름, 숫자, 브랜드)를 표시하고 계획 수립 전에 수정합니다.
  3. 여러 테이크가 있는 경우 사용자와 함께 선택(--keep keep.json)한 후, cut_silences.py raw.mp4 --words words.json --out edit_ready.mp4 --pad-ms 120 (일부러 펀치감 있는 스타일의 경우 30ms만). 결합 부분에는 15ms 오디오 페이드를 적용합니다.
  4. VAD 없이 모든 결합 부분을 다시 듣고(transcribe_words.py edit_ready.mp4 --start .. --end .. --no-vad --no-context), 단어 끝을 확인하고(word_edges.py --at <t>), verify_cut.py를 실행합니다. 숨겨진 반복과 잘린 끝은 소유자가 아닌 여기서 발견됩니다. 이후 모든 것은 edit_ready.mp4와 edit_ready.words.json을 사용합니다.

B2. 편집 계획 (요청 없이 표시)

스크립트를 비트(각각 하나의 아이디어 또는 라인)로 분할합니다. 각 비트에 대해 스타일 라이브러리에서 세 가지 디자인을 참고 자료가 배치하는 방식으로 배치하고, 하나는 ההמלצה שלי로 표시합니다. 각 옵션: 제목, 카테고리, 장면 유형(פנים + כתוביות / שכבה מעל הפנים / סצנה מלאה), 구체적인 설명, Ref V##-A##; 각 비트: 왜 적합한지(참고 자료 및 규칙 번호 인용) 및 카메라 노트. references/craft-rules.md §1(은유, 실제 작동하는 것, 보이지 않는 것을 보이게 만들기, 움직임에 대한 참조, 절대 반복되지 않음)의 다섯 가지 질문으로 각 비트를 디자인합니다. assets/plan-template.html에서 plan.html을 빌드하고 540p 프록시를 clip.mp4로, 옵션 스틸을 thumbs/로 게시합니다.

B3. 체크포인트 2: 사람이 계획

사용자가 비트당 하나의 디자인을 선택하거나 직접 작성하고 העתקת התוכנית를 눌러 다시 붙여넣습니다. 계획 패턴을 조언으로 제공합니다: 스피커로 열기; 후크는 하나의 강력한 비트; 얼굴에 발표, 시각 자료로 설명; 사람 → 콜아웃; 이야기 → B-roll; 장면 유형 균형 맞추기. 사용자가 완전한 제어권을 주는 경우("אתה מחליט"), 선택을 진행하고 그렇게 말합니다.

B4. 빌드

  1. 선택된 각 디자인에 대해 라이브러리 폴더를 열고 복사할 정확한 디자인을 기록합니다.
  2. 에셋 목록을 항목별 출처(실제 UI, 공식 로고, 도구 제작자의 자체 쇼케이스 클립, 사용자 파일, 라이선스 음악/SFX, 선택적 생성 이미지 또는 3D)와 함께 작성하고 표시합니다. 다운로드 전에 묻습니다. 모든 출처를 SOURCES.md에 기록합니다.
  3. HyperFrames(먼저 해당 스킬 로드) 또는 대체 엔진으로 빌드: edit_ready.mp4를 스피커 트랙으로 하는 1080x1920 컴포지션 1개; 스타일 토큰; 스타일 키트를 먼저 사용. 순서: 단어 파일에서 전체 동영상에 대한 캡션, 그 다음 계획 순서로 각 비트. 처음 2개의 비트를 먼저 빌드하고, 스냅샷을 찍어 스타일의 참고 프레임과 비교한 후 조정하고, 나머지를 진행합니다. references/craft-rules.md를 따르고 references/pitfalls.md를 확인합니다.
  4. 검증(오류 0), 0.5초마다 스냅샷(밀집된 비트와 CTA 위에서는 0.2초), 모든 스냅샷을 읽고 수정합니다. 그런 다음 드래프트(저화질, 음악 포함)를 렌더링하고 검토 페이지를 엽니다. 첫 번째 드래프트는 완성도의 60-70%에 불과하다고 명확히 말합니다.

B5. 검토 라운드

다음 표준을 따릅니다: (참고: 원문이 잘렸으므로, 이 부분은 일반적인 검토 라운드 절차를 따르며, references/craft-rules.md의 검토 규칙과 STYLE.md의 검토 라운드 규칙 섹션을 참조합니다.) 각 라운드마다 사용자가 피드백을 제공하면 스타일 규칙에 따라 수정하고, 변경 사항을 revisions.md에 기록하며, 최대 3라운드까지 반복합니다. 사용자가 만족하면 최종 고화질 버전을 렌더링하고 결과물을 제공합니다.

관련 스킬