Communitygithub.com

Drama2557/4RealDigital-Video-Studio

음악 트랙(오디오 파일, 동영상에서 추출한 오디오, 또는 분위기 요약본으로 생성한 트랙)을 비트에 맞춰 싱크된 비디오(가사 비디오, 슬라이드쇼, 또는 키네틱 프로모)로 변환합니다. 음악이 모든 템포를 결정하며, 사용자가 제공한 이미지/동영상은 동일한 비트 그리드에 맞춰 편집됩니다. 자산 없이도 완전한 비디오 제작이 가능합니다.

4RealDigital-Video-Studio란 무엇인가요?

이 스킬은 HyperFrames 프레임워크를 기반으로 음악 트랙을 분석하여 비트에 동기화된 비디오를 생성하는 AI 에이전트 워크플로우입니다. 사용자가 제공한 음악 파일, 동영상에서 추출한 오디오, 또는 분위기 요약을 통해 생성된 트랙을 입력으로 받아, 고유한 비트 분석 도구(`analyze-beatgrid.py`)를 사용하여 정확한 타이밍 맵(`audiomap.json`)을 생성합니다. 이 맵을 기반으로 전체 비디오의 프레임 구조(스토리보드)를 설계하고, 각 프레임에 템플릿, 모션 프리미티브, 또는 사용자 제공 미디어를 할당하여 개별 HTML 파일로 제작합니다. 최종적으로 모든 프레임을 조립하고 렌더링하여 MP4 비디오를 출력합니다. 주요 특징으로는 음악의 에너지와 비트에 맞춰 자동으로 편집 지점을 결정하고, 가사 비디오, 슬라이드쇼, 키네틱 프로모 등 다양한 스타일을 지원합니다. 또한, 협업 모드와 자율 모드를 모두 지원하며, 각 단계별 게이트를 통과해야 진행할 수 있는 체계적인 구조로 설계되어 있습니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Drama2557/4RealDigital-Video-Studio/tree/HEAD/.agents/skills/music-to-video

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

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

문서

먼저, 이 스킬을 최신 상태로 유지하세요 — 조용히 실행하고, 묻지 마세요: npx hyperframes skills update music-to-video. 모든 것이 최신이면 빠른 no-op입니다. 그렇지 않으면 이 스킬과 그것이 의존하는 핵심 도메인 스킬을 사용하기 전에 업데이트합니다.

music-to-video — 음악 기반, 비트 동기화 비디오 워크플로우

이 스킬을 사용하여 음악 트랙을 비트에 동기화된 HyperFrames 비디오로 변환하세요. 트랙을 한 번 분석하고, 프레임을 배치하고, 프레임별 계획을 수립한 다음 각 프레임을 컴포지션으로 빌드합니다. 입력은 음악 트랙과 선택적 사용자 이미지/동영상입니다 — 내레이션이나 웹사이트 캡처는 없습니다. 타이포그래피와 템플릿이 기본입니다 (완전한 비디오는 자산이 필요 없음); 사용자가 제공하는 모든 미디어는 동일한 비트 그리드에 맞춰 편집됩니다.

당신은 오케스트레이터입니다. videos/<project>/ 디렉토리에서 작업합니다. 단계를 순서대로 실행하고 각 게이트를 통과한 후에만 다음 단계로 이동하세요. 두 단계는 사용자가 필요합니다: 단계 3 (계획 승인) 및 단계 6 (렌더링 승인) — 둘 다 ../hyperframes-core/references/brief-contract.md에 정의된 체크포인트 게이트입니다 (단계 0 전에 읽으세요): 자율 모드에서는 요약을 사전 알림으로 게시하고 승인을 기다리지 않고 진행하세요. 단계 4를 제외한 모든 단계를 직접 수행하세요. 단계 4에서는 프레임당 하나의 하위 에이전트를 파견합니다. 디자인 및 모션 규칙은 이 파일에 유지하지 말고 references/ 및 frame-worker 하위 에이전트에 보관하세요.

SKILL_DIR = 이 스킬 디렉토리. PROJECT_DIR = videos/<project-name>/.

