create-image-fal
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent. image_urls…
Maintain a brand kit — the canonical brand context an ad or content pipeline reads (positioning, audience, voice, standing instructions, brand-type, value-props, colors), plus manage the product list and attach product photos. Use when someone says "update my brand kit", "set my
$ npx -y skills add gooseworks-ai/goose-skills --skill update-brand-kit --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/update-brand-kitContext preview
The summary Claude sees to decide when to auto-load this skill.
Maintain a brand kit — the canonical brand context an ad or content pipeline reads (positioning, audience, voice, standing instructions, brand-type, value-props, colors), plus manage the product list and attach product photos. Use when someone says "update my brand kit", "set my
name: update-brand-kit description: 'Maintain a brand kit — the canonical brand context an ad or content pipeline reads (positioning, audience, voice, standing instructions, brand-type, value-props, colors), plus manage the product list and attach product photos. Use when someone says "update my brand kit", "set my brand voice/audience", "add a product to my brand", or hands you a folder of product shots to attach. Platform-agnostic: it teaches the field model, partial-update/clear semantics, override behavior, caps and validation, and the hero-image and product-matching rules — independent of any specific backend.' tags: - brand - ads
Keep a **brand kit** correct and rich by talking to the user. A brand kit is the canonical context an ad/content-generation pipeline reads, so what's in it directly shapes every downstream generation. Reach for this whenever the user wants to set or refine brand positioning/voice/audience, add standing do/don't guidance, manage the product list, or attach product photos.
This skill is the **portable domain model** — the fields, the semantics, the rules. How you actually persist a change is the host's concern: a brand-kit API, a CLI, or a brand-kit document in a workspace. The field model, semantics, and caps below hold regardless of which backend stores the kit.
technical", "we sell to ops teams not consumers", "add our Pro plan at $49"). You translate this into the field model below; do not ask the user to name fields.
brand, you need to know which one. If they only have one, use it.
These are the **context fields**. Treat each edit as a partial update (see semantics): set only what's changing.
show the product in use", "never use red"). High-leverage — set this whenever the user describes a recurring do/don't, not a one-off.
beauty, fitness, finance, education, health.
**Products** (a list on the kit) carry: `name` (required), `description`, `link`, `pricing` (free text, e.g. "$49"), `offers` (e.g. "20% off launch week"), `notes` (markdown), and an ordered list of **images**.
left untouched. Editing voice never disturbs audience.
omitting it.
dedupe per product.
automated brand-research re-run preserves it instead of overwriting. This is the whole reason hand edits are durable — don't let a refresh clobber intentional human choices.
one; otherwise by case-insensitive name. Same logic for delete.
rename/edit. The first image is the **hero**: the picker thumbnail and the generation reference. Order matters; put the canonical shot first.
1. **Identify the brand.** If the user has multiple brands, confirm which one by name; if one, use it. Read its current kit and quote back what's already set so the user sees exactly what you're about to change.
2. **Translate intent into fields.** Map the free-form request onto the field model above. If something is a recurring rule, it belongs in `instructions`, not in a one-off generation prompt.
3. **Apply context edits** as a partial update. Confirm each write by reflecting the new value back.
4. **Manage products** (create/edit/delete) before attaching any image — the product must exist first.
5. **Attach product photos.** For each image: if the filename is ambiguous about which product it depicts, view it rather than guessing; rename to a semantic name if helpful. Then upload/host it and attach it to the right product (omit the product to make it a brand-level reference image — general imagery not tied to one product). Remember the first image is the hero.
6. **Confirm.** Summarize what changed — fields updated, products added/edited, images attached and to which product — and surface any cap or validation issue with the exact limit and the fix.
An updated brand kit: revised context fields, an up-to-date product list, and product/brand images attached in the right order (hero first). Plus a short human-readable summary of what changed and any limits hit.
| Symptom | Cause | Fix | | --- | --- | --- | | Edit wiped an unrelated field | Sent a full object instead of a partial update | Send only the changed fields; om
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.
Repo: gooseworks-ai/goose-skills
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent. image_urls…
Generate a single photoreal or designed image with OpenAI gpt-image via fal.ai. Supports gpt-image-1 (default, fixed sizes — the FAL fallback for Higgsfield's…
Generate an instrumental music bed via ElevenLabs Music, ROUTED THROUGH THE elevenlabs-proxy so it bills the Ads agent. Trims any sparse intro, loudnorm, fades…
Image-to-video (or text-to-video) via any FAL video model (Kling, Seedance, Veo), ROUTED THROUGH THE GooseWorks fal-proxy so the call bills the Ads agent. The…
Generate a voiceover (VO) clip via ElevenLabs text-to-speech, ROUTED THROUGH THE elevenlabs-proxy so it bills the Ads agent. Voice id + script text come from…
Scrape competitor ads from Google Ads by domain. Returns ad creatives, formats, and campaign details. Use for competitive ad research and messaging analysis.