Google Ads Asset Planner

Plan, validate, and safely publish Google Ads assets, including sitelinks, callouts, structured snippets, image assets, and Performance Max asset briefs.

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/assets.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit nowork-studio/notfair-plugin/google-ads/assets#main ~/.claude/skills/assets

For one project only, change the path to .claude/skills/assets.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of Google Ads Asset Planner

Show the full text58 lines
namedescriptionargument-hint
google-ads-assetsPlan, validate, and safely publish Google Ads assets, including sitelinks, callouts, structured snippets, image assets, and Performance Max asset briefs. Use when asked for Google Ads assets, ad extensions, sitelinks, callouts, snippets, image assets, Performance Max assets, PMax creative, or an asset audit.<campaign, asset group, or 'build an asset brief'>

Google Ads Asset Planner

Turn approved business evidence into an asset manifest that can be reviewed and, only where the connected MCP supports it, published safely.

Setup

Read and follow ../shared/preamble.md and ../shared/analysis-principles.md. Read {data_dir}/business-context.json and {data_dir}/personas/{accountId}.json before proposing assets. If either is missing or stale, hand off to /google-ads-audit; an ungrounded asset pack is generic inventory.

Read ../shared/policy-registry.json before PMax or policy-sensitive work. If its PMax entry is stale, verify the relevant Google policy or platform requirement before stating a current rule.

Build from evidence, not filler

Pull the existing campaign, ad group, and asset coverage using available read capabilities before recommending new assets. Use search terms, converting ads, landing-page content, approved offers, and customer language as source material. Do not infer ratings, pricing, guarantees, availability, or product attributes.

For each proposed asset, produce this reviewable manifest:

Field Required content
Asset family Callout, sitelink, structured snippet, image, or PMax brief
Scope Account, campaign, ad group, or named PMax asset group
Concept ID Persona × motivation × angle
Copy or creative direction Exact approved text, or a production-ready visual brief
Evidence and claim status Source for every factual claim; mark unsupported claims needs_substantiation
Landing destination Final URL and message-match note when applicable
Status ready_for_review, blocked, or approved_to_publish

Keep the brief deliberately varied: each concept should test a different motivation or visual hook, not a cosmetic rewrite. Ask for missing proof instead of inventing it.

Platform-aware execution

  • Validate copy and destination fields against the current connected tool metadata before creating anything. Do not trust memorized limits or silently truncate assets.
  • Only create/link callouts, sitelinks, structured snippets, or image assets after the user approves the exact manifest. Use a supported capability, record any operation identifiers returned, and verify the resulting entity.
  • Verify image ownership, landing-page rights, and policy-sensitive claims before an image asset is uploaded. A generated image is a production input, not proof that the claim in it is allowed.
  • Check the live connection for the requested asset-library or PMax asset-group operation. If it is unavailable, deliver a brief for completion in Google Ads without claiming it was applied.

PMax brief

For a PMax request, produce a cross-placement production brief rather than a generic list of slogans:

  1. State the product or feed scope, conversion goal, audience signal, and landing destination.
  2. Provide 3–5 concept cards, each with a visual hook, on-screen message, proof source, CTA, and placement-safe adaptation notes.
  3. Identify the missing inputs explicitly: approved logo, image/video source files, feed readiness, rights, or substantiation.
  4. Keep Search RSA language complementary to PMax text assets; avoid duplicating the same promise without a reason.
  5. Flag PMax/Search overlap and brand-exclusion questions for /google-ads before scaling.

Guardrails

  1. Never publish an unsupported claim, a destination you did not validate, or an asset with unknown rights.
  2. Never call a production brief an uploaded asset. Separate ready_for_review from published.
  3. Confirm scope and exact asset count before every write; check and explain the available reversal path.
  4. Defer bid, budget, keyword, and campaign-structure changes to /google-ads; defer RSA testing to /google-ads-copy.