워크플로우: 단계 0 설정 → hyperframes.json + assets/bgm.mp3; 단계 1 분석 → audiomap.json; 단계 2 스켈레톤 → STORYBOARD.md (프레임, 그룹은 TBD); 단계 3 계획 → 완전한 STORYBOARD.md + frame.md; 단계 4 빌드 → compositions/frames/NN-*.html; 단계 5 조립 → index.html; 단계 6 렌더링 → renders/video.mp4.

모든 것을 결정하는 두 가지 아이디어

  • 하나의 분석기, 그리고 그것을 신뢰하세요. analyze-beatgrid.py는 유일한 비트 분석기입니다 — 다른 도구나 귀로 비트를 다시 측정하지 마세요. 에너지/밀도/롤/어택/사일런스는 항상 신뢰할 수 있습니다. bpm과 beats_sec은 음악이 진정으로 리드미컬할 때만 신뢰할 수 있습니다; 잔잔한 음악에서는 그리드가 트래커가 부과한 메트로놈이므로 대신 프레이즈와 에너지로 속도를 조절하고 절대 하드 컷하지 마세요. 어떤 경우인지 판단하는 것은 각 프레임의 pacing입니다 (단계 2).
  • 하나의 프레임 = 하나의 파일; 그룹은 내부에 있습니다. 단계 2는 트랙을 프레임으로 자르고, 각 프레임은 하나의 컴포지션 파일 compositions/frames/NN-<frame_id>.html이 되며, 하나의 frame-worker에 의해 빌드됩니다. 프레임은 그룹으로 세분화될 수 있습니다 (각각 템플릿이나 모션 프리미티브 조합). 추가 밀도는 그룹 _내부_로 들어가므로, 프레임 수는 비트 수가 아닌 개별 처리를 추적합니다 — 빠른 트랙이 하위 에이전트 수를 폭발시키지 않습니다.

단계 0: 설정, BGM 및 입력

목표: 음악 소스 설정, HyperFrames 프로젝트 생성, 사용자가 제공한 미디어 기록.

브리프는 의도 계층에서 시작합니다. 개시 규칙, 순서대로: (1) BRIEF.md가 존재함 → 읽고 답변하지 않은 것은 묻지 마세요 — flow/storyboard가 모드를 결정합니다 (브리프 계약 § 1). (2) BRIEF.md가 없지만 프로젝트가 존재함 → 디스크에 있는 내용을 재개하고, 다시 질문하지 마세요. (3) 여기에 직접 도착한 새로운 생성 요청 → /hyperframes를 읽고 의도 계층(references/intent-interview.md)을 실행하세요: 이 경로의 필수 사항(음악 소스, 대상 → 종횡비 — ../hyperframes/references/routes/music-to-video.md)을 확인하고, 지연되는 사항(브랜드와 장르는 단계 3에서 선택)을 알립니다. 초기화 직후(절대 이전에 — init은 비어 있지 않은 디렉토리를 거부함) BRIEF.md를 작성하고 선호도 기반 답변(brief-format.md)을 기록하세요. 편집 요청은 이 모든 것을 건너뜁니다.

음악이 핵심입니다 — 다른 것보다 먼저 하나의 트랙을 설정하세요. 이 스킬은 빠르고 에너지가 높은 BGM에 최적화되어 있습니다: 강한 비트 그리드가 컷을 구동합니다 (잔잔한 트랙도 작동하지만 비트보다는 프레이즈로 속도를 조절하세요). 사용자가 오디오(음악 파일, 또는 오디오를 추출할 비디오)를 제공했다면 그것을 사용하세요. 그렇지 않으면 요청에서 분위기를 선택하고 /media-use (references/bgm.md)를 통해 트랙을 생성하세요. 첫 번째 인증된 제공자 작업 전에 npx hyperframes auth status를 실행하고 출력을 그대로 전달하세요. 로그아웃된 경우, 두 가지 분기를 적용하세요:

  • 협업: 로그인 또는 로컬 제공자로 오프라인 계속하기 위해 명시적 선택을 기다립니다.
  • 자율: 상태를 명시하고 사용 가능한 로컬 제공자를 통해 계속합니다.

