Communitygithub.com

assafkip/claude-video-editor

초보자도 쉽게 사용할 수 있는 HyperFrames용 엔드투엔드 비디오 제작 스킬입니다. 사용자가 "make a video", "create a video", "new video", "build a video", "video from scratch", "I want to make a video", "help me create a video"라고 말하거나 HyperFrames를 처음 사용하는 사람이 컨셉, 스크립트, 또는 대략적인 아이디어를 가지고 와서 완성된 MP4 파일을 원할 때 사용하세요. 한 번의 인터뷰로 사용자의 요구사항을 파악한 후, 필수 미리보기 및 시각적 확인 단계를 거쳐 전체 비디오를 제작합니다.

claude-video-editor란 무엇인가요?

이 스킬은 HyperFrames 프레임워크를 기반으로 비디오 제작을 완전 자동화하는 초보자 친화적인 Claude Code 스킬입니다. 사용자가 개념, 스크립트, 개요 등 어떤 형태로든 아이디어를 제시하면, 스킬은 1단계(인터뷰, 게이트 1~4)에서 비디오의 의도, 형식, 스크립트, 음성, 스타일, 자산, 페이싱 등 필요한 모든 정보를 대화식으로 수집하고 종합하여 BRIEF.md를 작성한 후 사용자의 명시적인 승인을 기다립니다. 승인이 완료되면 2단계(빌드, 게이트 5~8)로 넘어가 프로젝트 폴더를 생성하고, 스토리보드를 작성하며, 개별 구성을 빌드하고, 린트를 수행한 후 Studio 미리보기를 통해 사용자에게 시각적 확인을 요청합니다. 최종적으로 드래프트 렌더링 후 필수 프레임 추출 및 시각적 검증을 거쳐, MP4 미리보기와 최종 렌더링을 제공합니다. 스킬은 9:16 세로형 토크쇼 형식의 경우 `/short-form-video` 스킬로, URL로 시작하는 경우 `/website-to-hyperframes` 스킬로 원활하게 핸드오프하며, 각 게이트는 반드시 순서대로 수행되어야 합니다. 이 스킬은 Claude Code, Cursor, Codex, Copilot 등 모든 AI 에이전트 플랫폼에서 사용할 수 있도록 설계되었습니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/assafkip/claude-video-editor/tree/HEAD/skills/make-a-video

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

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

문서

Make a Video — 초보자용 완성 MP4 제작 스킬

두 단계, 8개의 순차적 게이트로 구성됩니다. 각 게이트는 다음 게이트가 사용할 구체적인 결과물을 생성합니다. 게이트를 건너뛰지 마세요.

이 스킬을 사용해야 하는 경우 — 그리고 핸드오프해야 하는 경우

이 스킬을 사용해야 하는 경우:

  • 사용자가 HyperFrames를 처음 접하고 개념, 스크립트, 또는 개요부터 시작하는 경우
  • 엔드투엔드 워크스루를 원하고 프레임워크 참조 자료를 원하지 않는 경우
  • 아직 포맷을 결정하지 못한 경우

핸드오프해야 하는 경우:

  • 사용자가 URL을 붙여넣고 해당 사이트의 비디오를 원하는 경우 → /website-to-hyperframes 호출
  • 사용자가 명시적으로 9:16 세로형 토크쇼(얼굴 + 장면 오버레이)를 원하는 경우 → 게이트 1–4를 여기서 실행하고, 게이트 5부터 /short-form-video 호출
  • 사용자가 비디오가 아닌 프레임워크 규칙을 원하는 경우 → /hyperframes 호출

두 단계

  • 1단계 — 인터뷰 (게이트 1–4): 코드를 건드리기 전에 모든 것을 수집하는 단일 대화 패스입니다. 의도, 형식, 스크립트, 음성, 스타일, 자산, 페이싱. BRIEF.md로 종합하고 명시적인 승인을 기다립니다.
  • 2단계 — 빌드 (게이트 5–8): 스캐폴드 → 스토리보드 → 컴포지션 → 린트 → Studio 미리보기 → 드래프트 렌더 → 시각적 확인 → MP4 미리보기 → 최종 렌더.

게이트 1 · 의도 및 형식

