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…
Recreate a static graphic ad (Pinterest pin, IG/FB feed image, poster) from a reference image, swapping in a new brand's product and new copy while keeping the reference's layout, composition, and visual energy. ALWAYS generated with GPT Image 2 in edit-the-reference mode
Claude Code
$ npx -y skills add gooseworks-ai/goose-skills --skill remix-graphic-ad-from-reference --agent claude-code
Codex
$ npx skills add gooseworks-ai/goose-skills --skill remix-graphic-ad-from-reference -a codex -y
Cursor
$ npx skills add gooseworks-ai/goose-skills --skill remix-graphic-ad-from-reference -a cursor -y
Gemini CLI
$ npx skills add gooseworks-ai/goose-skills --skill remix-graphic-ad-from-reference -a gemini-cli -y
GitHub Copilot
$ npx skills add gooseworks-ai/goose-skills --skill remix-graphic-ad-from-reference -a github-copilot -y
OpenCode
$ npx skills add gooseworks-ai/goose-skills --skill remix-graphic-ad-from-reference -a opencode -y
Windsurf
$ npx skills add gooseworks-ai/goose-skills --skill remix-graphic-ad-from-reference -a windsurf -y
name: remix-graphic-ad-from-reference description: Recreate a static graphic ad (Pinterest pin, IG/FB feed image, poster) from a reference image, swapping in a new brand's product and new copy while keeping the reference's layout, composition, and visual energy. ALWAYS generated with GPT Image 2 in edit-the-reference mode (fal-ai/gpt-image-1/edit-image, a billed FAL generation); the HTML/goose-graphics overlay is only an optional text-finishing step, never the generator. The static-graphics counterpart to the video remix-ad skill; this is what the app calls when a user picks a reference ad and wants it for their own product.
Given **one reference ad image** + a **target product** + **new copy**, produce a finished static ad that keeps the reference's *layout and composition* but swaps the product and words for the new brand. This powers the app's "pick a Pinterest ad you like → get the same ad for your product" flow.
It does **not** invent layouts and it does **not** regenerate the whole scene from scratch. It reads the reference, then recreates it with GPT Image 2:
mode on the reference itself** to preserve the layout/composition and swap in the new product + copy. This is the engine for EVERY remix (premium look). FAL slug `fal-ai/gpt-image-1/edit-image`.
step: if GPT bakes garbled/misspelled copy, overlay crisp text on top of the GPT output. Never use it as the primary generator — a remix must always be generated by GPT Image 2.
| Input | Required | Notes | |---|---|---| | `reference_image` | yes | The ad to recreate (local path or URL). One image. | | `product` | yes | Target product: a clean product render/photo (PNG/webp). Pull the **real** brand asset; grounding/swapping on it is what keeps the label correct. **If the brand asset is a multi-product lineup, crop to the ONE relevant product first** — the remix grounds on a single clean product per `product_slot` (use `product_images_needed` from the slot map for how many distinct products the layout needs). | | `copy_changes` | optional | If omitted, **the agent auto-writes it** from the brand pack mapped to the template's `slot_map` (see Phase 0.5). New headline, benefit callouts, social-proof line, discount/badge text. Keep the reference's *structure* (same zones), swap the words. | | `brand` | recommended | Palette (hex), font, logo/wordmark, voice — from `brand_read` (section `kit`) / a `brand-research` pack. | | `style_source` | optional | **`template` (DEFAULT)** keeps the reference ad's palette/theme; **`brand`** recolours to the brand kit's documented palette. See "Brand grounding" below. The caller sets it (e.g. the user asks to "match my brand colours" → `brand`); absent → `template`. | | `route_hint` | optional | Engine override. Default is **always `gpt_image_2`**; `html` is only a text-overlay finishing step, never the generator. | | `aspect` | optional | Inherit from the reference; map to the renderer canvas. Default 4:5 / 1080×1350. | | `remix_spec` | optional | The precomputed spec from the template library (`slot_map` + `gen_prompt` + `remix_engine`). **If present, SKIP Phase 0 re-analysis** — the slots and prompt are already authored. This is the normal path when remixing a library template. | | `remix_mode` | from template | `product` (swap a physical product) or `ui` (SaaS/app ad — swap the app screenshot/UI, NEVER insert a product). Tagged on the template. | | `app_screenshot` | for `ui` mode | The brand's app/UI screenshot to drop into the device frame (used instead of `product` when `remix_mode:ui`). |
The brand context comes from `brand_read` with section `kit` (structured): `colors` (palette hex), `typography`, `products[]` (with `imageUrls` + `name`/`description`), `screenshotUrls`, and `referenceImages[]` (each tagged with `productName` + `kind: "product" | "website_screenshot"`). **Read the full kit, not a preview.**
**Default to `template`. Use `brand` ONLY when the user explicitly asks** (e.g. "use/match my brand colours", "make it on-brand"). Do NOT switch to `brand` on your own judgment — keeping the reference's look is the expected default.
product image, logo, and copy/voice — NOT its colours.
(primary/accent/bg/text).
(`template`) OR the kit's documented `colors` (`brand`). Do **not** pull an accent off the logo, a mascot, a product, or "what looks nice." If `style_source: brand` but the kit has no palette, fall back to `template` (don't guess). This is the #1 off-brand failure.
`productName` matches the slot's product and `kind` is `"product"` (hero = that product's `imageUrls[0]`). Send only that product's image(s) for the slot — **not** all reference images.
`remix_mode: ui`): the hero is the brand's **app UI** — use `referenceImages` with `kind: "website_screenshot"` (i.e. `screenshotUrls`). **NEVER insert a physical product or a mascot** for a SaaS ad. If there is no screenshot, rebrand the existing UI (recolor/logo/copy).
and the l
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.
Edit, resize, animate and study image ads with GooseWorks in this chat. New static or image ads go to the make-static-ads skill…
Make product photos (studio, lifestyle or on a model) of a brand's real products with GooseWorks in this chat. Start brand work…
Make an approved GooseWorks video when an answer's next_step gives its command.
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 growth coworker and router for markets, competitors, audiences, creators, campaigns, ads, photos, graphics, video,…
Create a custom video with sourced product accuracy, explicit sound routing and exact-final audiovisual review.
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use…
Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…
Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…
Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…