오프라인 제공자가 필요한 음악 기능을 충족할 수 없으면, 차단 요소를 표면화하세요. 저장소별 .env에 키를 절대 작성하지 마세요. 인증 소유권 및 오프라인 대체는 /media-use references/setup-providers.md § 제공자에 있습니다. 결과 트랙은 assets/bgm.mp3에 위치합니다. 제공된 이미지나 비디오를 스테이징하여 프레임이 비트 그리드에서 사용할 수 있게 하세요; 그렇지 않으면 타이포그래피가 비디오를 이끕니다.

가사 비디오: 보컬에 동기화된 가사를 위해, /media-use를 통해 트랙을 전사하여 단어/라인 타이밍을 얻거나, 사용자에게 가사 텍스트를 요청하고 비트 그리드에 라인을 배치하세요.

hyperframes.json이 없을 때만 초기화하세요. <project>는 브리프에서 케밥 케이스로 이름을 지정하세요(예: midnight-drive-loop) — 절대 타임스탬프를 사용하지 마세요. init은 설치된 스킬을 GitHub의 최신 버전과 확인하고, 오래된 것이 있으면 전역 세트를 업데이트합니다.

npx hyperframes init "videos/<project>" --non-interactive --example=blank --skill=music-to-video
mkdir -p "$PROJECT_DIR/assets" "$PROJECT_DIR/renders"
cp "<user-music>" "$PROJECT_DIR/assets/bgm.mp3"   # 필요한 경우 먼저 비디오에서 추출
# 사용자가 이미지/비디오를 제공한 경우에만:
node <SKILL_DIR>/scripts/stage-assets.mjs --from <dir> --hyperframes "$PROJECT_DIR" --into public

브랜드 (글꼴 + 팔레트)는 여기서가 아니라 단계 3에서 선택됩니다. 먼저 장르나 트랙 유형을 선택하지 마세요 — 자산은 선택적 재료일 뿐이며, 장르는 프레임별 선택에서 나타납니다.

게이트: hyperframes.json + assets/bgm.mp3이 존재하고; 종횡비/길이/fps 및 (있는 경우) 자산 인벤토리가 기록됩니다.


단계 1: 음악 분석

목표: 전체 비디오가 구축되는 하나의 표준 타이밍 분석을 생성합니다.

analyze-beatgrid.py는 유일한 비트 분석기입니다 — 다른 도구나 귀로 비트를 다시 측정하지 마세요. 트랙을 한 번 읽고 audiomap.json을 작성합니다: 에너지 단계(레벨/밀도/느낌), 어택 + onset_rate, 롤, 사일런스, hard_stops, key_moments, 프레이즈, 템포/그리드, audio.duration_sec. 결정론적입니다 — 동일한 파일은 항상 동일한 맵을 제공합니다. 대부분의 필드는 모든 음악에서 신뢰할 수 있습니다. bpm 및 beats_sec은 음악이 진정으로 리드미컬할 때만 신뢰할 수 있으며, 이를 판단하는 것은 단계 2에서 내리는 결정입니다.

전제 조건: Python 3에 librosa, numpy, soundfile이 설치되어 있어야 합니다. 가져오기 오류가 발생하면, 분석기를 실행하기 전에 활성 Python 환경에 설치하세요:

python3 -m pip install librosa numpy soundfile
python3 <SKILL_DIR>/scripts/analyze-beatgrid.py "$PROJECT_DIR/assets/bgm.mp3" \
  -o "$PROJECT_DIR/audiomap.json" --print

게이트: audiomap.json이 존재하고; audio.duration_sec을 알고 있습니다.


단계 2: 프레임 스켈레톤 (구조만)

목표: 음악을 읽고 프레임을 배치합니다 — STORYBOARD.md의 스켈레톤.

