Communitygithub.com

Andersonlimahw/lemon-ai-hub

Edit existing video and verify any render before delivery — recut, trim, reframe to other aspect ratios, burn in or attach captions, swap or remix audio, loop, and export; plus the QC gates (probe, contact sheet, stills per beat, loudness, loop seam, legibility, facts, PII). Use for editing footage or for the final check of any motion video.

lemon-ai-hub란 무엇인가요?

lemon-ai-hub is a Claude Code agent skill that edit existing video and verify any render before delivery — recut, trim, reframe to other aspect ratios, burn in or attach captions, swap or remix audio, loop, and export; plus the QC gates (probe, contact sheet, stills per beat, loudness, loop seam, legibility, facts, PII). Use for editing footage or for the final check of any motion video.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Andersonlimahw/lemon-ai-hub/tree/HEAD/plugins/motion-movie-expert/skills/video-edit-qc

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

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

문서

Video Edit & QC

Never edit in place. Write outputs to a new file (*_v2.mp4, renders/), keep the source intact, and confirm before overwriting or deleting anything.

Edit recipes (FFmpeg)

# Trim without re-encode (cuts on keyframes) / frame-accurate with re-encode
ffmpeg -ss 00:00:05 -to 00:00:20 -i in.mp4 -c copy out.mp4
ffmpeg -i in.mp4 -ss 5 -to 20 -c:v libx264 -crf 16 -c:a aac out.mp4

# Concatenate clips with identical codecs
printf "file '%s'\n" a.mp4 b.mp4 > list.txt && ffmpeg -f concat -safe 0 -i list.txt -c copy out.mp4

# Reframe 16:9 -> 9:16 around a subject at x=CX (pixels); prefer re-composing the design instead
ffmpeg -i in.mp4 -vf "crop=ih*9/16:ih:CX-ih*9/32:0,scale=1080:1920" -c:a copy out_9x16.mp4

# Burn in captions (style for social) / attach as a soft track
ffmpeg -i in.mp4 -vf "subtitles=captions.srt:force_style='FontName=Inter,FontSize=14,Outline=1,MarginV=60'" out.mp4
ffmpeg -i in.mp4 -i captions.srt -c copy -c:s mov_text out.mp4

# Replace audio / duck music under voice / normalize to -14 LUFS
ffmpeg -i in.mp4 -i mix.wav -map 0:v -map 1:a -c:v copy -shortest out.mp4
ffmpeg -i music.wav -i vo.wav -filter_complex "[0][1]sidechaincompress=threshold=0.05:ratio=8:attack=150:release=300[m];[m][1]amix=inputs=2:normalize=0" mix.wav
ffmpeg -i mix.wav -af loudnorm=I=-14:TP=-1:LRA=11 -ar 48000 mix_norm.wav   # two-pass for final delivery

# Web/social delivery encode (from the master; the master itself is CRF 16 — see hyperframes-production)
ffmpeg -i in.mp4 -c:v libx264 -pix_fmt yuv420p -crf 18 -preset slow -movflags +faststart -c:a aac -b:a 192k out.mp4

For talking-head recuts, cut on sentence boundaries from a transcript (voice-video-sync timestamps), remove fillers only where the cut is invisible, and keep 80–150 ms of room tone at each cut. For reframing designed motion, re-compose per aspect ratio in the source project instead of cropping when possible.

QC gates

Run from the project directory (QC=<plugin-root>/scripts/qc.sh):

$QC probe    final.mp4                  # codec, size, fps, duration, audio present
$QC sheet    final.mp4 qc/sheet.png 4 4 # contact sheet for a full read-through
$QC stills   final.mp4 qc/ 0.5 3 7.5    # one still per storyboard beat; fails past the end
$QC loudness final.mp4                  # -14 ±1 LUFS (pass -23 for broadcast), true peak <= -1 dBTP
$QC loop     final.mp4                  # loops only: seam must look like a normal frame step

