qa
Skill0 starsChanged 47 days agoApache-2.0View on GitHub
Re-run technical QA on a rendered video-studio project - resolution, aspect, duration, codecs, black and frozen frames, motion density and moving share, the loop seam, flashing, audio/video sync, silence and loudness against -14 LUFS - and explain each finding with its fix. Use when the user runs /video-studio:qa or asks whether a rendered reel is ready to post.
In this repository24 other files it gives its agents.
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 11
Use the project folder the user named, else the cwd (absolute path).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Check a rendered video
- Use the project folder the user named, else the cwd (absolute path). It
must have been rendered (
render_submit); otherwise offer therenderskill. - Call
mcp__plugin_video-studio_engine__qa_run {project_dir}(addquality: "final"or"preview"to pick a render; default is the latest). - Report the status (
pass,warn,fail) and each finding asid: detail, with its fix. Context:- With the silent voice (or
voice.mode: noneand no music), silence and loudness are reported as not measured, never as warnings. frozen_framesfails when frozen time (still for 1 s or more) exceedsacceptance.max_frozen_pctof the runtime (default 15%). It is never "expected": a frozen reel reads as a slideshow. Fix the listed stretches with motion (amotionscene, camera moves, staged reveals) or cut them.motion_density(big visual changes per second, from scene-change detection) andlongest_static(longest stretch with no big change) fail only against the spec'sacceptance.min_changes_per_secandacceptance.max_static_sec; otherwise they are reported for context. Smooth continuous motion is not a "big change"; cuts, reveals and new states are.holdchecksacceptance.hold_msthe same way.moving(the share of frames where the picture moves at all, frame to frame) complementsmotion_density: a slow zoom, drift or crossfade counts as moving on every frame but is not a big change, while a hard cut is a big change but only one moving frame. A cut-only slideshow scores high changes/s and a low moving %; a slow Ken Burns the reverse. It fails only belowacceptance.min_moving_pct. Fix: keep the holds alive (a slow camera move, easing elements, a crossfade).movingandfrozen_framescan both be high: frozen means the whole frame barely changes, moving means anything changes (luma). High on both = only small parts move (a breathing glow, a blinking cursor) while the frame reads as still; give those stretches a bigger change.loop_seam(withmaster.loop): the last frame must match the first (SSIM ≥ 0.99) and the audio level must not jump across the seam (under 6 dB).flashing: fails above 3 flashes in any 1 s window (no acceptance override; flashes that fast can trigger seizures) and warns on single-frame luma spikes (a lone white or black frame mid-clip). It is measured on each frame's mean luma, an approximation of WCAG 2.3.1 general flashes: a flash in part of the frame counts less, and red flashes are not measured, so say so when the reel has strobing red. Fix: slow the flashing to 3/s or less, lower its contrast or shrink it; replace or fade a lone spike frame (qa/report.mdlists the times).av_sync: the audio must start within one frame of the video (fail) and last as long as the video's frames, within one frame plus 10 ms (warn). Not applicable without an audio track. Renders so far measured a 0 ms offset; on a failure, report the measured offset, re-render and, if it persists, run/video-studio:doctor(the ffmpeg build).duration,resolution,aspect,black_framesoraudio_streamfailures mean the reel is not ready: suggest re-rendering (cached work is reused) and, if it persists,/video-studio:doctor.
- With the silent voice (or
- The full report is in
qa/report.md;dist/render-manifest.jsonnow carries the new QA summary.
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.