references/frame-skeleton.md를 읽으세요. audiomap.json을 직접 STORYBOARD.md의 스켈레톤으로 변환하세요 — 중간 JSON은 없습니다. 실제 음악 변화(hard_stops, SURGE/DROP key_moments, 롤의 가장자리, 어택이 없는 구간, 큰 에너지 점프)에서 트랙을 프레임으로 자르고, 모든 경계를 audiomap 앵커에 스냅합니다. 각 프레임에 대해 span_sec, pacing (단계 1의 신뢰 호출에 대한 판결 — 그리드가 실제일 때는 beat_cut, 잔잔한 음악에 부과된 메트로놈일 때는 phrase_flow), mood, 한 줄 feel (단계 3에서 템플릿과 일치하는 일반 음악 상황)을 설정하세요. 여기서는 분류와 배치만 수행합니다: 각 프레임의 ### Groups는 TBD (Step 3)으로, frontmatter style은 비워 두세요 — 템플릿, 카피, 색상, 글꼴 없음. 약 1~6개의 프레임을 예상하세요.

게이트: 프레임이 트랙을 타일링하고 (처음은 0, 마지막은 duration_s); 각 프레임은 span_sec + pacing + mood + feel을 가지고; 모든 ### Groups는 TBD입니다; 내용은 어디에도 없습니다.


단계 3: 계획 채우기 (사용자 게이트)

목표: 스켈레톤을 승인된 완전한 STORYBOARD.md로 전환합니다.

references/planning.md, storyboard-format.md, template-catalog.md, motion-primitive-catalog.md 및 montage.md (사용자가 자산을 제공한 경우에만)를 읽으세요. 동일한 파일을 제자리에서 편집하며, 두 가지를 수행하세요:

  1. 브랜드를 선택하세요. ../hyperframes-creative/frame-presets/에서 하나의 프리셋을 선택하세요 (../hyperframes-creative/references/design-spec.md의 표 사용; 트랙의 분위기와 일치; 글꼴과 색상만 중요 — 템플릿이 구성을 소유함). 그것을 frame.md에 수정 없이 복사하고 frontmatter style (글꼴 + ≤4–6개 견본 팔레트)을 그것으로 채우세요.
  2. 모든 프레임을 채우세요. 해당 그룹을 결정하고 각 그룹에 처리를 할당하세요: 카탈로그의 일치하는 템플릿 (바인딩된 매개변수 및 실제 audiomap 앵커 포함), 프리미티브 카탈로그의 자유 구성, 또는 pacing을 따르는 자산 처리. 카피를 작성하세요. 당신은 WHAT (템플릿/프리미티브 + 내용 + 앵커)을 소유하고; 프레임 워커는 HOW를 소유합니다 — 스토리보드에 밀리초 트윈을 절대 작성하지 마세요.
node <SKILL_DIR>/scripts/validate-plan.mjs --storyboard "$PROJECT_DIR/STORYBOARD.md" \
  --audiomap "$PROJECT_DIR/audiomap.json" --templates <SKILL_DIR>/references/templates

모든 ✗ (하드 오류: 기간 불일치, 프레임이 트랙을 타일링하지 않음, 누락된 src)를 수정하세요; 경고는 최선의 노력입니다. 그런 다음 사용자에게 프레임별 요약을 보여주고 승인할 때까지 반복하세요. 자율 모드에서는 체크포인트 게이트입니다: 요약을 사전 알림으로 게시하고 진행하세요 (validate-plan.mjs 통과는 품질 게이트이며 여전히 차단함).

게이트: frame.md는 축어적 프리셋 복사본입니다; validate-plan.mjs가 0으로 종료됨; 사용자가 계획을 승인했습니다 (자율: 요약이 사전 알림으로 게시됨).


단계 4: 계획에서 프레임 빌드

목표: 각 프레임을 자체 포함된 컴포지션 파일로 빌드합니다.

compositions/frames/을 생성하세요. sub-agents/frame-worker.md 및 ../hyperframes-core/references/subagent-dispatch.md를 읽으세요. 가능하면 병렬로, 그렇지 않으면 웨이브로 프레임당 하나의 frame-worker를 파견하세요. 각 워커는 정확히 하나의 프레임과 다음 컨텍스트를 받습니다:

