Communitygithub.com

Motion Video Skills

QA 및 최종 검증 게이트: 모든 렌더링된 비디오(생성 여부 불문)를 사양과 비교하고, LUFS 라우드니스를 정규화하며, 시각적 검토를 위한 콘택트 시트와 연속 프레임 스트립을 생성하고, 채점 기준을 갖춘 구조화된 비평 패스를 실행하며, 렌더링 결정성을 검증합니다.

Motion Video Skills란 무엇인가요?

이 스킬은 AI 에이전트(Claude Code, Cursor, Codex 등)가 렌더링된 모든 비디오 파일(MP4, WebM, MOV)을 프로덕션에 출시하기 전에 체계적으로 검증할 수 있도록 설계된 완전한 QA 게이트입니다. 사용자가 '확인', '검증', '감사', '리뷰', '진단', '정규화' 또는 '출시 준비'를 요청할 때 활성화됩니다. 제공된 SKILL.md 문서를 기반으로, 이 스킬은 여섯 가지 주요 단계를 수행합니다: (1) `probe.sh` 스크립트를 통해 지속 시간, FPS, 해상도, 코덱, 픽셀 포맷, 오디오 존재 여부 등 비디오 사양을 예상 값과 비교하는 프로빙; (2) FFmpeg의 `loudnorm` 필터를 사용하여 통합 라우드니스를 측정하고 −14 LUFS로 정규화(비디오 스트림은 복사, 오디오만 재인코딩); (3) 시각적 검토를 위해 타일드 콘택트 시트와 연속 프레임 스트립 생성; (4) 후크, 가독성, 모션, 싱크, 스타일 일관성, 사운드 등 여섯 가지 기준에 대해 각각 /10점으로 채점하는 구조화된 비평 패스; (5) 결정성 검증(동일 입력에 대해 프레임 해시가 일치하는지 확인); (6) 최종 납품 체크리스트 제공. 이 스킬은 AI가 '저자=심판' 편향을 피하도록 설계되어, 코드 작성자가 코드 리뷰를 가장 못한다는 원칙에 따라 신선한 컨텍스트에서 비평을 실행합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ahmed-OC/motion-video-skills/tree/HEAD/skills/video-qa

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

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

문서

비디오 QA — 출시 게이트

비디오는 렌더링될 때 완성되는 것이 아니라, 프로빙되고, 콘택트 시트에서 확인되며, 정규화되었을 때 완성됩니다. 이 스킬은 제작 방식과 관계없이 모든 파일에서 작동합니다.

1. 사실 조사 (가정은 절대 신뢰하지 마세요)

scripts/probe.sh video.mp4

모든 값을 요청 사항(타임라인, 브리프, 플랫폼 사양)과 비교하세요.

검사 항목예상 값
지속 시간주문한 지속 시간 ± 0.1초
FPS / 해상도주문한 FPS / W×H
코덱 / 픽셀 포맷h264 / yuv420p (yuvj420p = 전체 범위 변형, 일반적으로 괜찮음)
오디오 스트림비디오에 소리가 있어야 하는 경우에만 존재
통합 라우드니스−14 ± 2 LUFS (소셜 플랫폼은 −14 근처로 정규화)

일치하지 않는 값은 취향 문제가 아니라 렌더링 버그입니다. 상위 단계를 수정하고 다시 렌더링하세요.

2. 라우드니스: 측정 → 정규화 (오디오 전용, 몇 초)

# 측정
ffmpeg -hide_banner -i video.mp4 -af ebur128 -f null - 2>&1 | awk '/Integrated loudness/{getline; print}'

# −14 LUFS로 정규화 (비디오 스트림 복사, 재인코딩 없음)
ffmpeg -i video.mp4 -c:v copy -af "loudnorm=I=-14:TP=-1.5:LRA=11" -c:a aac -b:a 192k video_norm.mp4 \
  && mv video_norm.mp4 video.mp4

절대 볼륨 필터로 귀로 정규화하지 마세요 — LUFS는 플랫폼이 실제로 사용하는 단위입니다.

3. 확인: 콘택트 시트 + 스트립

scripts/contact_sheet.sh video.mp4 contact.png 2 8x    # 1 타일 / 0.5초, 8열
# 섬세한 순간 주변 12연속 프레임 (T에서 전환):
ffmpeg -y -ss <T-0.2> -i video.mp4 -frames:v 12 -vf "scale=320:-1,tile=6x2" strip_T.png

시트를 필름 스트립처럼 읽으세요: 리듬이 보이는가? 비트 그리드에 컷이 맞는가? 빈 장면이나 과밀한 장면이 있는가? 콘택트 시트는 모션 품질을 숨깁니다 — 최종 승인 전에 항상 전체 비디오를 최소 한 번 시청하세요.

4. 비평 패스 (제작자 ≠ 심판)

렌더링을 검토하세요 — 소스나 의도가 아니라 — 각 항목을 /10점으로 채점:

  1. 훅 — 처음 2초 안에 가장 인상적인 프레임인가?
  2. 가독성 — 텍스트가 최소 크기 이상, 안전 영역 내부, 겹치거나 잘리지 않음, 충분히 오래 유지됨?
  3. 모션 — 선형 이징 없음, 다중 속성 진입, 스태거, 진출이 진입보다 빠름?
  4. 싱크 — 이벤트가 비트/단어 그리드에 맞게 발생?
  5. 스타일 일관성 — 하나의 팔레트 패밀리, 하나의 타이포그래피 시스템, 통일된 전환?
  6. 사운드 — VO가 명확함, 음악이 덕킹됨, 목표 라우드니스, 클리핑 없음?

프로토콜: 타임스탬프와 함께 최악의 결함 3가지를 기록 → 해당 결함만 수정 → 재렌더링 → 재채점. 모든 항목에서 ≥8/10에 도달하려면 3–5회 반복이 일반적입니다. 비평은 새로운 컨텍스트(또는 하위 에이전트)에서 실행하세요. 코드 작성자는 코드 리뷰를 가장 못하는 사람입니다.

5. 결정성 (생성되거나 반복 가능한 비디오용)

# 동일 입력의 두 지문은 바이트 단위로 일치해야 함
ffmpeg -i video.mp4 -map 0:v -f framemd5 - | sha1sum

동일 파이프라인, 동일 입력 → 다른 해시는 숨겨진 벽시계 시간, 시드되지 않은 무작위성 또는 누적된 상태를 의미합니다. 생성기를 수정하고 "다시 굴리지" 마세요.

6. 납품 체크리스트

video.mp4        H.264, yuv420p, +faststart, −14 LUFS
poster.png/jpg   훅 프레임
contact.png      2fps 필름스트립
sources          비디오를 생성하는 모든 것 (최종 파일 > 편집 가능)

사용자에게 한 가지를 변경하기 위해 정확히 어떤 파일을 편집해야 하는지와 재렌더링 명령어를 알려주세요.

증거 규칙

리뷰어(인간 또는 비전 모델)가 지오메트리 결함("텍스트 잘림", "요소 겹침")을 주장할 경우, 비버그를 "수정"하기 전에 측정(플레이어 검사, 픽셀 샘플 또는 생성 코드 자체의 메트릭)으로 확인하세요. 리뷰어가 렌더가 텍스트를 자르는 것보다 여백을 환각하는 경우가 훨씬 더 많습니다.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