1---
2name: google-ads-assets
3description: Plan, validate, and safely publish Google Ads assets, including sitelinks, callouts, structured snippets, image assets, and Performance Max asset briefs. Use when asked for Google Ads assets, ad extensions, sitelinks, callouts, snippets, image assets, Performance Max assets, PMax creative, or an asset audit.
4argument-hint: "<campaign, asset group, or 'build an asset brief'>"
5---
6 
7# Google Ads Asset Planner
8 
9Turn approved business evidence into an asset manifest that can be reviewed and, only where the connected MCP supports it, published safely.
10 
11## Setup
12 
13Read and follow `../shared/preamble.md` and `../shared/analysis-principles.md`. Read `{data_dir}/business-context.json` and `{data_dir}/personas/{accountId}.json` before proposing assets. If either is missing or stale, hand off to `/google-ads-audit`; an ungrounded asset pack is generic inventory.
14 
15Read `../shared/policy-registry.json` before PMax or policy-sensitive work. If its PMax entry is stale, verify the relevant Google policy or platform requirement before stating a current rule.
16 
17## Build from evidence, not filler
18 
19Pull the existing campaign, ad group, and asset coverage using available read capabilities before recommending new assets. Use search terms, converting ads, landing-page content, approved offers, and customer language as source material. Do not infer ratings, pricing, guarantees, availability, or product attributes.
20 
21For each proposed asset, produce this reviewable manifest:
22 
23| Field | Required content |
24|---|---|
25| Asset family | Callout, sitelink, structured snippet, image, or PMax brief |
26| Scope | Account, campaign, ad group, or named PMax asset group |
27| Concept ID | Persona × motivation × angle |
28| Copy or creative direction | Exact approved text, or a production-ready visual brief |
29| Evidence and claim status | Source for every factual claim; mark unsupported claims `needs_substantiation` |
30| Landing destination | Final URL and message-match note when applicable |
31| Status | `ready_for_review`, `blocked`, or `approved_to_publish` |
32 
33Keep the brief deliberately varied: each concept should test a different motivation or visual hook, not a cosmetic rewrite. Ask for missing proof instead of inventing it.
34 
35## Platform-aware execution
36 
37- Validate copy and destination fields against the current connected tool metadata before creating anything. Do not trust memorized limits or silently truncate assets.
38- Only create/link callouts, sitelinks, structured snippets, or image assets after the user approves the exact manifest. Use a supported capability, record any operation identifiers returned, and verify the resulting entity.
39- Verify image ownership, landing-page rights, and policy-sensitive claims before an image asset is uploaded. A generated image is a production input, not proof that the claim in it is allowed.
40- Check the live connection for the requested asset-library or PMax asset-group operation. If it is unavailable, deliver a brief for completion in Google Ads without claiming it was applied.
41 
42## PMax brief
43 
44For a PMax request, produce a cross-placement production brief rather than a generic list of slogans:
45 
461. State the product or feed scope, conversion goal, audience signal, and landing destination.
472. Provide 3–5 concept cards, each with a visual hook, on-screen message, proof source, CTA, and placement-safe adaptation notes.
483. Identify the missing inputs explicitly: approved logo, image/video source files, feed readiness, rights, or substantiation.
494. Keep Search RSA language complementary to PMax text assets; avoid duplicating the same promise without a reason.
505. Flag PMax/Search overlap and brand-exclusion questions for `/google-ads` before scaling.
51 
52## Guardrails
53 
541. Never publish an unsupported claim, a destination you did not validate, or an asset with unknown rights.
552. Never call a production brief an uploaded asset. Separate `ready_for_review` from `published`.
563. Confirm scope and exact asset count before every write; check and explain the available reversal path.
574. Defer bid, budget, keyword, and campaign-structure changes to `/google-ads`; defer RSA testing to `/google-ads-copy`.
58 

Discussion

Alternatives

Also in Search adsSee all 364 in Marketing →