PROJECT_DIR: <절대 경로>
frame_id: <NN-frame_id>              # = 프레임 파일 스템, 예: 02-f2; 컴포지션 id
당신의 블록: PROJECT_DIR/STORYBOARD.md의 `## Frame N — <frame_id>` 블록
audiomap: PROJECT_DIR/audiomap.json
frame.md: PROJECT_DIR/frame.md
재료: 각 그룹에 대해, <SKILL_DIR>/references/templates/<id>/index.html (템플릿) 및
           <SKILL_DIR>/references/motion-primitives/<id>/ (자유); 스테이징된 assets/ (자산 그룹)
계약: ../hyperframes-core/references/sub-compositions.md + determinism-rules.md
캔버스: <w>×<h>   페이싱: <beat_cut|phrase_flow>
작성 대상: PROJECT_DIR/compositions/frames/<frame_id>.html

워커는 인용된 재료를 포크하고, 모든 앵커를 프레임 로컬 초(local_t = track_t − span_sec[0])로 변환하고, 0ms 컷으로 그룹을 게이트하고, 하나의 seek-safe 프레임 파일을 작성합니다. 워커는 절대 hyperframes CLI를 실행하지 않습니다 — 해당 명령은 조립된 프로젝트에서 작동하며, 아직 존재하지 않으므로 잘못된 파일에 대해 보고할 것입니다. 워커는 계약에 따라 작성하고 중지합니다; 조립 후 확인합니다 (단계 6). 각 워커가 반환될 때, 해당 파일이 디스크에 있는지 확인할 수 있습니다.

게이트: 모든 프레임에 대해 compositions/frames/NN-*.html이 디스크에 있습니다.


단계 5: 조립

목표: 빌드된 프레임 + BGM을 재생 가능한 index.html에 연결합니다.

assemble-index.mjs는 결정론적입니다 — 하위 에이전트 없음, 판단 없음. 각 프레임 파일을 누적 data-start에서 참조하고, assets/bgm.mp3를 트랙 11에 마운트하고, 프레임에서 프레임으로 하드 컷합니다 (프레임은 간격 없이 트랙을 타일링하므로 전환 인젝터가 없습니다).

node <SKILL_DIR>/scripts/assemble-index.mjs --storyboard "$PROJECT_DIR/STORYBOARD.md" \
  --hyperframes "$PROJECT_DIR" --audiomap "$PROJECT_DIR/audiomap.json"

보고된 모든 ✗를 수정하세요 — 누락되거나 빈 프레임 파일은 해당 워커가 부분 파일을 작성했음을 의미합니다; 다시 파견하고 (단계 4) 다시 조립하세요.

게이트: index.html이 존재하고; 총 기간 == audiomap.audio.duration_sec.


단계 6: 확인 및 렌더링

목표: 조립된 비디오를 확인하고, 사용자 승인을 받고, 최종 MP4를 렌더링합니다.

조립된 프로젝트에서 CLI를 실행하세요 — 그것이 올바른 단위입니다 (프레임별 워커는 실행할 수 없었습니다). check는 구조적 린트와 헤드리스 브라우저 런타임, 레이아웃, 모션 및 대비 게이트를 한 번에 실행합니다; --snapshots는 리뷰 프레임도 출력합니다.

( cd "$PROJECT_DIR" && npx hyperframes check . --snapshots )

t=0, 각 프레임 시작, 가장 강한 DROP / SURGE, 모든 hard_stops[].t, 마지막 프레임에서 검사하세요. 실패 시, 가장 저렴한 안전한 수정을 직접 수행하세요: 문제가 있는 compositions/frames/NN-*.html을 편집하세요. 동기화 문제를 숨기기 위해 기간이나 오디오 타이밍을 절대 변경하지 마세요. 게이트가 통과되면 사용자 리뷰를 위해 일시 중지하고, 승인된 경우에만 렌더링하세요 (자율 모드: 한 가지 유지된 질문을 하세요 — "미리보기 먼저, 아니면 렌더링?" — 그런 다음 연락처 시트와 함께 MP4를 전달하세요):

