plugins/multimedia/skills/framerate-audit/SKILL.md
This skill should be used when the user asks "check frame rate", "is this CFR or VFR", "video has duplicate frames", "video stutters", "frame rate issues", "why does video judder", or wants to analyze frame rate characteristics and detect timing problems.
npx skillsauth add robbyt/claude-skills framerate-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analyze video frame rate characteristics, detect CFR vs VFR, find duplicate frames, and diagnose timing issues.
CFR (Constant Frame Rate):
VFR (Variable Frame Rate):
| Rate | Actual Value | Use Case | |------|--------------|----------| | 23.976 fps | 24000/1001 | Film, most streaming | | 24 fps | 24/1 | True film rate (rare digital) | | 25 fps | 25/1 | PAL video | | 29.97 fps | 30000/1001 | NTSC video | | 30 fps | 30/1 | Some digital content | | 59.94 fps | 60000/1001 | High frame rate NTSC | | 60 fps | 60/1 | Gaming, high frame rate |
23.976 vs 24: Nearly identical visually. The fractional rate exists for NTSC broadcast compatibility from analog TV era.
mediainfo video.mkv
Look for:
Frame rate mode : Constant or Variable
Frame rate : 23.976 (24000/1001) FPS
Frame rate mode tells you CFR vs VFR.
For deeper analysis:
# Check frame rate mode specifically
mediainfo --Inform="Video;%FrameRate_Mode%" video.mkv
# Get frame count
ffprobe -v error -count_packets -select_streams v:0 \
-show_entries stream=nb_read_packets -of csv=p=0 video.mkv
Using ffmpeg:
# Detect duplicate frames (mpdecimate filter)
ffmpeg -i video.mkv -vf "mpdecimate,setpts=N/FRAME_RATE/TB" \
-f null - 2>&1 | grep "drop"
Manual inspection with mpv:
. and ,Judder causes:
Visual test:
Symptoms:
Solution: Convert to CFR before editing:
ffmpeg -i vfr_video.mkv -vsync cfr -r 30 cfr_video.mkv
Symptoms:
Causes:
Detection: Step through video frame-by-frame. If two adjacent frames are identical, you have duplicates.
Symptoms:
Solution: Retag without reencoding:
# Change frame rate metadata only
ffmpeg -i video.mkv -c copy -video_track_timescale 24000 output.mkv
Symptoms:
Cause: Frame interpolation (RIFE, SVP, TV motion smoothing) generating fake frames.
Why it's bad:
Requirements:
Before importing:
Standard remux may preserve VFR timestamps:
# May not fix VFR
ffmpeg -i input.mkv -c copy output.mp4
Force true CFR:
# Step 1: Set timescale
ffmpeg -i input.mkv -c copy -video_track_timescale 24000 temp.mp4
# Step 2: Round timestamps (for 23.976 fps)
ffmpeg -i temp.mp4 -c copy \
-bsf:v "setts=dts=1001*round(DTS/1001):pts=1001*round(PTS/1001)" output.mp4
| Issue | MediaInfo Shows | Solution | |-------|-----------------|----------| | VFR video | Frame rate mode: Variable | Convert to CFR | | Duplicate frames | N/A (visual inspection) | Re-encode or accept | | Wrong rate tag | Unexpected frame rate | Retag with ffmpeg | | Interpolated | Higher fps than source | Use original |
. and , keys)${CLAUDE_PLUGIN_ROOT}/references/encoding-commands.md - Frame rate conversion commands${CLAUDE_PLUGIN_ROOT}/references/tools.md - Tool recommendationstools
Real-time web research using Google Search via Google's Antigravity (`agy`) CLI — the replacement for the deprecated `gemini-cli`. Trigger when user needs current information ("search with agy", "search with Google Antigravity", "find current info about X with agy", "what's the latest on Y"), library/API research, security vulnerability lookups, or comparisons requiring recent data.
tools
Get Google Antigravity's (`agy`) review of Claude's implementation plans. Trigger when user wants a second opinion on a plan ("have agy review this plan", "get a second opinion from Google Antigravity", "critique this plan with agy"), or after Claude creates a plan file that needs validation before implementation. Replaces the deprecated gemini-cli plan-review workflow.
tools
Get Google Antigravity's (`agy`) code review of git changes after Claude makes edits. Trigger when user wants a second opinion on code changes ("have agy review my changes", "get code review from Google Antigravity", "review this diff with agy"), or as a final check before committing. Replaces the deprecated gemini-cli diff-review workflow.
tools
Deep architectural analysis of the current workspace using Google Antigravity (`agy`). Trigger when the user needs an architecture overview ("analyze this codebase with agy", "map dependencies with Google Antigravity"), is onboarding to unfamiliar code, exploring legacy systems, or hunting technical debt. Replaces the deprecated gemini-cli `codebase_investigator` workflow.