AskUserQuestion을 통해 한 번에 하나의 질문을 하고, 가능하면 객관식으로 제공합니다.

  1. 이 비디오의 용도는 무엇인가요? (홍보 · 소셜 광고 · 출시 티저 · 제품 데모 · 튜토리얼 · 설명 영상 · 인트로/아웃트로 카드 · 기타)
  2. 대상 시청자는 누구인가요? (자유 응답)
  3. 목표 길이는? (10–20초 숏 · 20–45초 홍보 · 45–90초 설명 · 1.5–3분 강의 · 사용자 정의)
  4. 화면 비율은? (16:9 1920×1080 · 9:16 1080×1920 · 1:1 1080×1080)
  5. 프레임 레이트는? (30 기본 · 60 선명한 UI용 · 24 영화용)
  6. 플랫폼/전달 제약 사항은? (파일 크기 · 마감일 · 재생 위치)

게이트: 6개 모두 캡처됨. 답변이 9:16 + 얼굴 캠인 경우, 게이트 5에서 /short-form-video로 핸드오프할 계획을 세웁니다.

전체 질문 은행: Read: references/interview-questions.md


게이트 2 · 스크립트 및 음성

  1. 스크립트 출처는? (붙여넣기 · 개요 → 제가 초안 작성 · 제가 녹음 · 텍스트 TTS · 내레이션 없음)
  2. TTS인 경우: 음성 선호도. npx hyperframes tts --help에서 선택지를 제공합니다. 페이스도 캡처합니다.
  3. 얼굴 캠인 경우: 녹화 경로 · 전체 화면 또는 모서리 배치 · 대본이 필요한가요? (npx hyperframes transcribe <file> --model small.en --json)
  4. 자막은? (끄기 · 하이프 · 코퍼레이트 · 가라오케 단어별 · 미니멀)

게이트: 스크립트 캡처(또는 초안 작성) 완료, 오디오 계획 캡처 완료, 자막 계획 캡처 완료.


게이트 3 · 스타일 수집

사용자에게 무엇이든 묻기 전에, 기존 자산을 먼저 목록화하세요. <workspace-root>/assets/ 및 모든 프로젝트 assets/ 폴더를 확인하세요. 이미 있는 것을 묻지 마세요.

그런 다음 점진적으로 물어보세요. 사용자가 모든 질문에 답할 필요는 없습니다.

  1. 스타일 가이드 또는 브랜드 문서가 있나요? (붙여넣기/경로 · 없음)
  2. 색상 팔레트는? (HEX 코드 · 없음 — MOTION_PHILOSOPHY 기본값 사용)
  3. 폰트는? (Google Fonts 이름 · 파일 경로 · 없음 — Inter + JetBrains Mono 기본값 사용)
  4. 로고 파일이 있나요? (경로 · 없음 — 텍스트 워드마크 사용)
  5. 분위기를 위한 참고 비디오가 있나요? (URL/경로 · 없음)
  6. 기타 자산은? (스크린샷 · 제품 사진 · B-roll · 음악 — 경로 나열)
  7. MOTION_PHILOSOPHY 미학 (검정 캔버스 · 크롬 타이포 · 원근 그리드 · 휩 트랜지션) 또는 다른 느낌?
  8. 페이싱은? (1–2초 역동적 · 2–3초 균형 · 3–5초 여유)
  9. 음악은? (없음 · 앰비언트 패드 0.15 · 배경 음악 0.4 · 전체 0.8 — 파일 경로가 있으면 제공)
  10. 아웃트로 / 클릭 유도 문구?

절대 사용자에게 브랜드를 강요하지 마세요. 사용자가 명시적으로 스타일 제공을 거부하는 경우에만 MOTION_PHILOSOPHY 기본값으로 대체하세요.

전체 스타일 흐름 + MOTION_PHILOSOPHY 기본값: Read: references/style-intake.md


게이트 4 · 브리프 종합 (빌드 전 하드 게이트)

  1. MOTION_PHILOSOPHY.md 가 작업 공간 루트에 있으면 읽습니다 — 있으면 필수입니다. 없으면 references/style-intake.md의 기본값을 사용하고 브리프에 부재를 기록합니다.
  2. 프로젝트 위치를 묻습니다 (명확하지 않은 경우):
    • video-projects/ 가 있으면 → video-projects/<슬러그>/ 사용
    • 그렇지 않으면 → 사용자에게 물어봅니다
  3. <프로젝트-폴더>/BRIEF.md 작성:
    • 슬러그 · 의도 · 대상 · 해상도 · FPS · 길이
    • 스크립트 (전체 또는 개요)
    • 음성 선택 · 자막 계획 · 얼굴 캠 계획
    • 스타일 프로필: 팔레트(HEX), 폰트, 로고 경로, 참고 비디오
    • 페이싱
    • 자산 목록 (경로 포함)
    • 아웃트로 / CTA 텍스트
  4. 브리프를 보여줍니다. 명시적인 승인을 기다립니다. "네, 빌드하세요"라는 명확한 확인 없이 게이트 5로 진행하지 마세요.

