Produce a Hybrid H-CARD ad (Common Thread Co taxonomy): a 22-second 9:16 video
where a motion layer (NB2-generated avatars, Pexels stock b-roll, HTML phone
mockups, NB2 product composites) runs underneath kinetic typography banner
cards animated word-by-word via Playwright. Music-only, no VO, sound-off
readable — banner copy IS the script. Autonomously scrapes brand kit from
Shopify CDN, sources motion per beat, generates Indian-DTC-fit avatars where
needed, renders banner overlays in Amulya 800, composites via ffmpeg overlay
with mandatory de-AI grade. Two human gates only (brief approval + master
review). Use when brand wants every-frame-is-a-complete-ad with always-on
claim retention. NOT for UGC creator-led ads, VO-led storytelling, or
product-only photoshoots.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
Produce a Hybrid H-CARD ad (Common Thread Co taxonomy): a 22-second 9:16 video
where a motion layer (NB2-generated avatars, Pexels stock b-roll, HTML phone
mockups, NB2 product composites) runs underneath kinetic typography banner
cards animated word-by-word via Playwright. Music-only, no VO, sound-off
readable — banner copy IS the script. Autonomously scrapes brand kit from
Shopify CDN, sources motion per beat, generates Indian-DTC-fit avatars where
needed, renders banner overlays in Amulya 800, composites via ffmpeg overlay
with mandatory de-AI grade. Two human gates only (brief approval + master
review). Use when brand wants every-frame-is-a-complete-ad with always-on
claim retention. NOT for UGC creator-led ads, VO-led storytelling, or
product-only photoshoots.
status
PROD — validated on Clinikally V01 (2026-05-28), GOOSE-1785
create-hybrid-ad
Purpose
Produce a Hybrid H-CARD ad: a music-only 9:16 short with a motion layer (real footage / AI avatars / phone mockups / product composites) underneath kinetic typography banner cards that snap word-by-word. Banner copy IS the script.
The H-CARD sub-archetype (per references/format-dna.md) is the closest equivalent of Wild Earth's "YEAST" ad. The other Hybrid sub-archetypes (H-SPLIT product-heavy banner, H-PROMO discount strip) share most infrastructure but differ in banner composition — they're future variants of this skill.
Use when:
Brand wants sound-off retention (every frame is a complete ad)
Brand has a clear price/offer/promise (single number reveal beat)
Brand has at least 3 real product photos (for end card brand-feel)
Target length 15-25s
Do NOT use when:
The ad needs a creator on-camera (use molecules/ugc-ad/)
Audio narration drives the visual (use molecules/explainer-video/create-vo-anchored-beat-video)
It's a single-product launch (Hybrid is brand-feel; use a product-spec format)
Brand voice is sports/energy/party (different typography + music register; this skill defaults to clinical/wellness)
Inputs
Required:
brand_url — Shopify URL of the brand (e.g. https://www.clinikally.com)
service_or_offer — the headline product/service (e.g. "Video consult with dermatologist · ₹249 · 20-min")
headline_sequence[] — 6 complete sentences (one per beat 1-6) + 1 social proof beat (beat 7). Per references/copy-rules.md, each must be a complete grammatical thought; no fragments stitched together.
Optional (autonomous defaults if omitted):
aspect_ratio — 9:16 (default for Reels/Shorts), 1:1, or 4:5
duration_s — default 22
motion_source_per_beat — default decision tree: NB2 avatar for person beats if not Indian-presenting on Pexels; Pexels for generic context; HTML mockup for branded UI; NB2 composite for hand+product
font_family — default amulya@800 (Indian Type Foundry, Fontshare) for Indian DTC clinical brands. For other registers see references/typography-rules.md
music_brief — default: tropical-house wellness, 115 BPM, energetic from t=0, "Pacific Coast Dream" reference. Genre presets in references/music-presets.md
end_card_pattern — logo_only (default, pattern B) or multi_product_grid (pattern A). Never single-product (per feedback_endcard_brand_not_product.md)
kling_duration_per_beat — default 3s per Kling i2v call
fal_client.subscribe("fal-ai/elevenlabs/music", arguments={
"prompt": "<vibe> instrumental in the style of '<ref track>'. Energetic from the very first beat — NO slow intro. <BPM>. <instruments>. No vocals.",
"music_length_ms": 22000,
"force_instrumental": True,
})
Mandatory /watch:watch end-to-end. Read every sampled frame. Verify per Quality Checks.
🚦 HUMAN GATE 2 — Final master review
Provide master via local file + gooseworks shareable URL together (per feedback_video_review_pattern.md).
User approves → done.
Decision Rules
Each banner card is a complete grammatical sentence. No fragments stitched together. Failure to follow = ungrammatical / unprofessional reads.
Frame 1 = complete composite at t=0. No animated reveal of banner or logo. Cards just hard-cut between beats.
Same font weight across all words in a card — only size varies. Mixed italic-base + bold-emph reads bad. Default amulya@800 single weight, base 74px / emph 128px / mega 248px.
CSS @keyframes are banned per repo rules. Animation is a pure function of beat-local time via JS renderAt(t).
Production banner overlays must be transparent-BG. Phase 0 mockups with colored placeholder gradients are review-only — never reuse them in final composite.
Kling i2v only on brand-critical beats, not generic context. Sourcing decision tree:
Person/avatar beat? → NB2 still + Kling i2v
Product+hands beat? → NB2 composite + Kling with end_image_url LOCK
Booking card / branded UI? → HTML mockup + ffmpeg Ken Burns (NOT Kling — mangles small text)
Phone scroll / generic? → Raw Pexels mp4 (no Kling)
Use end_image_url lock on every Kling product beat. Without lock, "rotate" prompts over-rotate past brand label. Pass same image as both start AND end.
Kling prompts: CHARACTER + VERB in first 8 words. No "subtle/slow/locked/static" — model interprets as "do less" and produces frozen output.
De-AI grade chain is mandatory final pass on every beat uniformly (curves + eq=saturation + noise per feedback_deai_grade_chain.md). ~50-60% plasticity reduction.
End card must be brand-feel — multi-product or logo-only, never single SKU. Per feedback_endcard_brand_not_product.md.
Personal Health category compliance: no before-after imagery, no prescriptive verbs ("treats X" / "cures X"), no efficacy %, no time-bound results, no body-shaming framing. Stick to declarative positioning, brand achievements, open-question hooks.
Music prompt MUST include "NO slow intro — energetic from t=0". Default ElevenLabs gen has 2-4s ambient build that wastes a quarter of a 22s spot.
Pre-upscale logo via PIL LANCZOS+unsharp 6× when source is <500px wide and no SVG exists. CSS browser scaling pixelates badly.
Per /watch:watch repo rule, self-QC every final mp4 before declaring done. Stills don't catch motion artifacts.
references/banner-layout-templates/ — HTML templates per sub-archetype (H-CARD, H-SPLIT placeholder, H-PROMO placeholder)
references/compliance-personal-health.md — Meta Personal Health category dos and don'ts
Validated Production Run
Originally validated in content-goose at clients/clinikally/video-01-derma-consult-hcard/. Adapt paths to your project.
Clinikally V01 (2026-05-28) — first production run of this molecule. Final master: clients/clinikally/video-01-derma-consult-hcard/finals/master-v10-9x16.mp4. Full recipe in clients/clinikally/video-01-derma-consult-hcard/HOW_TO_MAKE_THIS_VIDEO.md. Project learnings: clients/clinikally/video-01-derma-consult-hcard/LEARNINGS.md. Linear ticket: GOOSE-1785.
Spend: $11.92 across 10 iterations (clean recipe spend ~$4-5; the rest was UI/copy/font iteration).
Beat 7 social-proof pill obscures face
Pill padding too wide
Reduce CSS padding 20px; narrower fixed width margin 140px each side
NB2 small text garbled on product label
Known NB2 limit
Hero brand mark + product name stays clean; ingredient text expected to soften — fine for video scale