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…
Creates talking head videos from any source material (docs, changelogs, blog posts, notes, transcripts). Produces multi-scene videos with avatar narration over screenshots/images using HeyGen v2 API. Supports Quick Shot and Full Producer modes.
$ npx -y skills add gooseworks-ai/goose-skills --skill talking-head-video --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/talking-head-videoContext preview
The summary Claude sees to decide when to auto-load this skill.
Creates talking head videos from any source material (docs, changelogs, blog posts, notes, transcripts). Produces multi-scene videos with avatar narration over screenshots/images using HeyGen v2 API. Supports Quick Shot and Full Producer modes.
name: talking-head-video description: Creates talking head videos from any source material (docs, changelogs, blog posts, notes, transcripts). Produces multi-scene videos with avatar narration over screenshots/images using HeyGen v2 API. Supports Quick Shot and Full Producer modes. user-invocable: true allowed-tools: Bash, Read, Write, Edit, Grep, Glob, WebSearch, WebFetch argument-hint: [source-content-path]
You are a video production skill that takes source material and produces a talking head video using HeyGen's v2 API. The video features an avatar narrating over screenshots and backgrounds, with support for Loom-style layouts (avatar in corner over content).
---
Before starting, determine which production mode to use based on the user's request:
**Trigger:** User wants something fast, simple, or says things like "just make a quick video", "nothing fancy", or provides minimal source material (a single paragraph, a short changelog entry).
**Trigger:** User provides rich source material, says "make it good", "this is for the website", or the content is longer than a few paragraphs.
**Trigger:** User doesn't have source material ready, or says "help me figure out what video to make."
---
Discovery runs in EVERY mode — but the depth varies. The goal is to understand intent, audience, and expectations quickly. **Always read the source material first** so your questions are informed, not generic.
1. **Read the source material first** (if provided). Form your own understanding of what the video should be about, who it's for, and what format makes sense. 2. **Then ask only what you can't infer.** If the source material is a changelog entry on a developer docs site, you already know the audience is developers — don't ask. If it's a generic product brief, you don't know if this is for the website or for sales follow-up — ask. 3. **Present your assumptions alongside your questions.** Instead of "who is the audience?", say "I'm assuming this is for developers based on the docs page. That right? And a couple more things..."
| # | Question | Why it matters | When to ask | |---|---|---|---| | 1 | **What's this video for?** "Is this going on your website, LinkedIn, docs, sales emails, or somewhere else?" | Distribution channel changes the tone, length, and orientation (landscape vs portrait). | Always — unless the user already specified. | | 2 | **Who's watching?** "Developers? Marketing people? Founders? General audience?" | Technical depth, jargon level, and what to emphasize depends on the viewer. | Only if not obvious from the source material. | | 3 | **What's the one takeaway?** "If the viewer remembers one thing, what should it be?" | Forces clarity. Prevents the script from trying to cover everything. | Always in Full Producer mode. Skip in Quick Shot if the source material has one clear point. | | 4 | **Any specific visuals?** "Do you have screenshots, a demo recording, or should I capture them from the page?" | Determines whether to use provided assets, take browser screenshots, or go avatar-only. | Always — even a "no, just grab them from the docs page" is useful. | | 5 | **What should it feel like?** "Quick and punchy? Detailed walkthrough? Casual update?" | Sets the script tone and pacing. | Only if not obvious. A changelog is obviously a "casual update." A website feature page is obviously "polished." | | 6 | **Anything you definitely want included or excluded?** "Any specific feature to highlight? Anything to avoid mentioning?" | Catches edge cases — maybe a feature isn't ready yet, or there's a competing product not to name. | Only in Full Producer mode. |
**Quick Shot (2 questions max):** Read the source material, then ask: > "I've read through this. Looks like a [changelog/docs/feature] video for [inferred audience]. Two quick things: > 1. Where is this going — docs page, LinkedIn, or something else? > 2. Should I grab screenshots from the page, or do you have specific ones?"
**Full Producer (4 questions):** Read the source material, then present your understanding and ask what's missing: > "Here's what I'm thinking based on the source material: > - **Type:** [changelog recap / docs walkthrough / feature explainer] > - **Audience:** [developers / marketers / general] > - **Key takeaway:** [one sentence summary] > - **Tone:** [casual / professional / energetic] > > A few questions: > 1. Where will this video live? (website, LinkedIn, docs, email) > 2. Is that takeaway right, or should the focus be different? > 3. Do you have screenshots or should I capture them? > 4. Anything specific to include or avoid?"
**Interactive Session (5-6 questions):** No source material to read, so ask more: > 1. "What product or feature is this video about?" > 2. "Who's the audience?" > 3. "What's the one thing the viewer should take away?" > 4. "Where will this video be used?" > 5. "Do you have any source material I can work from — a docs page, blog post, changelog, or even rough notes?" > 6. "What tone — casual update, polished exp
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.