게이트 5 · 스캐폴드 및 스토리보드

먼저 핸드오프 확인

브리프가 9:16 세로형 토크쇼(얼굴 캠 + 장면 오버레이)인 경우, 지금 /short-form-video를 호출하고 브리프를 전달합니다. 해당 형식에 맞춰 제작된 4-레이어 스캐폴드가 있습니다.

그렇지 않으면 계속 진행합니다:

스캐폴드

  1. mkdir <프로젝트-폴더>
  2. 비슷한 형식의 형제 프로젝트가 있으면, hyperframes.json + meta.json을 템플릿으로 복사할 것을 제안합니다. 그렇지 않으면 폴더 내부에서: npx hyperframes init
  3. 사용자의 슬러그, 해상도, FPS로 meta.json을 편집합니다.
  4. 제공된 자산을 <프로젝트-폴더>/assets/에 복사합니다.
  5. 게이트 3의 <프로젝트-폴더>/assets/style-profile.md를 생성합니다 — 팔레트/폰트/로고의 단일 진실 공급원입니다.

스토리보드

references/storyboard-template.md의 템플릿을 사용하여 <프로젝트-폴더>/STORYBOARD.md를 생성합니다. 모든 비트에는 다음이 포함됩니다:

Beat N — 제목 (시작-끝, 길이) — 한 문장으로 설명하는 컨셉
시각 요소: [각 요소, 크기, 애니메이션, 타이밍]
모션 언어: [모션 종류]
사용된 이징: [3–4개의 고유 GSAP 이징]
종료: [다음 비트로의 전환]
오디오: [VO 라인 / SFX / 음악 레이어]

파일 상단: 씬 · 시작 · 길이 · 컴포지션 파일이 포함된 타이밍 테이블.

3막 구조를 제안합니다:

  • 1막 (훅) ≈ 전체 길이의 20%
  • 2막 (본문) ≈ 55%
  • 3막 (페이오프 + 4–6초 홀드가 있는 아웃트로) ≈ 25%

(MOTION_PHILOSOPHY §0 법칙 9, §1)

사용자 의도를 카탈로그 블록에 매핑: Read: references/catalog-intent-map.md

게이트: 스토리보드 + 타이밍 테이블을 보여줍니다. 사용자가 승인할 때까지 반복합니다.


게이트 6 · 컴포지션 빌드

프레임워크 규칙을 위해 /hyperframes를 호출합니다. 이 스킬은 스캐폴드와 규율을 담당하고, /hyperframes는 규칙을 적용합니다.

모든 하위 컴포지션 스캐폴드

<div data-composition-id="scene-name" data-start="..." data-duration="...">
  <style>[data-composition-id="scene-name"] { /* 범위 지정 */ }</style>
  <!-- DOM -->
  <script>
    (function(){
      const SLOT_DURATION = ...;
      const tl = gsap.timeline({ paused: true });
      // ... 트윈 ...
      tl.to({}, { duration: SLOT_DURATION }, 0);   // 앵커 — MOTION_PHILOSOPHY 법칙 11
      window.__timelines["scene-name"] = tl;
    })();
  </script>
</div>

전체 보일러플레이트 + 자막 패턴 + 앰비언트 배경 패턴: Read: references/composition-scaffold.md

빌드 규칙

  • 앰비언트 배경은 전체 컴포지션 길이 동안 data-track-index="0"에 설정.
  • 키네틱 타이포 오프너: 단어당 스태거 0.06–0.10초.
  • 자막은 index.html의 루트 컴포지션과 동일한 수준의 형제 요소로, 각각 data-track-index ≥ 20을 가집니다. 절대 씬 타임라인 내부에 넣지 마세요 (MOTION_PHILOSOPHY §3.13).
  • 카탈로그 블록은 npx hyperframes add <이름>으로 설치합니다. 즉시 블록의 CSS를 [data-composition-id="..."]로 범위를 지정하세요 — 카탈로그 블록은 하위 컴포지션으로 로드될 때 상위 문서로 유출되는 html, body { ... } 규칙과 함께 제공됩니다.
  • 세로형 + 얼굴 캠: 기본 1920×1080 얼굴을 하단 절반 또는 전체 화면 모드로 변환(translate + scale)합니다. (여기까지 왔다면 /short-form-video로의 핸드오프를 강력히 고려하세요.)
  • 사용자가 제공한 것만 적용하세요. 그들의 팔레트, 그들의 폰트, 그들의 로고. 다른 것은 주입하지 마세요. 사용자가 MOTION_PHILOSOPHY 기본값을 선택한 경우, references/style-intake.md에서 팔레트 + 폰트 쌍을 가져옵니다.

