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.
npx skills add https://github.com/nowork-studio/notfair-plugin --skill google-ads-assets
Turn approved business evidence into an asset manifest that can be reviewed and, only where the connected MCP supports it, published safely.
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.
Pull the existing campaign, ad group, and asset coverage with runScript 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.
changeId, and read back the resulting entity.tools/list before promising that operation; otherwise deliver the PMax brief for completion in Google Ads.For a PMax request, produce a cross-placement production brief rather than a generic list of slogans:
/google-ads before scaling.ready_for_review from published.undoChange where supported./google-ads; defer RSA testing to /google-ads-copy.Take nowork-studio/google-ads-assets from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.