( cd "$PROJECT_DIR" && npx hyperframes render . --skill=music-to-video -q draft -o renders/video.mp4 --fps 30 )

게이트: check가 통과되고 스냅샷이 검사되었습니다; 사용자가 승인했습니다 (자율: 검사가 통과되고 전달에 연락처 시트가 포함됨); renders/video.mp4가 오디오와 함께 존재하고, 기간 == audiomap.audio.duration_sec. 최종 답변은 MP4 경로와 기간을 명시합니다.


재개 테이블

| 당신이 가지고 있는 것 | 계속 위치 | | --

…

[번역을 위해 잘림]

Individual skills in this repo

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

Drama2557/4RealDigital-Video-Studio

Overlay doctrine for the embedded-captions workflow — the caption MODEL (drop / rail / embed) and the rule that captions are an OVERLAY composited on top of the film, never a reserved bottom band you shift content up to avoid. Load when adding captions/subtitles to a talking-head or launch video, when deciding whether a phrase should be dropped, ride the verbatim rail, or be promoted to a scarce embedded climax, when laying out a composition that will carry captions (do NOT reserve a keep-out band), or when centering a composition on the true frame center under captions. Quotes the rail+embed model from embedded-captions and constraint #13 (captions overlay, keep-out band retired) from the product-launch-video scene agent. Applies ON TOP of embedded-captions.

Drama2557/4RealDigital-Video-Studio

Turn a weekly changelog .md into a finished branded changelog video (square 1080, ~45-60s, Annie VO, animated brand background, mock-UI visualizations, lowkey captions). Use when the user provides a changelog/digest markdown and wants the weekly video, or says "changelog video". Self-contained — fonts, background, lexicon, and scripts ship in this skill.

Drama2557/4RealDigital-Video-Studio

