Skip to content
Marketing
Skill

/run-paid-campaigns

Runs the paid leg of an approved plan: checks tracking, pages and stock before money moves, then stages one weekly proposal of kills, scales, pauses, swaps and launches, each with its reason and a check date. Nothing changes without your yes. Use when: launch these ads; it's

BOOST
From plugin
goose-skills
1.3k200 skills
Install
$ npx -y skills add gooseworks-ai/goose-skills --skill run-paid-campaigns --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/run-paid-campaigns

Context preview

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

Runs the paid leg of an approved plan: checks tracking, pages and stock before money moves, then stages one weekly proposal of kills, scales, pauses, swaps and launches, each with its reason and a check date. Nothing changes without your yes. Use when: launch these ads; it's

SKILL.md

run-paid-campaigns.SKILL.md
name: run-paid-campaigns
description: >-
  Runs the paid leg of an approved plan: checks tracking, pages and stock before money moves, then
  stages one weekly proposal of kills, scales, pauses, swaps and launches, each with its reason and a
  check date. Nothing changes without your yes. Use when: launch these ads; it's Monday — kill, scale
  or pause?; swap this fatiguing ad; we sold out or the sale ended — pause the ads now; an ad got
  rejected or the account got restricted; we're in a brand crisis — hold the ads; give me the Google,
  TikTok or LinkedIn changes to make. Not for how the ads did or which ad won — use
  analyze-performance; not for rewriting a rejected image ad — use make-static-ads.
version: 0.1.1

run-paid-campaigns

What you get

  • **On the first run, an account baseline** — structure (ad sets under the learning floor, overlapping audiences), spend concentration by concept, creative age and mix, tracking state — which seeds the first moves (consolidation, rotation, fixes). `references/baseline-audit.md`.
  • **Weekly moves proposal** (budgets in the marketer's currency) — in the report shape (`references/proposal-and-log.md`): In short (what a customer may cost, data window, what is and isn't visible), checks and pacing vs ceiling, **since last time** (each earlier move: done or not, and worked / didn't work / too early / can't tell, measured against the baseline stored when it was staged), then every move this week — scale / pause / hold / rotate / launch / graduate / fix / instructions — each with its evidence, confidence, what should happen, how it's applied and a check date. Near-threshold calls carry both readings and a trip-wire. Shape: `references/proposal-and-log.md`.
  • **What to do: approve in three bundles** — approval links for Meta budget changes, swaps and launches (one approval each; GO LIVE typed for increases and live swaps), one sentence the marketer says for pauses, and written instructions for everything outside GooseWorks' reach. With the marketer's own ads connector, a card per change, each applied on its own named yes.
  • **Change log** in the server's campaign-harness format — `ads/campaigns/<slug>/state.md` and `decisions.md` — so every approval, decline and pause is recorded and results trace back to decisions.
  • **A run record** for next week (`references/run-memory.md`): the per-ad scorecard (top 10 by spend plus all others, with the trend since last run), every money move with its baseline recipe and verdict, and the open moves with their review dates — saved to the brand so the next run, the performance read and the replan all start from what happened.

Before you start

1. **Setup first:** do the `marketing-guide` skill (`../marketing-guide/SKILL.md`) §1–2 (connect, brand, brain read) before anything else; the job line is "run your ads"; groups to load: meta, files, campaigns, automation. This playbook offers **local mode** (marketing-guide §5; what replaces each GooseWorks read and lever: `references/local-mode.md`). Pick the mode from what is listed:

  • **GooseWorks connected** — the path below. An ads-platform connector the marketer also has fills what GooseWorks can't read (frequency, CPM, learning status, ads GooseWorks didn't make) and can change what GooseWorks has no lever for (step 3).
  • **No GooseWorks, an ads-platform connector** (store, CRM or billing connectors too, read-only) — local mode; reads and changes go through the connector by the connector rule (`references/meta-levers.md` § With an ads-platform connector).
  • **Neither** — local mode on exports and screenshots, with written instructions.

A missing GooseWorks or Meta connection is never a blocker: say in one line what this run can and can't do, and go on. No coworker workspace → also say the server can't log Meta outcomes until the brand has one. 2. **Read the brain, then the plan.** Brain chapters: 20 "Our plan", 15 "How we work together", 23 "What is working", and the operating plan (`gooseworks:brain_open`; caps, protected campaigns, emergency stop — `references/proposal-and-log.md` § The yardstick in the brain); on the fallback path, `gooseworks:knowledge_search` `["learning"]`. Then `gooseworks:campaign_read`; open the campaign being run. Use its brief only when the Status line says **Approved**: Channel decisions, Economics, Budget split, Paid structure, Test plan, Replan triggers, its version and the change-log slug (in the Status comment). Local mode: no brain or campaign reads; the newest approved plan in the local `plans/<slug>/` (its Status line) is the brief, and `brand-notes.md` holds the rules. No approved brief → say so and recommend planning first. If ads are already live and the marketer wants moves now, continue only with the platforms they name and an allowable cost they confirm, labelled "no plan on file". 3. **Channel scope and levers — before touching any account.** Every object on a chosen paid platform runs on one of three: **GooseWorks levers** (Meta objects GooseWorks created or pushed into; approval pages), **connector levers** (what the marketer's ads-platform connector can change, by the connector rule in `references/meta-levers.md`), or **written instructions** (everything else, incl. app-install and local-radius campaigns). Never default to Meta; never drop a chosen platform for lack of levers. Only if Meta is chosen and GooseWorks is connected: `gooseworks:meta_read` (pages, performance). Load `references/meta-levers.md` and tell the marketer in one line what will be links, connector changes and instructions; never claim a lever this run doesn't have. **When the plan's goal is a conversion** (sign-ups, sales, leads), that first message also says what a campaign GooseWorks creates can and can't do today, and the alternatives — all from `references/meta-levers.md`. 4. **The yardstick.** Allowable cost (per customer, qualified lead, trial or retained user — whatever the brief's goal chain uses), budget ceiling, o

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.