Then review the stills and sheet against the storyboard:

GatePass when
Specresolution, fps, duration, and codec match the brief for every aspect ratio
Storyunderstandable with sound off; first 2 s carry the value or the hook
Continuityevery cut has its carrier; no crossfade between unrelated screens; no ping-pong seams
Rhythmkey actions on beats; no dead frames; no unmotivated stillness > 3 s
Legibilityno clipped or overlapping text; captions ≤2 lines inside safe areas; numbers readable through motion blur
Brandsampled colors match tokens; correct fonts and icon set; no redesign
Factsevery on-screen number or claim is in the storyboard fact list
Safetyno PII, no real third-party brands without permission, licenses and attributions present
Audioloudness and true peak in range; SFX under music; VO intelligible over music
Accessibility≤3 flashes per second; captions match the spoken words
Loopwhen requested, the seam passes qc.sh loop
Determinismthe same timestamp rendered twice is identical (spot-check 3 frames)

Report each gate as pass / fail / not checked, with the evidence path (still, sheet, command output). Fix failures in the source and re-render; do not paper over them in the final encode. For long videos, split QC by chapter and use the motion-qc agent per chapter in parallel.

Individual skills in this repo

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

Andersonlimahw/lemon-ai-hub

Create and edit motion videos end to end — product motion films, motion graphics, narrated explainers, captioned clips, UI animation recreations, and recuts. Orchestrates brief, storyboard, choreography, build (HyperFrames or any deterministic renderer), voice/caption sync, and render QC. Use when the user asks to make, animate, storyboard, narrate, caption, edit, or render a video or motion piece; skip for static images and web UI work with no video deliverable.

Andersonlimahw/lemon-ai-hub

Build and render a deterministic video composition — HyperFrames (HTML + GSAP) by default, or a custom seek(t) + Playwright + FFmpeg pipeline. Covers project setup, composition contract, timeline rules, creative direction for frames, lint/check/snapshot, preview, and local render. Use when implementing an approved storyboard as code.

Andersonlimahw/lemon-ai-hub

Motion law for multi-scene videos — seam continuity (axis, direction, speed, phase), carriers, causal motion, springs and timing, camera, transitions, stillness, and loop design. Use when planning or fixing how scenes connect and move, before and during any animation build.

Andersonlimahw/lemon-ai-hub

Short design-led motion graphics where motion is the message — kinetic typography, stat count-up, chart/data-viz reveal, logo sting, lower third or callout, animated map, tweet/news/headline card, webpage or UI walkthrough, and image-plus-data fusion. Usually under 10 s, up to about 30 s, no narration; renders to MP4 or a transparent overlay. Use when the user wants a short motion graphic, animated stat/chart/logo/map/card, or overlay; when the upstream HyperFrames `motion-graphics` skill is installed, use it for exact CLI flags and registry blocks.

Andersonlimahw/lemon-ai-hub

Turn a video idea, product, or script into an approved master prompt and pre-implementation storyboard — intake, concept, 8–12 state sequence, beat grid, transition map, camera plan, audio cue plan, and render architecture. Use before building any new video, or when a video brief is vague.

Andersonlimahw/lemon-ai-hub

Motion tokens, spring presets, and React/Next.js (motion/react) interaction patterns for product UI that appears in a video — rebuilding real product screens faithfully, animating them as seekable scenes, and keeping the live product's motion consistent with the film. Use when a motion video shows or recreates product UI; for web UI work with no video deliverable use design-expert instead.

Andersonlimahw/lemon-ai-hub

Synchronize narration, captions, music, and SFX with picture — narration writing, script lock, TTS or recorded voiceover, word-level timestamps, caption blocks, shot windows derived from the voice track, dwell budgets, ducking, and loudness targets. Use for narrated explainers, voiceover changes, subtitles, or any video where timing must follow audio.

Andersonlimahw/lemon-ai-hub

Agent skill at plugins/video/SKILL.md

관련 스킬