mcpField
P
papercut-qa

papercut-qa

github.com/0xs4n4tgCreative & media9951 installsUpdated 2w ago
Repository

About papercut-qa

papercut-qa is a skill for reviewing Papercut video stills against a style guide and storyboard. It guides scene-by-scene and whole-reel checks, with contact sheets, a visual checklist, and a handoff for fixes.

Key features

  1. 01Render still-frame contact sheets
  2. 02Review frames against style and storyboard
  3. 03Check paper look, captions, and motion
  4. 04Verify voiceover, captions, and event sync
  5. 05Report placeholders and route fixes

Use cases

  1. 01Review scenes during video production
  2. 02Check the full reel before final rendering
  3. 03Recheck a scene after making fixes

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/0xs4n4tg/papercut-explainer --skill papercut-qa

After installing, type/papercut-qain Claude Code to confirm it loaded.

Details

From the project README

Papercut QA

Compare stills for style, not content, against the Style DNA and the storyboard. Run it per scene while building and once on the whole reel before the final render.

Preflight

  • Install: Standard or Full. Stills need a scaffolded project with Remotion, and the contact sheets need Python with numpy and Pillow ($PAPERCUT_PY). Missing pieces: ./install.sh --doctor, then papercut-setup.
  • Library: $PAPERCUT_LIB, else the PAPERCUT_LIB= line in ~/.config/papercut-explainer/config.env, else ask once.
  • Read first: Style DNA in ../papercut-explainer/references/style-guide.md section 2, and the backdrop sheet library/papercut/public/bg/backdrops/_sheet.jpg. Each image costs about 0.7-1.5k tokens, so open only what the step needs.
  • For density, ../papercut-explainer/references/frame-breakdown.md ("Pacing stats" at the end): scenes average 2.8 s, 2-4 discrete visual events per scene, one every 0.4-0.8 s on a stressed word, a new caption page about every 0.6 s. Copy the density, not the content.

1. Render stills

From the project's papercut/ folder:

$PAPERCUT_LIB/tools/qa.sh NAME FROM-TO NTH [SCALE=0.3] [COLS=9]
  • Use 4-6 timestamps per check. For a scene, NTH is about its length in frames divided by 4. Leave FROM-TO out for the whole reel and raise NTH.
  • The output is out/qa/NAME_0.jpg (and _1, _2 for longer ranges), at most 45 frames per sheet. Read the sheet; keep sheets small.
  • One QA command per scene, and never two renders at once. Keep fixes to two rounds per scene.
  • Check against the storyboard: the scene's frame 0, its key events on their words, nothing clipped, nothing covering the banner or caption bands.

2. Checklist

  • Every object reads as paper: grain, rough edge, drop shadow, stacked-piece shading, no outlines or gradients.
  • The world camera moves smoothly. Only the banner and labels boil (stepped, subtle).
  • The banner is fixed in position and taped, 3-7 words, one fact each, never repeats the VO. The banners alone read as a fact sheet.
  • Every set illustrates a concrete word in its VO line, numbers are physical props, and there is one callback set before the CTA.
  • Every number and UI label traces to the facts list. The script has at least one honest limitation and a feature stack of exactly three.
  • Captions: one tag per word, tilted, popping on onset, pages of 1-3, in the 68-80% band, never on a face.
  • Saturation only on characters, captions and signals.
  • A visual event on every stressed word, with ambient motion always running.
  • Cuts on banner changes (sets 1.5-3 s in tours and news, up to 5 s in a metaphor beat), bottom 20% clear.
  • The HOOK block (SAY / WRITE / SHOW / ALIGN) is on screen exactly as written: frame 0 shows the SHOW moment mid-action with the WRITE title on it, and the first VO line is SAY.
  • Every scene has a camera move, at most one page turn or tear, a tape pull or whip into the CTA, and every transition has its SFX.
  • Humour pass visible on screen: one format throughout, a costume prop per idea, one struggling beat, the frame-0 prop returns changed in the CTA set, and every gag reads in under 1 s and never covers the banner, the captions or the key number.
  • Vocabulary in the VO and banners matches the audience level in SERIES.md.
  • Voiceover, captions and events are in sync (scrub the Studio at every cut).

For a failed item, fix the scene file (or the kit in the library, never src/lib/ in the project) and re-run the one scene. Rebuild a scene with papercut-build.

3. Deliver

Open the Studio preview, list the scenes with timings, and say what is placeholder: voice, music, SFX, assets. If the voice is a placeholder, say how to re-voice it (papercut-voice). After posting, the numbers go to papercut-strategy for the autopsy.

Principles pass

Scrub one scene at 5 fps and check against ../papercut-explainer/references/motion-principles.md: anticipation before each big move (2), everything eased (6), something trailing after impacts (5), one focal prop (3), one exaggerated beat (10), stacked shading and a consistent shadow (11).

Hand-off

Fixes go back to papercut-build (scene or sound) or papercut-voice (sync). A clean pass ends the reel: render with $PAPERCUT_LIB/tools/render.sh when the user asks.

Comments

Markdown supported