Skip to content
Marketing
Skill

/ad-management-intake

The intake stage of a Meta ad harness. Researches the brand first, states what it assumes, and asks only what it cannot infer and what would change money, claims or legal exposure if guessed wrong — at most four questions a turn, in plain business language. Writes the brand's

From plugin
goose-skills
1.3k181 skills

Claude Code

$ npx -y skills add gooseworks-ai/goose-skills --skill ad-management-intake --agent claude-code

SKILL.md

ad-management-intake.SKILL.md
name: ad-management-intake
description: The intake stage of a Meta ad harness. Researches the brand first, states what it assumes, and asks only what it cannot infer and what would change money, claims or legal exposure if guessed wrong — at most four questions a turn, in plain business language. Writes the brand's stable facts (ads/brand.md), the campaign brief, and a log of what was asked vs assumed. Use it when someone wants to run Meta ads and the brand's ad facts are not yet recorded.

Ad Management Intake

**What this does.** Someone says "I want to run ads on Meta." A good agency would not hand them a twenty-field form. It would read their website first, come back with "here's what I think your business looks like", and ask only the few things it cannot know and cannot afford to get wrong. This skill is that conversation.

**The one rule.** Ask a question only when **both** are true:

1. **It cannot be inferred.** The brand's research, its product catalog and its past campaigns do not answer it. 2. **A wrong guess costs something real.** Assuming wrong would change **money** (budget, price, what a customer is worth), **claims** (what an ad may say), or **legal exposure** (regulated words, restricted categories, audiences that must be excluded).

Everything else is an assumption, said out loud: *"I'm assuming X, Y and Z. Tell me if any of these are wrong."*

**Limits.** At most **4 questions in one turn**. At most **5 in total** for a brand whose research covers the business, **up to 20** for a brand with little or none. Plain business language throughout. No ad jargon unless the user used it first.

---

Where this skill's files are

Paths such as `references/business-types.md` are relative to **this skill's own folder**, not to your working directory (in GooseWorks: `agent-config/skills/ad-management-intake/`). The harness docs contract ships with the `meta-ad-manager` skill, installed beside this one: its `contract/RULES.md` and `contract/templates/`.

Choose one mode

1. **GooseWorks** when the GooseWorks tools are callable (the in-app coworker, or any agent with the GooseWorks MCP). Read [references/gooseworks-adapter.md](references/gooseworks-adapter.md). 2. **Local** otherwise (a direct Meta host or planning only: intake never touches Meta). Read [references/local-adapter.md](references/local-adapter.md).

**"The adapter"** below means the file for the mode you chose.

Inputs

  • **The user's opening message** — what they want ("more trial signups", "sell the new bundle").
  • **The brand's research** — positioning, audience, products, pricing, competitors, past ads.

The adapter says where it comes from. This skill never redoes research that exists.

  • **The product catalog**, when there is one — products are referenced by id and never re-described.
  • **Existing campaigns and their briefs**, and anything already in the `ads/` docs.
  • **Mode** — *progressive* (default) or *all at once* (the user asked to answer everything in one go).

<!-- shared:ad-management-intake start --> <!-- This block is maintained in ONE place and copied byte-for-byte into both the maintainers' source copy and the published goose-skills copy. Edit one, copy it to the other, and run the parity script before shipping either. -->

Workflow

Step 0 — Resume, don't restart

Read in the contract's order: `ads/README.md`, then `ads/brand.md`, then the campaign folder if a campaign is in play. **Anything already recorded is never asked again.** If a fact is there and nothing suggests it changed, use it.

Step 1 — Gather what is already known

Read the brand research, the catalog and the existing campaigns. If the brand has **no research**, run the adapter's research step first and come back — research is what makes most questions unnecessary. Notes or documents the user gives you count as research. Do nothing beyond what the adapter's research step says: no broad market study of your own.

Step 2 — Build the fact sheet (internal, never shown)

One row per fact the harness needs:

| Fact | Value | Source | Wrong-guess cost | |---|---|---|---| | e.g. Average order value | ~$40 | research: product prices | money |

  • **Source** is one of: research, catalog, campaign, user, assumed, unknown.
  • **Wrong-guess cost** is one of: money, claims, legal, none.

A row becomes a **question** only if its source is *unknown or a weak guess* **and** its cost is not *none*. Every other row becomes an **assumption** you will state. Rank the questions by how much a wrong answer would cost; if they exceed the budget, the lowest-ranked become written assumptions or "unknown — ask at strategy".

A question whose parts settle one fact counts as one question: the budget's total, its run time and any daily cap are one budget question.

Step 3 — Section A: the business (brand level)

Covers what is true for every campaign: business type and model, unit economics (deal size or order value, margin, what a customer is worth, target cost to win one), how long people take to buy, other channels, what ads may and may not claim, and hard safety limits (such as a maximum daily spend). Plus **one familiarity question** (see *How to talk*).

Ask only what the next stage needs **now**. A fact only a later stage uses (lifetime value before any sales tracking is connected, say) is written as "unknown — ask at strategy", not asked.

Step 4 — Section B: this campaign (campaign level)

Covers what is true for this one push: what the money should produce, what is offered and at what price, who it is for, where people land after tapping, the total budget and how long, what number would make it a good run, and which catalog products it features.

**Budget is always a total plus a run time.** If the user gives a daily figure, ask how long.

In **progressive** mode, Section A runs at the start and Section B when the campaign is being set up; in one conversation they usually follow each other

Read more
@gooseworks-ai
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.

1.3k181 skills
Get the whole plugin

Stars on GitHub

Momentum

stars in total
1.3k
Star history of gooseworks-ai/goose-skills on GitHub, a chart by star-history.com

Other skills on goose-skills.

goose-ads

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…

goose-video

goose-video

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

gooseworks

GooseWorks growth coworker and router for markets, competitors, audiences, creators, campaigns, ads, photos, graphics, video,…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about ad-management-intake.

Which coding agents can use ad-management-intake?
ad-management-intake installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.