Skip to content
Marketing
Skill

/write-video-ad-script

Write the words of a short-form video ad (voiceover, dialogue, chat bubbles, on-screen lines) the way performance creative teams do instead of from a blank page. Builds the script from the buyers' own words, the beat sheet of an ad that already works and three deliberately

BOOST
From plugin
goose-skills
1.2k200 skills
Install
$ npx -y skills add gooseworks-ai/goose-skills --skill write-video-ad-script --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/write-video-ad-script

Context preview

The summary Claude sees to decide when to auto-load this skill.

Write the words of a short-form video ad (voiceover, dialogue, chat bubbles, on-screen lines) the way performance creative teams do instead of from a blank page. Builds the script from the buyers' own words, the beat sheet of an ad that already works and three deliberately

SKILL.md

write-video-ad-script.SKILL.md
name: write-video-ad-script
description: Write a short-form video ad from an evidence-backed angle and the selected template's actual recipe. Reuses or fetches ad-angle-miner, preserves the chosen angle, plans words and visuals together, checks product claims and production fit, and delivers the strongest script with useful alternatives. Use before video production and for script rewrites. Customer language is one input alongside audience, promise, product proof, offer and format.
status: active

Write Video Ad Script

**Summary.** Turn a researched advertising promise into a video this template can actually make. First load the angle research, then bind it to the recipe's story, visuals, timing and assets. Write and check the complete concept before the user reviews it. The output is one recommended script, its visual plan and up to two viable alternatives. A model score is a quality screen; ad results establish performance.

When to use

Use before production for voiceover, dialogue, chat, cards or lyrics. For a silent format, still plan its visual promise and payoff; skip spoken copy, not creative strategy.

When the user supplied exact lines, keep them verbatim. Check them in report-only mode and raise material timing, claim or format conflicts. Rewrite only with their authorization. The runtime owns research-spend permissions and production approval. Follow its existing review round; this skill adds no approval round of its own.

Inputs and precedence

Read this skill's files reference before creating working files. Required context:

  • The brand and exact product, current facts, voice and prohibited claims.
  • Audience, campaign objective, offer and CTA, using saved context and brief first.
  • The selected template and full recipe: instructions, config, choices, assets and inputs.
  • A validated angle context from ad-angle-miner, including source records.
  • Reference footage or its observed beat map, plus available brand assets.

The user's explicit direction and chosen angle are fixed. The recipe determines what is possible. If those conflict, explain the concrete conflict and offer a compatible execution or format before production. Do not silently replace the angle or rewrite the template. A reference provides a storytelling structure; the product's facts provide claims.

Step 0. Load the angle research, explicitly

**Fetch ad-angle-miner through the skill catalogue if its instructions and handoff reference are not already loaded.** It is a declared dependency. Fetching it does not run research.

With the GooseWorks MCP, use `catalog_fetch {type: "skill", slug: "ad-angle-miner"}`; with the CLI, use `gooseworks fetch ad-angle-miner`. Read the returned instructions and handoff files. If an explicitly supplied draft/local copy is under test, load that copy and record the override rather than claiming the published skill includes it. Record how the dependency was loaded, which bank/pointer was read, and whether research was reused or run. Naming the miner in a plan is not loading or executing it.

Check, in order:

1. An angle bank or selected idea already present in this run. 2. The brief's research pointer and selected angle id. 3. The brand and product's saved video-scripts workspace: angle-bank.json, beside customer-words.json. Check a legacy brand-level bank only if its product scope matches. 4. Legacy angle-bank Markdown and ideas JSON from a previous miner run. Read their actual sources and normalize them into the shared handoff; never manufacture missing evidence.

The shared handoff is video-angle-bank.v1, defined in ad-angle-miner's video-handoff reference. Use the preparation script to check brand, product, source ids and template compatibility, and write angle-context.json. Preserve selected ids and the original angle. Keep facts, quotes and observed ad structures separate. Refresh changing prices, offers and claims against current product sources; research age alone does not invalidate every insight.

Retain each angle's `buyer_case` and `product_role`. For a legacy bank missing them, enrich the selected angle from its actual sources before Step 2, keeping its id and promise. Record an unsupported connection as a gap, not an invented mechanism. These fields travel across recipes; their dialogue, narrative role and visible proof do not.

**If no usable bank exists, run ad-angle-miner in video mode**, limited to this audience, product and selected template. Reuse existing evidence. Its output is an angle bank, not a second script-writing workflow. Paid research follows the runtime's permissions. If access is missing or paid research is declined, build a smaller, explicitly provisional bank from verified product facts and available references. Do not require 20 reviews or invent quotes.

If the user has already chosen an angle, research supports that direction; it does not reopen the choice. If the selected angle cannot be supported, name the missing proof and propose a supported version. Never pretend to have run the miner when it could not run.

Step 1. Bind the template before writing

Read the actual recipe, not just its catalogue card. Write shape.json with:

  • Template id, format, story mechanism, audience and objective.
  • Ordered slots, speakers, text kind, durations and explicit word/character/line limits.
  • Product entrance, proof device, payoff and CTA placement allowed by this recipe.
  • Available asset ids, permitted visual modes and any required demonstration.
  • What can change and what stays fixed, including silence, music or lyric constraints.

For speech, read [pacing](references/pacing.md). Set the desired cadence from the brief's explicit delivery direction or observed reference audio, then the recipe's default. Preserve explicit recipe limits and record any conflict. Without usable evidence, use a provisional 3 words per second for conversation or 2.5 for slow narration, labelled as a fallback.

Budget each spoken beat from its sp

Read more
Ships withgoose-skills

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.

Get the whole plugin

Other skills on goose-skills.