Communitygithub.com

tzezhang1-crypto/claude-motion-explainer-video

Visuelle Selbstüberprüfungsschleife für Animationsvideos (HyperFrames-Version) – Entwurf ausgeben, Kontaktbögen aus jedem Beat des Timelines erstellen, diese Bild für Bild gegen eine Checkliste prüfen, korrigieren und wiederholen.

Was ist claude-motion-explainer-video?

Dieses Skill implementiert eine systematische visuelle Überprüfungsschleife für Animationsvideoprojekte, die mit HyperFrames erstellt wurden. Es ist eine angepasste Version des `review-loop`-Skills von whaleyxbt/claude-motion und ersetzt die ursprünglichen `npm run`-Befehle durch HyperFrames-MCP-Tools und ein benutzerdefiniertes Python-Skript (`scripts/sheet.py`). Der Arbeitsablauf beginnt mit einer automatischen Prüfung über `hyperframes check`, gefolgt von einem Entwurfs-Rendering und der Erstellung von Kontaktbögen, die jeden Beat 0,3 Sekunden nach dem Ende der Bewegung erfassen. Der Benutzer überprüft diese Bögen gegen eine umfassende Checkliste für Komposition, Text, Rhythmus, Konsistenz und Audio (Lautstärke, Wellenform). Das Skill unterstützt die Plattformen Claude Code und HyperFrames und verwendet Werkzeuge wie `hyperframes_render`, `hyperframes_still`, `hyperframes_snapshot` und `ffmpeg` für die Audioanalyse. Der Zyklus wird so lange wiederholt, bis keine Probleme mehr gefunden werden, und endet mit einem High-Quality-Rendering und einer abschließenden Audioüberprüfung. Es ist besonders nützlich, um sicherzustellen, dass Animationsvideos konsistent, fehlerfrei und professionell sind, bevor sie als abgeschlossen gemeldet werden.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tzezhang1-crypto/claude-motion-explainer-video/tree/HEAD/skills/review-loop

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Review Loop (HyperFrames Version)

You cannot watch videos, but you can look at frames. Never report a video as complete without having seen the contact sheet from the current version.

Adapted from whaleyxbt/claude-motion's review-loop skill (MIT, see LICENSE in the same folder). The original npm run … commands have been replaced with kinocut MCP's HyperFrames tools and the scripts/sheet.py in this folder. Sections marked "(New in this version)" are not part of the original.

The SHEET below refers to python "<this skill folder>/scripts/sheet.py" (e.g., ~/.claude/skills/review-loop/scripts/sheet.py). All paths must be absolute.

The Loop

  1. Run machine checks first (New in this version): Execute hyperframes check in the project folder. It runs lint, runtime, layout overflow, motion, and contrast checks in one pass (the official validate/inspect commands are deprecated; use check instead). Fix any errors before proceeding. See the official hyperframes-cli skill for details.
    • Mask reveals during entrance will inevitably report container_overflow—this is intentional. Add data-layout-allow-overflow to the mask container. But if text_box_overflow persists after settling, the container is too short and will clip text (especially Chinese and superscripts); increase the container height.
  2. Draft: hyperframes_render with quality: "draft", output_path set to <project>/out/draft.mp4.
  3. Contact sheet: SHEET --video <project>/out/draft.mp4 --timeline <project>/timeline.js --out <project>/out/sheets Captures one frame 0.3 seconds after each beat (once motion has settled), arranges them in 4×2 grids as out/sheets/beats-N.png, each labeled with beat name and time. Each frame defaults to 360 px wide—the actual width on mobile dynamic islands.
  4. Use Read to open each sheet and inspect every cell against the checklist below.
  5. Zoom in on suspicious areas:
    • Scan a transition: SHEET --video … --from 3 --to 5 --every 0.2 --name scrub
    • Look at specific moments: SHEET --video … --at 3.7,3.75,3.8 --name exact
    • View a single frame at full resolution: hyperframes_still, set frame to the frame number (seconds × fps)
    • To avoid re-rendering, use hyperframes_snapshot with at to capture directly from the composition, then combine with SHEET --images … --labels ….
  6. Fix issues and go back to step 0. Only stop when a full pass finds no problems.
  7. Final version: hyperframes_render with quality: "high" to produce the final video, then run step 2 on it, followed by audio checks (see below).

Checklist

Composition

  • Each frame has a single focal point. When two elements compete, one must wait.
  • No unintentional collisions or overlaps, especially during transitions where exit and entry elements share the same space.
  • Safe area: Important content should not be closer than ~60 px from the edges.
  • Frame 0 shows the actual image, not black (it will be the thumbnail on social platforms).

Text

  • Not clipped by masks, containers, or frame edges (unless intentional).
  • When shrunk to mobile width (sheet cells), key information remains readable.
  • Text is not moving when it should be read.
  • (New in this version) Chinese: no typos; all characters are in Traditional Chinese script (no Simplified Chinese mixed in); punctuation uses full-width forms; no missing font glyphs (rendered as boxes or clearly different fonts).

Rhythm

  • Each state that needs to be read stays on screen long enough (see section 4 of motion-design). If text is still moving in the middle frames of a hold, the hold is too short.
  • Scenes overlap seamlessly, never cutting to a blank frame.
  • Exits are faster than entrances.

Consistency

  • Only use colors from the :root palette; accent colors must highlight the key point in that frame.
  • The same element looks identical in every scene it appears.

Audio (only if there is sound)

  • Waveform: Use video_audio_waveform to check if peaks align with beats in the TL.
  • Loudness (New in this version, replaces the original npm run wave):
    ffmpeg -hide_banner -nostats -i <final video> -af ebur128=peak=true -f null -
    Check the summary for Integrated loudness and True peak. Target: −14 LUFS ±1, true peak ≤ −1 dBFS.
  • For Chinese voiceover accent and emotion, the user must listen with their ears—do not substitute scores (New in this version).

Reporting

When finished, clearly state: what was checked, what was fixed, and which sheet shows the result. Never claim a fix was made without re-exporting and personally inspecting the result.

Individual skills in this repo

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

Verwandte Skills