Communitygithub.com

Kallaway 영상 편집기 (learnaiwithhugo/video-editor-skills)

원본 토킹헤드 클립을 Kallaway 스타일의 Instagram 릴로 편집합니다. (검은 점선 무대, 아이디어당 하나의 다이어그램, 얼굴이 튀어나오는 라운드 페이스 카드, 한 단어 흰색 자막, 빨간색 악센트, 단어 시작점의 하드 컷, 모든 애니메이션의 실제 사운드 효과, 선택적 덕킹 배경 음악). 무료 로컬 도구(ffmpeg, Whisper, HyperFrames)만 사용하며 `/kallaway-edit` 명령어로 실행됩니다.

video-editor-skills)란 무엇인가요?

이 에이전트 스킬은 Kallaway 스타일의 Instagram 릴(1080×1920, 30fps, -14 LUFS)을 제작합니다. 원본 클립에서 최종 수직 영상까지 완전 자동화된 워크플로우를 제공하며, 모든 처리는 사용자의 Mac에서 무료 오픈소스 도구(ffmpeg, Node.js, HyperFrames, faster-whisper)만으로 이루어집니다. 사용자가 비기술적일 것이라는 가정하에 각 단계를 간단한 영어로 안내하며, 코드를 다루게 하지 않습니다. 내부적으로는 자막 추출, 최적 테이크 선택, 그래픽 장면 생성(검은 점선 무대, 아이디어당 하나의 라이브 다이어그램, 튀어나오는 라운드 페이스 카드), 사운드 효과 및 배경 음악 믹싱, 최종 렌더링을 수행합니다. 특히 모든 애니메이션에 실제 사운드 큐를 할당하고, 빨간색(#C41514)만을 유일한 악센트 색상으로 사용하며, 단어 시작점에서 하드 컷을 적용하는 등 스타일 일관성을 유지합니다. 지원하는 플랫폼은 Claude Code(터미널 앱, 데스크톱 앱의 Code 탭, 또는 IDE 확장)입니다. 워크플로우는 설정 마법사 → 클립 분석 및 테이크 선정 → 스피커 컷아웃 → 음악 선택 → 장면별 편집 계획 → 장면 HTML 생성 → 렌더링 및 QA 검증 → 최종 전달의 8단계로 구성됩니다.

지원 대상✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/learnaiwithhugo/video-editor-skills/tree/HEAD/skills/kallaway-edit

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

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

문서

/kallaway-edit

원본 클립을 Kallaway 스타일의 완성된 수직 릴(1080×1920, 30fps, -14 LUFS)로 변환합니다. 모든 작업은 사용자의 Mac에서 무료 도구로 실행됩니다. 이 기능을 사용하는 사람은 일반적으로 기술적이지 않습니다: 평범한 영어로 한 번에 하나의 짧은 메시지로 대화하고, 절대 코드를 직접 다루게 하지 마십시오.

SK = ${CLAUDE_SKILL_DIR}, 이 스킬의 폴더입니다 (절대 쓰지 마십시오: 업데이트 시 교체됩니다). DATA = $HOME/.claude-video-editor, 편집기 자체의 폴더로, 업데이트 간 유지됩니다: 사용자 설정 (DATA/config.json), 편집기의 Python (DATA/venv), 사운드 효과 (DATA/sfx). ROOT = 프로젝트 폴더 (raw/, exports/ 포함): DATA/config.json의 projectRoot로, 설정 마법사(0단계)에서 저장됩니다. WORK = ROOT/work/<slug>/ (릴당 하나의 폴더; slug는 짧은 케밥 케이스, 예: opus-tips). 모든 경로를 따옴표로 묶으십시오: 공백이 자주 포함됩니다. 모든 스크립트는 다음 두 가지 중 하나를 통해 정확히 작성된 대로 실행하여 사용자 설정을 찾을 수 있도록 하십시오: PY = VIDEO_EDITOR_DATA="$HOME/.claude-video-editor" "$HOME/.claude-video-editor/venv/bin/python" -I (설정 후) SETUP = VIDEO_EDITOR_DATA="$HOME/.claude-video-editor" python3 -I "${CLAUDE_SKILL_DIR}/scripts/setup.py" 빌드하기 전에 다음을 읽으십시오: references/style-rules.md (숫자로 표현된 모양), references/graphics-recipes.md (말한 아이디어가 다이어그램이 되는 방법), references/gotchas.md.

엄격한 규칙

  • 무료 도구만 사용. ffmpeg, Node 22+, Python, HyperFrames (npx hyperframes@<pinned>), faster-whisper, HyperFrames의 로컬 배경 제거, 번들된 OFL 글꼴, HyperFrames 미디어 사용의 녹음된 사운드 효과 (설정 시 가져오며, 절대 번들되지 않음: Pixabay 라이선스), Openverse 또는 사용자 자신의 트랙의 CC0/CC BY 음악. 유료 API, HeyGen 로그인, 음악 생성, 저작권 있는 자료는 절대 안 됩니다.
  • 사용자가 지정할 수 있는 옵션: music: on|off (기본값: 설정 시 저장된 선택), music: <자신의 트랙 경로>, setup (설정 마법사 재실행).
  • 절대 npx hyperframes init 또는 npx hyperframes skills를 실행하지 마십시오 (~/.claude/skills에 스킬이 설치됩니다). 모든 HyperFrames 호출: HYPERFRAMES_SKIP_SKILLS=1 HYPERFRAMES_NO_TELEMETRY=1. 항상 snapshot ... --describe false를 사용하십시오 (그렇지 않으면 프레임이 Gemini에 업로드됩니다).
  • 사용자의 원본 영상을 절대 건드리지 마십시오. raw/의 복사본으로 작업하십시오. 작업 파일은 WORK에; 완성된 릴만 exports/에 넣습니다. 사용자의 파일을 삭제하지 마십시오.
  • 자막은 실제로 말한 내용을 올바르게 표시합니다 ("Claude", "Opus 5.5"), 숫자는 숫자로 표시합니다.
  • 그래픽은 얼굴을 가리지 않습니다; 텍스트는 y 1470 아래 또는 y 1155 아래 오른쪽 100px 안에 배치되지 않습니다.
  • 아무것도 밖으로 애니메이션되지 않습니다. 빨간색 #C41514이 유일한 악센트입니다. 제목과 섹션마다 하나의 세리프 이탤릭 단어가 사용됩니다.
  • 작업 과정을 보여주십시오: 각 단계에서 번호가 매겨진 PNG를 WORK/progress/에 저장합니다 (01-takes-picked.png, ...).
  • 완료되었다고 말하기 전에 qa.py로 최종 렌더를 전체 크기로 확인하십시오. 일치하지 않는 부분에 대해 정직하십시오.

워크플로우

0. 설정 마법사 (처음 한 번만, 약 5-10분)

DATA/config.json을 읽으십시오. "setupComplete": true이고 projectRoot 폴더가 존재하면 SETUP --check를 실행하십시오 (몇 초, 아무것도 설치하지 않음); READY면 1단계로, NOT READY면 명명된 항목을 수정하십시오 (새 도구 버전이 필요한 업데이트 후에는 SETUP만 다시 실행하면 됩니다: 사용자의 폴더와 선택 사항이 유지됩니다). 그렇지 않으면 (처음 실행 또는 사용자가 "/kallaway-edit setup"을 입력한 경우) 마법사를 실행하십시오. 각 단계를 한 줄로 알리십시오 ("5단계 중 2단계: 도구 확인 중").

  1. 환영. "Kallaway 편집기에 오신 것을 환영합니다! 설정을 시작하겠습니다. 약 5-10분이 소요되며 한 번만 진행됩니다."
  2. Claude Code에서 실행 중인가요? 이 기능은 로컬 폴더에서 열린 Claude Code (터미널 앱, Claude 데스크톱 앱의 Code 탭, 또는 IDE 확장)가 필요합니다. 실제 비디오 파일을 편집하기 때문입니다. 셸 명령을 실행하고 로컬 파일을 읽을 수 있다면 맞습니다. 그렇지 않다면 (일반 채팅): "Claude 데스크톱 앱을 열고, Code를 클릭하고, Local을 선택한 다음, 폴더를 선택하거나 (AI video editor라는 폴더를 만드세요), /kallaway-edit을 다시 입력하세요."라고 말한 후 중단하십시오.
  3. 도구 확인. SETUP --check. 결과를 짧은 표로 표시하십시오: 도구, 찾음 여부, 용도 (ffmpeg는 자르기와 사운드 믹싱; Node.js는 HyperFrames 실행; HyperFrames는 편집을 비디오로 변환; faster-whisper는 모든 단어 청취; Python은 도우미 스크립트 실행; yt-dlp는 선택 사항, 링크에서 릴 다운로드 및 /new-edit-style 필요). 사용자가 직접 설치해야 하는 항목 (ffmpeg, Node.js, Python)에 대해 한 줄로 수정 방법을 알려주고 붙여넣을 위치를 말하십시오: 터미널 앱 (Mac: Command + Space, Terminal 입력). Mac 비밀번호를 묻는 경우 사용자가 직접 입력해야 하며, 이 채팅에서는 절대 입력하지 마십시오. 완료되었다고 말할 때까지 기다린 후 다시 확인하십시오. "전체 설정이 설치합니다"로 표시된 항목은 사용자의 조치가 필요하지 않습니다.
  4. 파일 위치. 한 번의 메시지로 다음을 물어보고, 각각에 대해 제안된 답변을 함께 제시하십시오:
    • "동영상을 어디에 만들까요?" 현재 폴더가 비어 있거나 이미 비디오 폴더인 경우 현재 폴더 (전체 경로 표시)를 제안하고, 그렇지 않으면 ~/Desktop/AI video editor를 제안하십시오.
    • "영상 원본은 보통 어디에 저장하나요?" ~/Downloads (AirDrop이 휴대폰 클립을 넣는 곳) 또는 "제가 직접 raw 폴더에 클립을 넣겠습니다"를 제안하십시오.
    • "목소리 아래 배경 음악: 켜기 또는 끄기?" 켜기를 제안하십시오 (비디오마다 변경 가능). 그런 다음 폴더를 제안하십시오: "프로젝트 폴더를 설정할까요? raw/ (클립), references/ (스타일이 마음에 드는 비디오), exports/ (완성된 릴), work/ (작업 파일) 및 archive/ (이전 버전)을 만들겠습니다. 이미 있는 것은 그대로 둡니다." 예인 경우: SETUP --project "<폴더>" --clips-from "<폴더 또는 생략>" --music on|off. 누락된 폴더만 만들고 답변을 DATA/config.json에 저장합니다.
  5. 설치. "무료 편집 도구를 지금 설치합니다 (한 번, 약 5분: 전사 엔진, 비디오 렌더러, 사운드 효과 및 음성 모델)." SETUP을 백그라운드에서 실행하고 진행 상황을 평범한 말로 전달하십시오. DATA에만 설치합니다 (전역 또는 스킬 폴더에 설치하지 않으므로 업데이트가 이를 취소하지 않음) 완료되면 설정 완료를 표시합니다.
  6. 완료. references/filming-guide.md의 4가지 촬영 팁 (고정 카메라, 와이드 샷, 어두운 방에 따뜻한 조명, 문장이 완성될 때까지 반복)을 제공한 다음: "준비되었습니다. 클립을 raw/에 넣거나 (또는 에서 어떤 파일인지 알려주세요) /kallaway-edit을 입력하세요." 이미 클립을 제공했다면 바로 1단계로 진행하십시오.

매 실행 시 수집: 클립은 사용자가 지정한 파일입니다. 그렇지 않으면 clipsFrom에서 가장 최신 비디오 파일을 제공하여 물어보십시오. 복사하여 ROOT/raw/에 넣으십시오 (원본을 이동하거나 변경하지 마십시오). 음악은 사용자가 달리 말하지 않는 한 저장된 music 선택을 따릅니다.

1. 모든 테이크 찾기 (영상 1분당 약 1분)

PY "SK/scripts/takes.py" "WORK" "ROOT/raw/clip1.MOV" "ROOT/raw/clip2.MOV" (--fast를 추가하면 더 빠르지만 덜 정확한 분석). WORK/takes/*.takes.txt를 읽으십시오: 시간 범위와 재시도 표시가 있는 모든 시도. 스크립트가 있으면 클립에서 찾아서 물어보십시오. "클립을 듣고 각 대사의 최고 테이크를 찾는 중입니다."라고 말하십시오.

2. 테이크 선택 및 자르기 (약 1분)

WORK/edl.json 작성 (형식: SK/template/examples/edl.json): 스크립트 순서대로 한 줄에 한 세그먼트, 일반적으로 마지막 완전하고 깨끗한 테이크. {"clip","chunk"} 또는 {"clip","start","end"} 사용 (청크 내의 말 실수 건너뛰기; transcribe.py --range a-b --model medium.en --no-vad로 단어 시간 확인). 목표 20-30초; 약간 초과 (약 38초까지)하는 것이 훅이 한 약속을 깨는 것보다 낫습니다. 요청하지 않는 한 CTA는 건너뛰십시오. 그런 다음 PY "SK/scripts/assemble.py" "WORK": cut.mp4 (CFR, 음성에 맞춤, 압축, -14 LUFS), segments.json, words.json, words.txt. words.txt 읽기: 모든 줄이 의도한 내용을 말해야 합니다. PY "SK/scripts/qa.py" "WORK" --takes는 progress/01-takes-picked.png를 씁니다. "컷입니다: <대사>. 초."라고 말하십시오. 그래픽을 빌드하기 전에 컷을 고정하십시오. 나중에 다시 자르는 경우: PY "SK/scripts/reindex.py" "WORK" "WORK/.prev/words.json"는 모든 그래픽을 해당 단어에 유지합니다.

3. 스피커 컷아웃 (약 3-4분, 백그라운드에서 실행)

PY "SK/scripts/cutout.py" "WORK": cutout.webm (프레임 일치, 가장자리 정리) + headtrack.json. 실행 중에 편집을 계획하십시오 (4단계). 그런 다음 검은 배경에 합성된 한 프레임을 보고 헤일로를 확인하고 progress/02-cutout-check.png로 저장하십시오.

3b. 음악 (music: off가 아닌 경우; 약 2-6분, 백그라운드에서 실행)

PY "SK/scripts/music.py" "WORK" (또는 --file "<노래>", 또는 --off). Openverse에서 무료 CC0/CC BY 기악을 선택하고, 보컬을 거부하며, WORK/music-credit.txt를 씁니다. 사용자에게 선택한 내용을 알리고, CC BY의 경우 크레딧 줄이 캡션에 포함된다고 알리십시오.

4. 편집 계획, 한 줄씩

WORK/plan.json 작성 (형식: SK/template/examples/plan.json):

  • shots: 각 레이아웃이 시작되는 위치 (0, "line:N" = EDL 라인 N의 첫 프레임, "w:N" = 단어 N의 시작). 보여줄 수 있는 것은 무대; 연결/개인적 대사와 페이오프는 풀 (런타임의 16-29%). 무대 장면 간에도 하드 컷. 첫 컷은 약 3.5초.
  • scenes: 어떤 그래픽이 언제 재생되는지 (id, from, to, 선택적 src + vars로 하나의 장면 파일을 여러 번 마운트, 예: 반복되는 번호가 매겨진 "홈" 그래픽). 장면은 풀 샷 아래에서 실행되고 다시 돌아올 수 있음 (재방문은 0.6초에 새로운 것을 하나 추가).
  • punch: 닫는 구절에 스냅 펀치인 (x1.19, 라이저 포함), 최대 한두 개.
  • captions: fix (단어 인덱스 -> 올바른 텍스트), emphasis (섹션당 하나의 세리프 단어), keep_together (단어 인덱스 쌍, 예: "Number" + "1,"). graphics-recipes.md 사용: 모든 아이디어는 모양, 제목 (볼드 + 하나의 세리프 악센트, 빨간색 상자에 주장), 그리고 단어에 대한 비트, 약 1초마다 새로운 것을 가집니다. 계획을 한 샷당 한 줄로 말하십시오.

5. 장면 빌드 (약 15-25분)

각 장면은 WORK/scenes/<name>.html이며, SK/template/scene-starter.html 또는 SK/template/examples/ (6개의 실제 장면)에서 가장 가까운 파일로 시작합니다. 키트 (template/kit/kw.css, kw.js)는 무대 모양과 모션 도우미 (KW.title, blurIn, pill, pulse, draw, cam, type, strike, count, scramble; at(i) = 단어 i의 시작)를 제공합니다. 모든 애니메이션은 장면의 <!--KW:SFX [...] --> 주석에 사운드 큐를 가져야 합니다. 예: {"t": "w:24-0.02", "s": "whoosh"}, references/sound-map.md 따름 (카메라 이동 = whoosh, pill = pop, snap/tick = click, 타이핑된 텍스트 = typing, 큰 순간 = impact, 페이오프 = sparkle). Agent 도구가 있고 장면이 약 3개 이상인 경우, 최대 2개의 병렬 에이전트에 장면을 위임하십시오: 정확한 단어 목록 및 시간, 아이디어, 이 스킬의 참조, 그리고 build.py ... --project WORK/project-<letter>와 함께 제공하여 충돌하지 않도록 하십시오. PY "SK/scripts/build.py" "WORK"는 WORK/project/를 씁니다 (루트: 점선 무대, 페이스 카드, 팝업 레이어, 캡션 트랙, 장면 호스트, SFX 레인, 모두 생성됨). 그런 다음 WORK/project에서: npx -y hyperframes@<pin> lint (0 오류) 및 snapshot --at <times> --no-end --describe false -o snaps/x, PNG를 읽고, 수정하고, 반복하십시오. 각 장면의 시트를 progress/03-scene-.png로 저장하십시오.

6. 렌더링 (약 1분) 및 확인 (약 1분)

PY "SK/scripts/render.py" "WORK" --name draft (빠름), 그런 다음 PY "SK/scripts/qa.py" "WORK" "WORK/renders/draft.mp4"를 실행하고 qa/cuts.png (모든 컷 전후 프레임), qa/beats.png (모든 캡션 청크), qa/report.txt (컷-음성 간격, 음량)를 확인하십시오. 확인: 팝업에 컷 후 헤일로나 드리프트가 없음; 카드에 머리와 어깨가 모두 표시됨 (얼굴 크롭 없음); 얼굴에 캡션 또는 그래픽 없음; 캡션이 단어와 일치함; 모든 대사 컷이 음성 시작 전 0-80ms에 착지함; Instagram 금지 구역에 아무것도 없음. 그런 다음 PY "SK/scripts/audiomap.py" "WORK" --out progress/NN-audio-map.png: 음악 18-24dB 아래 음성, 효과 ~10-16dB 아래 로컬 피크, 이중 히트 없음; 플래그된 큐를 "db": -3으로 수정하십시오. 스타일 일치: PY "SK/scripts/match/fingerprint.py" score "SK/references/style-spec.json" "WORK/renders/draft.mp4" --out "WORK/progress/NN-style-match.md"는 3개의 Kallaway 릴이 측정된 것과 동일한 방식으로 편집을 측정합니다 (컷 속도, 초당 시각적 변화, 레이아웃 점유율, 카드 및 캡션 위치, 캡션 크기 및 속도, 악센트 색상 점유율, 음량, 스테레오 사운드 효과) 각 FAIL에 대해 수정할 사항을 알려줍니다. 편집이 제어하는 것을 수정하십시오; 영상 (가까운 셀카)으로 인한 FAIL은 촬영 노트로 사용자에게 전달하십시오. WORK/progress/의 보고서가 기록입니다 (SK/references/lock-log.md는 스타일의 측정된 기록을 보유합니다; 그대로 두십시오). 수정하고 다시 렌더링하십시오 (재빌드 + 재렌더링은 약 1.5분 소요).

7. 전달

PY "SK/scripts/render.py" "WORK" --final -> exports/<slug>-kallaway-vN.mp4 (1080x1920) + -720p.mp4 휴대폰 복사본. 내보내기에서 qa.py를 실행하십시오. 사용자가 ROOT/references/에 저장한 자신의 Kallaway 릴이 있는 경우 (이 스킬에는 포함되지 않음), 나란히 보기 (--ref <릴> --ref-at <t> --at <t>)를 추가하고 progress/NN-side-by-side.png로 저장하십시오. 말하십시오: 파일 위치, 길이, 장면별 내용, 그리고 여전히 Kallaway처럼 보이지 않는 부분 (구체적이고 정직하게).

소요 시간 (M4 Pro Mac, 약 8분 원본 영상에서 35초 릴 기준)

설정 5분 (처음 한 번) · 테이크 7분 (medium 모델; --fast 약 3) · 컷 1분 · 컷아웃 3.5분 · 음악 2-6분 (백그라운드; Openverse/Freesound는 느릴 수 있음) · 장면 15-25분 · 드래프트 렌더 50초 · 최종 렌더 70초 · 편집 후 재렌더링 약 1.5분.

촬영

촬영 예정인 사람에게 references/filming-guide.md를 제공하십시오: 고정된 와이드 샷 (가로 4K가 가장 좋음), 어두운 방에 따뜻한 키 라이트, 어두운 상의, 머리 뒤의 평범한 배경, 문장이 완성될 때까지 반복.

Individual skills in this repo

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

learnaiwithhugo/video-editor-skills

Style Studio. Walks a creator (usually non-technical) through building their OWN video editing style on an interactive page in their browser - their colours and font, reference reels they love broken down frame by frame, then rounds of real animated options (captions, accent and intro text, zooms, diagrams, logos, split screen, tool talk, sound effects) they mark Keep / Maybe / Drop, plus Shine, Zoom and Shadow labs with Lock buttons. Ends with a STYLE.md guide and locked settings that /edit-my-video uses. Use whenever someone says "/build-my-style", "build my style", "make my editing style", "style studio", "I want my own edit style", "copy the editing style of these reels", "make my brand style for videos", sends reels they want their edits to look like, or comes back to carry on their style (rounds, labs, sounds). Also the STYLE keyword giveaway.

learnaiwithhugo/video-editor-skills

Edit raw talking-head clips into a finished vertical Instagram reel in the creator's OWN style, read from a style folder made by build-my-style (STYLE.md, locked shine/zoom/shadow, picked sound effects). Picks the last clean take of every line, shows a storyboard page first (a still per beat, A/B/C options on the key beats, Approve/Change and notes), optionally renders short variations of key moments to pick from, then builds the full edit in HyperFrames, reviews its own render, and turns every note the user gives into a dated rule in their STYLE.md so the next edit is better. Free local tools only. Use whenever someone says "/edit-my-video", "edit my video", "edit these clips", "make this into a reel in my style", "storyboard this edit", drops a folder of raw clips and wants an edit, or gives notes on an edit this skill made ("I don't like the zoom", "make the logos bigger").

learnaiwithhugo/video-editor-skills

Create a new editing-style skill from 2-3 reference reels of one creator or style (e.g. "make me a skill that edits like @creator"). Downloads the reels, measures them frame by frame, has one agent break down each reel, merges the breakdowns into a style guide plus a measurable style spec, clones the proven editing engine into a new /<style>-edit skill, then locks the style with a match score, pixel font matching, a golden recreation test, one critic round and the user's ear check. Free local tools only. Use when someone says "/new-edit-style", "make an edit style skill", "copy this creator's editing style", "I want to edit like X", or drops several reels from one creator and asks for their style.

관련 스킬