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
Install / Use
npx skills add gooseworks-ai/goose-skills --skill run-paid-campaignsInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
MarketingSupported Platforms
Our assessment of run-paid-campaigns
run-paid-campaigns scores 86/100 on our quality scale, 378th of 560 Marketing skills we index.
Its SKILL.md is 18 KB long, well organised into 8 sections and no code examples: a thorough specification that gives an agent plenty to work with.
With 1,222 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 33 days ago, so run-paid-campaigns is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
run-paid-campaigns compared with similar skills
All 4 of these similar skills score higher than run-paid-campaigns; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| run-paid-campaigns (this skill)by gooseworks-ai | 86 | 1.2k | 33d ago | SKILL.md |
| algorithmic-artby anthropics | 100 | 177.9k | 33d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 33d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 137.2k | 11d ago | SKILL.md |
| ui-ux-pro-maxby nextlevelbuilder | 100 | 137.2k | 11d ago | SKILL.md |
Frequently asked questions
- How do I install run-paid-campaigns?
- Run
npx skills add gooseworks-ai/goose-skills --skill run-paid-campaigns. The install tabs above show the steps for each supported agent. - Which AI agents does run-paid-campaigns work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is run-paid-campaigns safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is run-paid-campaigns still maintained?
- The repository was last updated 33 days ago, so run-paid-campaigns is actively maintained.
Skill content
View source on GitHubname: 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.2
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.mdanddecisions.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
- Setup first: do the
marketing-guideskill (../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.
- 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:brand_knowledge_read; caps, protected campaigns, emergency stop —references/proposal-and-log.md§ The yardstick in the brain); on the fallback path,gooseworks:knowledge_search["learning"]. Thengooseworks: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 localplans/<slug>/(its Status line) is the brief, andbrand-notes.mdholds 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". - 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). Loadreferences/meta-levers.mdand 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 fromreferences/meta-levers.md. - The yardstick. Allowable cost (per customer, qualified lead, trial or retained user — whatever the brief's goal chain uses), budget ceiling, off-limits campaigns, attribution setting — from the brief, else a confirmed brain target (chapter 20
target_cpa/target_roas; found or waiting targets go only under "Decisions for you" and never steer a move —references/proposal-and-log.md§ The yardstick in the brain), elsestate.md, else derived from margin and the goal, else asked. A pre-revenue or no-history brand gets framed options ("a provisional $X per trial for a fixed $Y test"), labelled provisional — the run doesn't stall. - The volume regime (
references/reading-results.md): high-volume (weekly moves) · low-volume lead-gen / services (monthly decisions, weekly fixes and upstream signals) · app (matured 7–14-day windows, cost per trial or retained user). - Load the last run — the Start steps of the
run-memoryskill (../run-memory/SKILL.md) with jobweekly ads checkand the campaign slug as subject (references/run-memory.md): the last record, its scorecard and money moves with their baseline recipes. No record → say it's the first check of this campaign; this run's numbers become the baseline. - The rest of the picture.
state.md(frontmatter, open recommendations, Meta objects) and the### YYYY-MM-DD — …blocks ofdecisions.md; for every open push or proposal id there,meta_readpush or change status before proposing anything (GooseWorks only; local mode reads these files undergooseworks-local/<brand-slug>/). The latest weekly read and its input summary (reports/performance/<YYYY-MM-DD>.md,reports/performance/inputs/<YYYY-MM-DD>.md) — reuse exports the marketer already gave this week. Research's demand read (research/market/demand.md) for search keywords. Then ask once for what neither GooseWorks nor a connector shows: an export or screenshot per chosen platform, stock on promoted products, offer changes. Nothing arrives → no-export mode (references/written-instructions.md).
Steps
- First run on this account: baseline audit —
references/baseline-audit.md. Map the structure, spend concentration and creative age from the exports andmeta_read(local mode: the connector or the exports); it seeds this week's consolidation, rotation and fix moves and the regime. Later runs skip it unless the structure changed. - Checks — atom the
run-paid-campaigns-health-gateskill (../run-paid-campaigns-health-gate/SKILL.md). Per chosen platform: tracking (CRM lead-source capture for lead-gen; app postbacks for apps), destination (loads, product, price, offer, stock, UTMs), rejections, account/payment state. A fail blocks launches and scale moves for that destination and becomes a fix move; a broken tag also flags the window's numbers. Write the result into thestate.mdhealth line. - Since last time — the outcome check — run-memory's Start step 3 is this step (
references/run-memory.md§ Start, which holds the sources, the baseline re-pull and where each verdict is logged). Every open move and every due## Checks dueline ends with one verdict: worked / didn't work / too early (readable <date>) / can't tell (why); then write the 3–5 "since last time" lines that open the proposal. A move that didn't work is not repeated without a new reason. - Read the week — atom the
run-paid-campaigns-weekly-readskill (../run-paid-campaigns-weekly-read/SKILL.md),references/reading-results.md. Settled, like-for-like windows; coverage stated; Traffic tests read on click rate, cost per page view and store conversion; everything against the allowable on store- or CRM-joined numbers where the weekly read has them. The "why" is one line from the weekly read — this playbook acts, that one explains. - Draft the moves — atom the
run-paid-campaigns-draft-movesskill (../run-paid-campaigns-draft-moves/SKILL.md). Done when every object that needs a move has one recommendation with its evidence, check date and baseline recipe, and the month-end total stays inside the ceiling. - Launch (when the test plan or new picked creative calls for it) —
references/launch-and-graduate.md. Picked statics come from make-static-ads' batch fileads/batches/<YYYY-MM-DD>-<slug>.md(picks, copy per ad, test structure, regulated-category flags) and the lower-casepickedtag; copy, headline, CTA and destination verbatim (append UTMs only) — never written here; missing → ask the marketer to paste the approved copy. Creative no released maker checked (GooseWorks videos fromgooseworks:video_read, the marketer's own files; local mode: only the marketer's own files or ads already in the account): before staging, the claims gate and ad-policy check on its copy and the video's script, on-screen text and end card, and one question on AI-made people or voices (references/launch-and-graduate.md§ Health gate, item 3). Script or text unreadable → the card says "not claim-checked" and can't launch until the marketer confirms those lines. - Rotation — a fatiguing ad gets a swap to a picked creative, or a request line in
ads/campaigns/<slug>/rotation-requests.md(Rotation needed: for make-static-ads · <angle, hook, formats, proof, live-by date> · return to: ads/campaigns/<slug>/rotation-requests.md). A tired video ad gets the same brief in the proposal, offered as the next job with the goose-video skill (without GooseWorks: for whoever makes their videos). - Stage — atom the
run-paid-campaigns-apply-and-logskill (../run-paid-campaigns-apply-and-log/SKILL.md) § Stage, with the steps for each move's lever (GooseWorks approval pages, connector cards, or written instructions; local mode has only the last two), then save the run: the End steps of therun-memoryskill (../run-memory/SKILL.md) (references/run-memory.md) — the per-ad scorecard, the money-move table and the open moves, linkingstate.md,decisions.mdand this run's proposal file. Done when every move is instate.mdwith its check line, every approval link was returned
Truncated for display — read the full file on GitHub.
Related Skills
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
137.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
ui-ux-pro-max
137.2kUI/UX design intelligence for web, mobile, and desktop. This skill should be used when designing, building, reviewing, or fixing interfaces, including pages, components, design systems, accessibility, interaction, responsive layout, typography, color, charts, and stack-specific UI implementation.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
