Skip to content
Marketing
Skill

/render-value-prop

Render a designed 'value prop' video from a config — 3-5 noun-phrase benefit claims (<=4 words each) revealed sequentially over per-SKU product visuals, one crisp editorial frame per claim (hook sticker -> N claim beats -> brand end card). Deterministic PIL/HTML beat renderer

From plugin
goose-skills
1.3k181 skills

Claude Code

$ npx -y skills add gooseworks-ai/goose-skills --skill render-value-prop --agent claude-code

SKILL.md

render-value-prop.SKILL.md
name: render-value-prop
description: Render a designed 'value prop' video from a config — 3-5 noun-phrase benefit claims (<=4 words each) revealed sequentially over per-SKU product visuals, one crisp editorial frame per claim (hook sticker -> N claim beats -> brand end card). Deterministic PIL/HTML beat renderer frame-stepped via Playwright and encoded with FFmpeg, sound-off legible, hard cuts, uniform pacing. FREE (no paid calls); music is added separately (create-music-elevenlabs). Use for the value-prop format.
status: active

render-value-prop

Render a designed 'value prop' video from a config: a hook sticker, then one beat per short noun-phrase benefit claim (<=4 words each — "Drug-Free", "Zero Sugar", "NSF Certified"), each pairing the claim headline with a per-SKU product visual (the hero SKU rotates beat to beat so the eye anchor shifts), then a brand-wordmark end card. Text + product carry the spot — no narration, no talking head — and it is built to be legible sound-off. Every beat is a pure function of beat-local time `t` (deterministic PIL start frames + Playwright hyperframes + FFmpeg); no CSS keyframes, no setTimeout. FREE (no paid calls); music is a separate capability (create-music-elevenlabs), or ship silent for free.

Run

`render_master.py --config config.json --project <dir>` -> `<dir>/finals/master-clean.mp4` (silent), 1080x1920, deterministic, no paid calls. The renderer is **fully config-driven** — palette, copy, SKUs, pacing, hook, logo and end card all come from `config.json` (schema = `ad_sample.recipe.config`; see `config.example.json`). Nothing is hardcoded to one brand. `build_storyboard_preview.py` is an optional free preview gallery for the gate; `build_text_overlays.py` is optional (transparent text-zone PNGs for compositing claims over a motion clip). Both preview scripts take their ink, background, brand name and logo from `shot-list.yml` `project:` or the project's `config.json` (neutral fallbacks otherwise). `shared/beat-templates/` are reference layouts with placeholder copy; the renderer does not read them.

Choices

The value-prop recipe asks these of the user; this capability renders whatever the config says.

  • `music` — the bed under the claims, or silent (sets `music_brief`, consumed by

create-music-elevenlabs, not this renderer). Asked of the user; the demo used calm ambient sleep music.

  • `background` — what the claims sit on (sets `palette.bg`). Asked of the user; the demo used

white with a navy headline. `palette.ink` comes from the brand kit.

Environment: run with a **Python that has Playwright** (override the frame-render interpreter with `RENDER_PYTHON`); `ffmpeg` is auto-discovered (`FFMPEG` env > PATH > common prefixes). The frame renderer `render_hyperframe.py` is **bundled** in `scripts/` — no external atom to fetch.

Contract

  • Deterministic + FREE (Playwright frame-step + FFmpeg); no paid calls, no AI-rendered text.
  • Claims are noun phrases, <=4 words; never <3, never >5. Optional benefit sentence <=12 words.
  • One product visual per beat; rotate which SKU is the hero. Never reuse a flat variety-pack image as every canvas.
  • Sound-off legibility is the bar: the headline uses the config `palette.ink` color on `palette.bg`;

the per-beat **accent** color (from `value_props[].accent` — a SKU-accent slug or a hex) is the accent rule, not the headline.

  • Product widths **auto-scale from each image's aspect ratio** (target display height), so tall

sachet cutouts and wide product packshots both frame correctly.

  • Assets are packshots, not always transparent cutouts: set `palette.bg` to the product image's

background color for seamless compositing (free — avoids a paid background-removal step).

  • Uniform pacing (hook ~3.0s, props 2.0-2.5s each, endcard ~2.0s); total lands in the 10-20s window (~17s). No acceleration curve.
  • No human face is the focus. End card uses the brand wordmark **image** when a hi-res one

(aspect >= ~1.2, i.e. a real >=1200x600 wordmark) is provided via `config.logo`; otherwise it **falls back to a typographic `brand_name` wordmark** (many brands ship only a favicon).

  • Music is added separately by create-music-elevenlabs (quiet instrumental bed at -14 dB), or ship silent.
Read more
@gooseworks-ai
Ships withgoose-skills

Put your AI agent on the growth team. Research customers and competitors, analyze what is working, create the next campaign, and learn from the result.

1.3k181 skills
Get the whole plugin

Stars on GitHub

Momentum

stars in total
1.3k
Star history of gooseworks-ai/goose-skills on GitHub, a chart by star-history.com

Other skills on goose-skills.

goose-ads

goose-ads

Edit, resize, animate and study image ads with GooseWorks in this chat. New static or image ads go to the make-static-ads skill…

goose-video

goose-video

Make a video ad in this chat from a real reference ad, found or theirs; styles are the fallback. Follow every answer's next_step.

gooseworks

gooseworks

GooseWorks growth coworker and router for markets, competitors, audiences, creators, campaigns, ads, photos, graphics, video,…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about render-value-prop.

Which coding agents can use render-value-prop?
render-value-prop installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.