review-ugc-render
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.
npx skills add gooseworks-ai/goose-skills --skill review-ugc-render --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# 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: `Hume`→`Hune`, `Alitu`→`al-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-scrip
- Why this exists
- When to run
- Contract
- What FAIL means and how to fix
- Inputs
- Tests
- Relationship to the content-goose review engine
python3 <pack>/review-ugc-render/scripts/review_render.py \ python3 tests/test_review_render.py # pure verdict logic; no audio/network
What does the review-ugc-render skill do?
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.
How do I install it?
Run `npx skills add gooseworks-ai/goose-skills --skill review-ugc-render --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From gooseworks-ai/goose-skills, a repository with 1,091 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
