Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Render a 'brand identity reveal' video from a config — a single poster frame in a real, softly-lit space (real wall, soft-focus plant in the corner, dappled leaf shadow, illuminated poster) whose artwork HARD-CUTS through ~10 on-brand poster mockups (hero product, IG post, hanging banners, sticker sheet, logo lockup, poster, two lifestyle stills, packaging, big icon) then holds on a brand end card. The environment plate is one create-image-fal generation; the mockups are real-DOM HTML frame-step
.claude/skills/gooseworks-ai-render-brand-identity-reveal/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 20% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-16 | ✗→✓ | ▲ Improved | -30% | 0% |
Render the 'brand identity reveal' format from a config. The signature is a single fixed poster frame in a REAL, softly-lit space (the illuminated poster-frame look of a boutique/cinema): a real wall, a real soft-focus plant in the lower-left corner, dappled leaf shadow. The artwork INSIDE the frame HARD-CUTS (no crossfade) through 11 beats — 10 on-brand poster mockups + a brand END CARD held ~3s. Music bed only, NO voiceover; copy is baked into each mockup, never overlaid as captions.
This capability is the FREE assembly only. The paid parts are separate generic capabilities the recipe names — create-image-fal (the one-shot environment plate) and create-music-elevenlabs (the bed). Never re-implement them here.
create-image-fal, flux-pro ultra, 9:16) — an empty litposter frame in a real space, high-res so the camera can be pushed closer by cropping. Pick a wall color that makes the brand's poster colors POP (complement of the dominant hue).
scene.html), one poster per beat, built from thebrand's real assets + approved copy, frame-stepped via Playwright (render_art.py, bare mode, device_scale_factor 2).
measure_frame.py detects the blank poster interior quad;composite.py perspective-warps each poster into it AND multiplies the plate's real leaf-shadow/light back onto the poster (so it reads as behind glass) + a glass sheen; build_video.sh sequences the frames with the music bed.
config.json — copy scripts/config.example.json and edit (canvas, plate prompt +wall_style, camera crop, per-beat durations, end-card copy). Schema + per-file working-dir layout are documented in scripts/PIPELINE.md.
as an SVG <mask> if the only source has an occluding element). Approved copy only.
bashCAP=skills/ads/capabilities/render-brand-identity-reveal RUN=<project>/working # holds scene.html + assets/ + the create-image-fal plate in bg/ python3 $CAP/scripts/recrop.py 0.72 0.13 # camera distance (bigger frac = bigger frame) python3 $CAP/scripts/measure_frame.py # detect the blank poster interior quad python3 $CAP/scripts/render_art.py # render each poster standalone (Playwright, dsf 2) python3 $CAP/scripts/composite.py # warp into frame + shadow multiply + sheen bash $CAP/scripts/build_video.sh $RUN/concat.txt $RUN/music.mp3 out.mp4 13.05 1.0
Then watch the master (music-only, every poster legible, shadow falls across the art, end card holds). See scripts/PIPELINE.md for adapting scene.html per brand.
display (a per-state display:flex silently overrides adisplay:none toggle and paints one state over all others).
recrop.py), don't regenerate.display: rule beat the visibility toggle; useopacity.
evaluate(fn, arg) didn't switch state in a loop → bake the beat index into theJS string and return the applied state to assert it.
corner-flood-fill.
Other measured skills in the registry, with their headline benchmark lift.