The technique catalog: five velocity-matched SEAMS (zoom-through, INVERSE zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus the two in-scene techniques — waterfall ENTRY (staggered arrival cascades for title cards / segment openers) and the nudge curve (slow-fast-slow three-phase group slides). Covers partial-travel (~12% of frame) velocity matching via mirrored power4 eases, the Z scale-sign rule, size-scaled blur (10px text / 18-20px full-frame), word-by-word staggered cuts, cascade pacing by element weight, and the 10/65/25 slide ratio. Read before authoring any transition, text-beat handoff, kinetic text entry, or group reposition. [depth, zoom, inverse-zoom, scale-sign, mirrored-zoom, rack-focus, pacing, velocity, cut-the-curve, waterfall, stagger, cascade, kinetic-text, title-card, segment-opener, nudge, slide, easing, group-motion, z-depth, motion-graphics, cinematic, transition, blur, directional-continuity]

Drama2557/4RealDigital-Video-Studio

Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet `anchor` rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.

Drama2557/4RealDigital-Video-Studio

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

Drama2557/4RealDigital-Video-Studio

Author or edit a custom HyperFrames composition when no specialized workflow fits, or when BRIEF.md sets flow: companion. Use for longer or multi-scene pieces, brand and sizzle reels, montages, static loops, static title cards, footage remixes, and freeform builds. Use motion-graphics instead for a short unnarrated motion-first unit, including an animated title. Route fresh creation through hyperframes before using this skill.

Drama2557/4RealDigital-Video-Studio

Use the HyperFrames CLI development loop: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframes, single or batch render, publish, cloud, cloudrun, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, auth, tts, and remove-background. Also use when diagnosing build or render failures. validate, inspect, and layout are deprecated aliases; use check. Covers local, HeyGen-hosted cloud, AWS Lambda, and Google Cloud Run rendering.

Drama2557/4RealDigital-Video-Studio

The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class="clip"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Also covers Tailwind projects and the STORYBOARD.md / SCRIPT.md plan formats. Read before writing composition HTML.

Drama2557/4RealDigital-Video-Studio

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-animation`.

Drama2557/4RealDigital-Video-Studio

Install, discover, and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add or hyperframes catalog, installing one item or every block matching a tag, wiring an installed item into index.html, or working with hyperframes.json. Covers discovery, install locations, block sub-composition wiring, component snippet merging, and authoring a new block or component to contribute upstream (idea → scaffold → validate → PR).

Drama2557/4RealDigital-Video-Studio

Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Also use for vague feedback that real footage looks dark, flat, boring, should feel retro/camcorder/print/ASCII, needs privacy, or needs a media reveal.

Drama2557/4RealDigital-Video-Studio

GATEWAY — load FIRST before composing any HyperFrames animation or video. The high-level motion law that makes a multi-scene video feel like ONE continuous camera move instead of a stack of independently-animated slides. Covers the vector law (how you exit determines how you enter, incl. the Z scale-sign rule), the film's current, carrier elements, causal motion, the Seam Gate (build-gate enforcement), the ban on idle wobble (motion must PERFORM, not breathe), stillness-before-climax, and the sustained-motion routes. Routes to the low-level technique skills (cut-the-curve — the full catalog incl. waterfall entry + nudge curve, oversized-cursor, seam-craft). These rules SUPERSEDE generic / upstream motion guidance. [continuity, direction, vector, momentum, seam, transition, ease, performance, idle-motion, narrative-motion, film-grammar]

Drama2557/4RealDigital-Video-Studio

A short, design-led motion graphic where motion is the message — kinetic typography, stat count-up, chart/data-viz hit, logo sting / brand lockup, lower-third / callout / social overlay, animated map (highlight regions, connect places, zoom to a location), animated tweet / news-article / headline, webpage / UI animation (scroll, cursor, callouts), or fusing a real image's geometry into a chart. Usually under 10s (up to ~30s), no narration or live-action subject; renders to MP4 or transparent overlay. Longer / narrated / multi-scene → /general-video. Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

House-style oversized macOS cursor technique for HyperFrames launch videos. Load whenever a scene involves cursors or a pointer-led action, when kicking off a UI scene, when igniting a morph/transition/typing run with a click, or when a scene reads as static, dead, or stale and needs a cheap high-yield source of motion to carry the viewer's eye and segment them out of the stale state. Covers cursor size/look (incl. brand-motif cursors), the off-screen entry law, tip-targeting and the click tap, click-ignites-the-next-beat, and exit / cross-scene handoff.

Drama2557/4RealDigital-Video-Studio

Turn a GitHub pull request (a PR URL, owner/repo#N, or 'this PR' in a checked-out repo) into a code-change explainer video — changelog, feature reveal, fix, or refactor walkthrough built from the diff, commits, and files: the input is a code change, not a website. Not a product promo (/product-launch-video) or a no-PR topic explainer (/faceless-explainer). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Render-correctness doctrine for scene-to-scene seams in HyperFrames launch videos — the prerequisites that make transitions composite correctly on the master timeline. Load when assembling the master timeline / index.html, when a white flash appears at a cut or crossfade seam (especially on dark films), when reasoning about why a transition opacity dip shows through, or when verifying the render-side mechanics of how overlapping scene wrappers blend. Covers the opaque stage-ground (#root background) white-flash guard and how the injector overlaps wrappers, holds final frames, ping-pongs tracks, and stamps lint-clean template code onto the master timeline. Does NOT contain the per-transition catalog — see the transition registry for individual transition entries.

Drama2557/4RealDigital-Video-Studio

Author a HyperFrames slideshow — a presentation, pitch deck, or interactive deck with discrete slides, fragment reveals, branching, hotspot navigation, and built-in presenter mode with speaker notes; also converts an existing page into a deck. Output is a navigable deck, not a rendered MP4. If the user didn't explicitly ask for a slideshow, confirm before authoring. Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Package an existing talking-head / interview / podcast video with timed, designed GRAPHIC OVERLAY cards — kinetic titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript, on a 16:9 / 9:16 / 4:5 canvas of your choice; the clip plays untouched underneath. Trigger on "graphic overlays", "on-screen graphics", "package / dress up my video". Not plain subtitles (/embedded-captions). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Agent skill / project related to launch or product demo video: Drama2557/4RealDigital-Video-Studio

관련 스킬