video-check
Skill40 starsChanged 8 days agoApache-2.0View on GitHub
Check a finished video before the person sees it or posts it, then fix what is wrong. Measures the file (size, frame rate, pixel format, length), picture faults (black or white frames, frozen stretches, one-frame glitches, stutter, a loop that jumps or repeats a frame), and sound (loudness, clipping, silences, audio that ends early or stops abruptly); makes frame sheets at phone size with the caption-safe area marked; then a reviewer who has not seen your plan looks at the sheets and lists problems with a time and a fix. Fix the worst three, render again, check again, at most three rounds. Use it after rendering any edit, and when someone asks to check a video before sending or posting it, says "kiểm tra video trước khi gửi", "xem lại bản dựng", "video này có lỗi gì không", "review my edit", "QA this render". Works on a local file. Not for breaking down someone else's video (use video-breakdown) or for judging footage the person has not edited.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- tymoshenko-dmytro/marketing-agent-kittheir own version, first seen Nov 1, 2026
- tymoshenko-dmytro/claude-marketing-skillstheir own version, first seen Nov 1, 2026
- charlie947/reel-editing-skillstheir own version, first seen Nov 1, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- charlie947/reel-editing-skills★ 9same name
- tymoshenko-dmytro/claude-marketing-skills★ 2same name
- tymoshenko-dmytro/marketing-agent-kit★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- editable-exportSkill
- media-pickerSkill
- sound-designSkill
- transcribeSkill
- video-breakdownSkill
- template-skillSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 2 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 46
When you made the video, or the person told you the plan, add it: for example --expect 1080x1920 --fps 30 --duration 32 --holds 28.5-32 …
- Very specific: line 66
If you can start a subagent, give it only the sheets, the platform and one sentence on what the video is for.
- Very specific: line 68
If you cannot, look yourself, but cover the plan: describe each sheet as a stranger would, one sentence a frame, before you judge it.
- Very specific: line 73
Check the list in references/review-guide.md, which holds the things that make an edit look made by a template or a machine: slide-like …
- Distinctive: line 83
Stop after three rounds: If round three still has a P0 or needs big changes, stop and tell the person what is left and why, instead of …
- Very specific: line 91
Write REVIEW.md next to the video, in the person's language, with the template in references/review-guide.md:
- Distinctive: line 109
Last, ask once how it went: If the EditAtlas MCP is connected, ask the person, in one short message in their language, about each thing …
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Video check: find what is wrong with a render before anyone else does
This is video-check 0.2.4.
The person gets a video that has been checked like a professional editor checks an export, and a short
REVIEW.md that says what was measured, what was looked at, what was fixed, and what nobody checked.
Three things are true the whole way through:
- Measure first, then look. A model looking at frames misses dead stretches and one-frame glitches; FFmpeg
does not. Run
check.pybefore you look, and never skip it because the video "looked fine". - The person who made it is the worst reviewer. You know what each shot was meant to show, so you see the plan instead of the picture. Have someone without your plan look at the sheets (step 3).
- You cannot hear. The script measures loudness, peaks and silences. Whether the music fits, whether a sound is the right sound and whether speech is clear must be listened to by a person. Say so every time.
When the inputs are missing
You need the rendered file on this machine. If the person only describes a video, or gives a link to a platform, ask for the file; do not download from TikTok, YouTube or Instagram. If you made the video, you also know the plan: size, frame rate, length, loudness target and which still stretches and flashes are on purpose. If the person brings their own edit, ask what it is for (platform, length) and use the defaults below for the rest.
Workflow
Measure. Pass what was planned, so the script can tell a fault from a choice:
python scripts/check.py final.mp4 --out work/check1 --loudness -14When you made the video, or the person told you the plan, add it: for example
--expect 1080x1920 --fps 30 --duration 32 --holds 28.5-32 --flashes 12.4. Never guess size, frame rate or length from the platform: a 960x540 file nobody asked to be 1080p is not a size fault, so leave--expectout when nobody planned it.--holdslists still stretches on purpose (an end card, a title held still);--flasheslists planned one-frame flashes and dips;--loopfor a piece made to loop;--audio nonefor a silent piece. Online video is normalized to about -14 LUFS; use -16 for podcasts and -23 for broadcast. It prints findings asP0/P1/P2 t=… code: what -> fixand writescheck.json,overview_NN.pngandfindings.png.references/reading-the-checks.mdsays what each check catches and what it misses.- Fix the P0s now. Wrong size, wrong frame rate, wrong length, no audio when there should be, clipping:
these are render mistakes, not taste. Fix the command, render again and rerun step 1 before anyone looks.
For loudness, clipping and true peak, fix the mix in the edit if you have it (lower the music, the loudest
sound). If you only have the finished file, run
python scripts/fix_sound.py in.mp4 out.mp4 --loudness -14: it limits the peaks, normalizes in two passes and copies the picture untouched, landing within 0.2 LU of the target and under -1.5 dBTP. Single-passloudnormmisses its peak target and a plain limiter leaves the mix quiet; do not hand-tune filters round after round. Look, with fresh eyes. Open every overview sheet and
findings.pngwith the Read tool. Then get a second look from someone who has not seen your plan:- If you can start a subagent, give it only the sheets, the platform and one sentence on what the video is
for. Not your plan, not your code, not your intentions. Use the brief in
references/review-guide.md. - If you cannot, look yourself, but cover the plan: describe each sheet as a stranger would, one sentence a
frame, before you judge it. Write "one context" in
REVIEW.md.
Each problem is written as
t=12.4s · where on screen · what is wrong → the exact change, with P0 (broken or unreadable), P1 (a viewer will notice) or P2 (polish). No scores out of ten: a score finds nothing to fix. Check the list inreferences/review-guide.md, which holds the things that make an edit look made by a template or a machine: slide-like progress rails and step counters, every line entering the same way, text under the platform buttons, an empty first frame, numbers nobody gave you.- If you can start a subagent, give it only the sheets, the platform and one sentence on what the video is
for. Not your plan, not your code, not your intentions. Use the brief in
- Fix the three worst, then check again. Take the P0s and the three worst P1s. For each, change the edit
list or the command, not the rendered file. If the fix is a method you do not know,
search_techniquesthe result you want (for example "duck music under speech", "fade audio at a cut") andget_techniqueits prompt. Render, then rerun step 1 with--before work/check1/check.json --out work/check2; it lists what was fixed, what is still there and what is new, and drawsbefore_after.png. Look at the frames you changed. - Stop after three rounds. If round three still has a P0 or needs big changes, stop and tell the person what is left and why, instead of looping. Problems that need their decision (a different song, a shot that does not exist) go to them as questions.
Deliver
First, a version check. If the EditAtlas MCP is connected, call get_skill without a name. If it lists video-check above 0.2.4, the first line of your reply says a newer version exists and how to update it (in Claude Code: /plugin, then Marketplaces, editatlas-skills, Update marketplace; elsewhere get_skill with name video-check gives the step). Without the MCP, skip it.
Write REVIEW.md next to the video, in the person's language, with the template in
references/review-guide.md:
- the verdict in one line: ready (nothing left), ready with notes (the notes name every finding still there, and each P1 left needs something you do not have, such as the edit project), or not ready (a P0 is still there, or a P1 you could fix);
- what the script measured (size, frame rate, length, loudness, true peak, cuts per minute) and the findings fixed in each round;
- each finding left in place with its times and its pattern as
check.pywrote them (for example "one every 12 frames from 0.4 s; every 2-6 frames from 11.7 to 14.9 s"), not only a count; - what the reviewer saw, and whether it was a separate reviewer or one context;
- what still needs a person: listening to the mix and the music choice, spelling and names on screen, lip sync, colour on a real phone, and anything you could not fix. Keep the sentence that nobody listened to the sound, in plain words and only in the person's language.
Show the person before_after.png from the last round. Never write that the video "has no errors": write what
was checked.
Last, ask once how it went. If the EditAtlas MCP is connected, ask the person, in one short message in their
language, about each thing from EditAtlas you used, by name: the techniques, sounds, music, stock clips and this
skill. Send each answer with send_feedback, about this_item; an answer only about the whole video goes once, as
whole_edit. Send only what they said, and nothing if they do not answer. Ask once per edit: if you or another
skill already asked, skip it.
References
references/reading-the-checks.md: each measurement, its thresholds, what it catches and misses, and the results on known videos. Read it when a finding looks wrong or before you set--holds.references/review-guide.md: the brief for the reviewer, the list of tells, the problem format and theREVIEW.mdtemplate. Read it at step 3.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

