ad-policy-check
Checks paid ads against the ad platform's rules (Meta, TikTok, Google, LinkedIn and others) and the brand's category rules: the…
Step of the make-static-ads playbook: turns the brief, the brand brain, the brand's own running ads and the account state into a grid of genuinely different ad concepts — persona, reason to buy, proof, emotion, awareness, offer, framework, visual style, composition, type and
$ npx -y skills add gooseworks-ai/goose-skills --skill make-static-ads-concept-grid --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/make-static-ads-concept-gridContext preview
The summary Claude sees to decide when to auto-load this skill.
Step of the make-static-ads playbook: turns the brief, the brand brain, the brand's own running ads and the account state into a grid of genuinely different ad concepts — persona, reason to buy, proof, emotion, awareness, offer, framework, visual style, composition, type and
name: make-static-ads-concept-grid description: >- Step of the make-static-ads playbook: turns the brief, the brand brain, the brand's own running ads and the account state into a grid of genuinely different ad concepts — persona, reason to buy, proof, emotion, awareness, offer, framework, visual style, composition, type and hook per ad — grounded in sources and checked for diversity. Run make-static-ads instead; not for direct use. version: 0.4.2
An angle is one lever of nine. Frame and checks: `../make-static-ads/references/creative-taxonomy.md`; angle families, awareness and hooks: `../make-static-ads/references/angles-and-hooks.md`; frameworks and company types: `../make-static-ads/references/formats-and-placements.md` §1–2.
**Reads:** the brief and state note (Steps 1–2), including the **concept inventory** of the brand's own running ads (`../make-static-ads/references/references-and-remix.md` §2a) and what its social posts talk about; the angle bank, voice-of-customer bank, brain facts with their statuses, the campaign record, weekly performance read and rotation requests (`../make-static-ads/references/reading-the-brain.md` §1–5); the marketer's answers on logo, colour and font (Step 2). **Writes:** the concept grid (one row per ad, with its angle family), used by ad-copy, find-references, compose and the plan table.
1. **Collect reasons to buy with their evidence**, in this order (the playbook's one source order): concepts in an approved campaign record (read only, `gooseworks:campaign_read`); the angle bank (`A-NN`); winners and rotation requests; **customer words** — voice-of-customer rows (`V-NN`), the best source for reasons, objections and hook wording (no bank yet → read the product's public reviews on the brand's own site with the host browser and cite them as hook sources, never as testimonials, and offer customer research as the better next step); usable facts (`../make-static-ads/references/claims-and-policy.md` §2); reasons the marketer states in this chat (quote them); the brand's own running ads (its past bets — what they already say, not proof they won); topics from the brand's social posts that drew the most replies; competitors' and category leaders' long-running reasons (reason only, never their words); `kit.messagingAngles` as a labelled fallback. A reason whose proof is not a usable fact is unavailable: say so and what would confirm it, and keep the reason out of the grid. 2. **Name the personas** the brand actually sells to (audience research, voice-of-customer segments, the people in its own ads). One persona is fine for a single-segment brand — say so. 3. **Mark coverage:** which reasons the brand already runs (from the concept inventory), which were already made in GooseWorks (its "made before" list), and which are new. A fresh batch fills new reasons first and gives proven reasons a new look. 4. **Shape the set and fill the grid** (`creative-taxonomy.md` §3): for the count chosen at Step 2 — ten ads: 3–5 concepts × 2–3 executions; three ads: two or three concepts; every lever per row, each concept numbered (`c1`, `c2`, …) with its reason, source, proof (and the proof's brain status) and angle family (`angles-and-hooks.md` §3); every ad row carries its concept number. Match awareness to the brief (cold → unaware to solution-aware; offer and most-aware only in retargeting). Offer rows only with a live offer. 5. **Run the diversity checks and the concept gate** (`creative-taxonomy.md` §4): the two hard rules (no two ads share reason + framework + style; the cover-the-text test), the they-buy-because and persona tests, the tally; then score every concept on the five gate checks and fix or drop any that fails one. Never pad a lever to hit a target — name the gap instead. 6. **Fewer than two grounded reasons** (or fewer than the set needs to be worth testing)? Stop and tell the marketer how many exist and what each rests on; offer, in plain words, to research customers or competitors first, to use their own reasons, or a smaller set of strong concepts in several looks. Never invent one. 7. **Mode rules.** Iterate: keep the winner's reason and proof; change one named lever per ad (hook, framework, style or composition). Rotation: take the reason from the request — saturation at steady click-through → new look; falling click-through on a sound angle → new hook family; exhausted → new reason (rest the old one). Disapproval fix: no new concepts. Small budget: 3–4 ads on one or two reasons, each in a clearly different look. 8. **Feasibility per row:** the framework's inputs exist (real product photos, real reviews, real founder words, real screenshots, a live offer). Swap the framework when they don't.
Output: the grid (batch file), each concept as one plain sentence for the marketer (`creative-taxonomy.md` §3, last rule), a one-line coverage note ("Already running: … New here: …"), the gate result per concept, and any named gaps.
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.
Checks paid ads against the ad platform's rules (Meta, TikTok, Google, LinkedIn and others) and the brand's category rules: the…
Step of the analyze-performance playbook: calls ended tests, scores last week's calls, writes this week's kill/scale/hold calls…
Step of the analyze-performance playbook: flags tracking breaks with fixes and explains each big metric move with evidence,…
Step of the analyze-performance playbook: gathers the week's numbers from tools, exports and pastes, cleans them, and writes the…
Step of the analyze-performance playbook: ranks creative by angle, hook and format with spend gates, writes short per-channel…
Step of the analyze-performance playbook: joins cleaned store or CRM numbers with ad spend to build the business-truth table,…