Skip to content
cccskills
FreePublished on GitHub

ugc-fixloop

the UGC fix-loop toolkit — surgically re-render a bad window/beat of a single-take UGC master (stitch_replacement.py, pure FFmpeg) and GPT cross-model review a Seedance prompt before render (vet_seedance_prompt.py, routed through the openai-proxy). Fetch it into a one-shot UGC recipe so both scripts resolve on any machine and the vet call bills the Ads agent.

The English summary is being prepared. Showing the original description.

See how to install

Files included (5)

  • SKILL.md3.4 KB
  • scripts/stitch_replacement.py6.4 KB
  • scripts/vet_seedance_prompt.py5.8 KB
  • skill.meta.json281 B
  • tests/smoke-test.md1.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

ugc-fixloop

The UGC fix-loop toolkit. The one-shot UGC video recipes (create-ugc-*-video-from-refs) render a single continuous Seedance 2.0 reference-to-video master with native lip-synced audio. This capability ships the two scripts those recipes run, so they exist on the remote machine (fetched into /tmp/gooseworks-scripts/ugc-fixloop/).

Any re-render of a replacement clip goes through the same proxy path the recipe uses for the take (create-video-fal / fal-proxy), NEVER a direct fal.run call.

Env / deps

  • stitch_replacement.py — no API key, no network. Needs ffmpeg + ffprobe on PATH (all local FFmpeg).
  • vet_seedance_prompt.py — routes through the GooseWorks openai-proxy (<api_base>/api/internal/openai-proxy/v1/chat/completions), reading creds from ~/.gooseworks/credentials.json — no direct OpenAI call, no local key; the call bills the Ads agent. Exits 3 if the proxy/creds are unavailable so the recipe can fall back to an inline self-review (the vet is advisory, not a gate).

Run — vet_seedance_prompt.py (GPT cross-model prompt review)

A second opinion from a different model family on the Seedance prompt before you spend the render (a model reviewing its own prompt is a weaker signal). Takes the prompt as an argument:

vet_seedance_prompt.py --prompt-file working/seedance-prompt.txt \
    [--brief "one-line intent"] [--refs "@Image1=avatar; @Image2=product; @Image3=env"] \
    [--words 28] [--out working/seedance-review.md]

Prints + saves the structured review (verdict, line edits, word budget, consistency risk).

Run — stitch_replacement.py (surgical beat/window swap, deterministic)

Replaces one segment of the master on the VIDEO track only; the master's audio (VO + ambience) plays straight through, so lip-sync on talking beats is never touched. Output is re-encoded H.264 / yuv420p at the master's fps + resolution.

Required: --master M.mp4 --replacement R.mp4 --output O.mp4. Pick the window ONE of two ways:

# By beat (1-indexed segment between auto-detected scene cuts):
stitch_replacement.py --master M.mp4 --replacement R.mp4 --output O.mp4 --replace-beat 2

# By explicit window (seconds):
stitch_replacement.py --master M.mp4 --replacement R.mp4 --output O.mp4 \
    --window-start 4.21 --window-end 8.75 --fit stretch

All args:

  • --master (required) — the single-take master mp4.
  • --replacement (required) — the re-rendered silent replacement clip (generated via create-video-fal).
  • --output (required) — output mp4 path.
  • --window-start / --window-end (float seconds) — explicit hole to replace.
  • --replace-beat (int, 1-indexed) — pick the segment between detected scene cuts.
  • --scene-threshold (float, default 0.3) — scene-cut sensitivity for --replace-beat.
  • --fit {stretch,trim,freeze} (default stretch) — reconcile replacement length to the hole.
  • --dry-run — print the ffmpeg command without running.

Warns if output duration drifts >0.15s from the master (audio-sync check).

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Research supported advertising promises from a specific buyer's context, current product facts, customer language and observed ads. Turn them into static, video or copy ideas; match video ideas to actual recipes and save a product-scoped angle bank for write-video-ad-script. Product-led discovery can use verified facts without reviews. Reference persistence and reach are observations, not proof of performance.

The English summary is being prepared. Showing the original description.

gooseworks-ai/goose-skills1.3KUpdated Oct 23, 2026

Analyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.

The English summary is being prepared. Showing the original description.

gooseworks-ai/goose-skills1.3KUpdated Oct 23, 2026

For paid lead-gen and participant-recruitment ads, replaces vanity CPA with true CAC per qualified lead by joining ad-platform data with downstream funnel events, surfaces tracking gaps, and classifies every creative into Scale / Keep / Investigate / Cut.

The English summary is being prepared. Showing the original description.

gooseworks-ai/goose-skills1.3KUpdated Oct 23, 2026

The intake stage of a Meta ad harness. Researches the brand first, states what it assumes, and asks only what it cannot infer and what would change money, claims or legal exposure if guessed wrong — at most four questions a turn, in plain business language. Writes the brand's stable facts (ads/brand.md), the campaign brief, and a log of what was asked vs assumed. Use it when someone wants to run Meta ads and the brand's ad facts are not yet recorded.

The English summary is being prepared. Showing the original description.

gooseworks-ai/goose-skills1.3KUpdated Oct 23, 2026

Checks paid ads against the ad platform's rules (Meta, TikTok, Google, LinkedIn and others) and the brand's category rules: the copy, on-image or on-screen text, pictures and people. Rewrites what can be fixed honestly, adds the disclosures that are needed, and flags anything that needs a human or legal review, with one pass, fixed or flag line per ad and platform. Use alone when you already have the ad text or images and know where they will run; otherwise run the playbook for the job (e.g. make-static-ads, make-content, email-lifecycle).

The English summary is being prepared. Showing the original description.

gooseworks-ai/goose-skills1.3KUpdated Oct 23, 2026

Analyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA. Flags disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.

The English summary is being prepared. Showing the original description.

gooseworks-ai/goose-skills1.3KUpdated Oct 23, 2026

See all skills by gooseworks-ai

Report a problem with this skill