mcpbeat Sign in

Review Ugc Render Agent Skill

Mandatory pre-publish review gate for a UGC video render. Transcribes the finished render's AUDIO with Whisper and word-diffs it against the approved spoken script, then gates set_final_render — blocking a render whose generated audio mis-voices a word (e.g. the approved "human-vetted" spoken as "human witted"), drops an approved phrase, or comes back silent. Runnable, gating counterpart to content-goose's review-transcript-integrity atom. Every ugc-video-formats recipe runs this after render and BEFORE set_final_render.

6k tokens
context cost
the whole folder, loaded on every use
3
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
1086
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/gooseworks-ai/goose-skills --skill review-ugc-render

What comes with it

19 835 bytes besides the instruction
scripts/review_render.py
tests/test_review_render.py

The instruction itself

8 sections, as written by the author

review-ugc-render

> The QC gate every UGC video recipe MUST clear before it publishes. Not an

> eyeball /watch — a deterministic transcript-vs-script diff that exits non-zero

> on a defect so the recipe can hard-stop set_final_render.

Why this exists

Seedance generates the audio natively. It sometimes mis-voices a word — the

approved line human-vetted comes back spoken as human witted; documented

siblings: HumeHune, Alitual-too. The defect lives in the render's

audio, so an eyeball /watch ("dialogue matches the script") slips it through,

and a downstream caption pass then bakes the wrong word in verbatim. Nothing was

comparing the actual spoken audio against the script the user approved.

This gate does exactly that, deterministically, and refuses to publish on a miss.

When to run

  • MANDATORY in every remix-ugc-*-from-sample and create-ugc-*-video-from-refs

recipe, in the QC phase, after the master render exists and before

set_final_render.

  • Re-run after every fix / re-roll until it PASSES.

Contract

Before rendering, persist the exact approved spoken lines (the verbatim utterance,

no beat notes) to working/approved-script.txt. Then, after render:

python3 <pack>/review-ugc-render/scripts/review_render.py \
  --video working/final.mp4 \
  --script-file working/approved-script.txt \
  --json working/review-verdict.json
  • exit 0 → PASS — proceed to publish (set_final_render).
  • exit 2 → FAIL — do NOT publish. Read the report, fix, re-run.
  • exit 3 → ERROR — the check could not run (see below); fix the environment, do

not publish blind.

Transcription backend (in priority order): OPENAI_API_KEY (honors

OPENAI_BASE_URL, so it routes through the gooseworks Whisper proxy when set) →

local whisper CLI. ffmpeg must be on PATH.

What FAIL means and how to fix

| Report line | Root cause | Fix |

|---|---|---|

| [high] said [witted] where script has [vetted] | Seedance mis-voiced the word in the generated audio | Re-roll a new seed. If it is a brand/coined token, spell it phonetically in the SPOKEN LINE (e.g. Ali-too, never a (pronounced …) parenthetical — Seedance reads parentheticals aloud). See create-video-seedance-2-fal Failure Modes. |

| [medium] dropped [...] / low similarity | Seedance dropped an approved phrase | Re-roll; if only a tail word, a surgical stitch_replacement.py window fix may recover it. |

| ⚠ audio is effectively silent | Wrong render / audio track lost in post | Re-render / re-check the mux; never publish a silent take. |

| ERROR: no transcription backend | No OPENAI_API_KEY and no local whisper | Set the key (proxy OPENAI_BASE_URL) or install whisper, then re-run. |

--expect-music is advisory only (warns if a music bed is absent); it does not by

itself fail the gate.

Inputs

  • --video PATH (required) — the rendered master mp4.
  • --script-file PATH or --script "text" — the approved spoken script. Omit

both only for a genuinely script-free clip (the drift check is then skipped and

the gate is advisory).

  • --min-ratio FLOAT (default 0.90) — transcript↔script token similarity to pass.
  • --json PATH — write the machine verdict for the app's review panel.

Tests

python3 tests/test_review_render.py    # pure verdict logic; no audio/network

Covers the canonical vetted→witted mis-voicing, brand-name mis-voicing, dropped

tails, benign filler, and the no-script advisory path.

Relationship to the content-goose review engine

This is the shipped, single-file, gating slice of the fuller

coworkers/video/molecules/review/review-loop (18-axis rubric). Here we enforce

the one axis that catches audio-vs-script defects at publish time

(review-transcript-integrity / brand_text_accuracy). Deeper multi-axis review

stays in the content-goose lab.

Other skills for the same job

different authors, same section of the catalogue
Canvas Design
by anthropics
vendor ×13

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

1388k tokens
Algorithmic Art
by anthropics
vendor ×10

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.

15k tokens scripts
Image Enhancer
by frostant
×6

Improves the quality of images, especially screenshots, by enhancing resolution, sharpness, and clarity. Perfect for preparing images for presentations, documentation, or social media posts.

635 tokens
Video Downloader
by CommandCodeAI
×4

Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.

671 tokens
Histolab
by christophacham
×3

Lightweight WSI tile extraction and preprocessing. Use for basic slide processing tissue detection, tile extraction, stain normalization for H&E images. Best for simple pipelines, dataset preparation, quick tile-based analysis. For advanced spatial proteomics, multiplexed imaging, or deep learning pipelines use pathml.

18k tokens
Omero Integration
by christophacham
×3

Microscopy data management platform. Access images via Python, retrieve datasets, analyze pixels, manage ROIs/annotations, batch processing, for high-content screening and microscopy workflows.

32k tokens
Pydicom
by christophacham
×3

Python library for working with DICOM (Digital Imaging and Communications in Medicine) files. Use this skill when reading, writing, or modifying medical imaging data in DICOM format, extracting pixel data from medical images (CT, MRI, X-ray, ultrasound), anonymizing DICOM files, working with DICOM metadata and tags, converting DICOM images to other formats, handling compressed DICOM data, or processing medical imaging datasets. Applies to tasks involving medical image analysis, PACS systems, radiology workflows, and healthcare imaging applications.

13k tokens scripts
Transformers
by christophacham
×3

This skill should be used when working with pre-trained transformer models for natural language processing, computer vision, audio, or multimodal tasks. Use for text generation, classification, question answering, translation, summarization, image classification, object detection, speech recognition, and fine-tuning models on custom datasets.

13k tokens

How to use it

Copy the folder

Take gooseworks-ai/review-ugc-render from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.