결정론

Math.random(), Date.now(), 렌더 시간 fetch() 사용 금지. 시드 PRNG 또는 고조파 사인 해시를 사용하세요 (MOTION_PHILOSOPHY §3.10).


게이트 7 · 린트 → Studio 미리보기 (미리보기 게이트 1 — 필수)

  1. npx hyperframes lint — 모든 오류 수정, 경고 분류.
  2. 백그라운드에서 npx hyperframes preview 실행.
  3. http://localhost:3002에서 "Studio running"이 표시될 때까지 기다립니다.
  4. 사용자에게 URL 과 개별 컴포지션 URL(http://localhost:3002/?comp=<id>)을 제공합니다. 프로젝트에 WebGL 셰이더 블록이 있으면 개별 URL을 먼저 제시하세요 — 소프트웨어 WebGL 폴백이 마스터 컴포지션을 지연시킬 수 있습니다.
  5. 진행하기 전에 "드래프트를 렌더링해도 괜찮아 보입니다"라는 명시적인 확인을 기다립니다. 침묵은 승인이 아닙니다.

핫 리로드가 켜져 있습니다 — 편집 내용이 실시간으로 반영됩니다.


게이트 8 · 드래프트 렌더 → 시각적 확인 → MP4 미리보기 → 최종

드래프트 렌더

npx hyperframes render --quality draft --output renders/<슬러그>-draft.mp4

시각적 확인 (전달 전 필수)

린트 통과 ≠ 디자인 작동. 프레임을 추출하여 직접 확인합니다.

  1. mkdir -p renders/frames
  2. 모든 비트의 핵심 순간 및 모든 전환에 대해:
    ffmpeg -y -ss <t> -i renders/<슬러그>-draft.mp4 -frames:v 1 -q:v 2 renders/frames/t<t>.png
    
  3. 모든 PNG에 대해 Read 도구를 호출합니다. Read 도구는 이미지를 컨텍스트에 로드합니다 — 파일 이름만 나열하지 마세요.
  4. 프레임별로 확인: 잘린 얼굴 없음, 씬별 올바른 얼굴 모드, 텍스트 읽기 가능 및 팔레트 일치, 오버플로 없음, 전환이 의도한 단어에 맞춰짐, 빈 프레임 없음.
  5. 문제가 있는 경우: 수정 → 재렌더링 → 재확인. 망가진 드래프트를 절대 배송하지 마세요.

MP4 미리보기 (미리보기 게이트 2 — 필수)

npx serve renders -p 8080 -n

Python의 http.server를 사용하지 마세요 — HTTP Range 요청을 지원하지 않아 스크러빙이 작동하지 않습니다.

사용자에게 http://localhost:8080/<슬러그>-draft.mp4를 제공합니다. 재생 및 오디오 동기화에 대한 명시적인 승인을 기다립니다.

최종 렌더

npx hyperframes render --quality standard --output renders/<슬러그>-final.mp4

출력 경로를 보고합니다. 완료.

전체 사전 점검 및 전달 전 체크리스트: Read: references/build-checklist.md


절대적 규칙 (하중 지지 — 완화하지 마세요)

  • 미리보기 게이트 1 (Studio) 또는 미리보기 게이트 2 (렌더링된 MP4)를 건너뛰지 마세요. 빌드당 항상 두 개의 게이트.
  • 프레임을 추출하고 Read 도구를 통해 직접 확인하기 전까지 렌더가 완료되었다고 말하지 마세요.
  • 전용 프로젝트 폴더 안에서만 빌드하세요. 절대 index.html을 작업 공간 루트에 두지 마세요.
  • 사용자의 작업 공간을 먼저 목록화하지 않고 자산에 대해 묻지 마세요.
  • 모든 하위 컴포지션 타임라인 끝에 tl.to({}, { duration: SLOT_DURATION }, 0) 앵커 트윈을 건너뛰지 마세요. MOTION_PHILOSOPHY 법칙 11.
  • 렌더 로직 내에서 Math.random() / Date.now()를 사용하지 마세요. 시드 해시만 사용하세요.
  • <video> 태그에 class="clip"을 추가하지 마세요. 클립이 깨집니다.
  • 사용자에게 브랜드를 강요하지 마세요. 먼저 물어보고, 사용자가 명시적으로 거부할 때만 MOTION_PHILOSOPHY 기본값으로 대체하세요.

참조

  • references/interview-questions.md — 게이트별 전체 질문 은행
  • references/style-intake.md — 스타일 인터뷰 + MOTION_PHILOSOPHY 기본값
  • references/catalog-intent-map.md — "사용자가 X라고 말하면 → Y 설치"
  • references/storyboard-template.md — 비트별 템플릿 + 작업 예제
  • references/composition-scaffold.md — 범위 지정 스타일 + IIFE GSAP 보일러플레이트
  • references/build-checklist.md — 사전 점검 + 전달 전 게이트

외부 (작업 공간 수준):

  • MOTION_PHILOSOPHY.md — 이 스킬이 존재한다고 가정하는 유일한 외부 참조. 미적 기준선. 파일이 없으면 references/style-intake.md에 폴백이 있습니다.

관련 스킬

  • /hyperframes — 프레임워크 규칙, 게이트 6에서 호출
  • /hyperframes-cli — init · lint · preview · render · transcribe · tts
  • /hyperframes-registry — 카탈로그 블록 설치
  • /gsap — GSAP 애니메이션 참조
  • /short-form-video — 9:16 토크쇼 형식의 경우 게이트 5에서 핸드오프
  • /website-to-hyperframes — 시작 입력이 URL인 경우 게이트 1에서 핸드오프

Individual skills in this repo

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

assafkip/claude-video-editor

Build videos from stills when there is nothing to cut — narration first (ElevenLabs v3 with audio tags), then still keyframes from ANY source (AI image tools, screenshots, photos, HyperFrames-rendered HTML), animated deterministically with the animate-stills recipe (HyperFrames camera moves + GSAP atmosphere). Use when the user wants an explainer, documentary-style video, or any video built from generated or collected visuals instead of recorded footage.

assafkip/claude-video-editor

GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.

assafkip/claude-video-editor

HyperFrames CLI tool — hyperframes init, lint, preview, render, transcribe, tts, doctor, browser, info, upgrade, compositions, docs, benchmark. Use when scaffolding a project, linting or validating compositions, previewing in the studio, rendering to video, transcribing audio, generating TTS, or troubleshooting the HyperFrames environment.

assafkip/claude-video-editor

Install and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, and registry discovery.

assafkip/claude-video-editor

Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For CLI commands (init, lint, preview, render, transcribe, tts) see the hyperframes-cli skill.

assafkip/claude-video-editor

Build and iterate short-form vertical (9:16) videos in Hyperframes — TikTok/Reels/Shorts style. Use when Nate says "short-form video", "vertical video", "TikTok/Reels/Shorts", "make a short", "talking-head + motion graphics", or when the target is a 1080x1920 composition with face video + synced scene overlays + karaoke captions. Encodes the full May Shorts 19 playbook: face-mode choreography, audio-synced scene timing, karaoke captions, and the 10-rule quality checklist.

assafkip/claude-video-editor

Edit any video by conversation — the orchestrator for the bundled video pipeline. Use when the user wants to edit, cut, caption, grade, or add motion graphics to footage; drops a folder of clips and says "edit this"; or asks to make a promo/teaser/tutorial/short. Routes to video-use (the cut engine) and HyperFrames (motion-graphics overlays), with a motion-craft library for taste.

assafkip/claude-video-editor

Production pipeline for mathematical and technical animations using Manim Community Edition. Creates 3Blue1Brown-style explainer videos, algorithm visualizations, equation derivations, architecture diagrams, and data stories. Use when users request: animated explanations, math animations, concept visualizations, algorithm walkthroughs, technical explainers, 3Blue1Brown style videos, or any programmatic animation with geometric/mathematical content.

assafkip/claude-video-editor

Capture a website and create a HyperFrames video from it. Use when: (1) a user provides a URL and wants a video, (2) someone says "capture this site", "turn this into a video", "make a promo from my site", (3) the user wants a social ad, product tour, or any video based on an existing website, (4) the user shares a link and asks for any kind of video content. Even if the user just pastes a URL — this is the skill to use.

관련 스킬