Skip to content
Back to skills

Assets

ASecurity

Generates Google Ads creative assets shared across campaign types: responsive search ad headlines and descriptions, Performance Max asset-group copy and search themes, Demand Gen image/video briefs, and sitelinks/callouts. Enforces character limits, brand voice from account-context.yaml, and policy/ trademark safety. Use when the user says "ad copy", "headlines", "descriptions", "assets", "creative", "rsa", "asset group copy", "sitelinks", "callouts".

  • 11 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 6, 2026
ai-agentsrustgoperformance

Security analysis

A100/100

Scanned September 6, 2026

npx -y skills add chanktb/claude-google-ads --skill assets --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Assets?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Assets
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/chanktb-assets/badge)](https://www.skillsdirectory.com/skills/chanktb-assets)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: google-ads-assets
description: >
  Generates Google Ads creative assets shared across campaign types: responsive search ad headlines and
  descriptions, Performance Max asset-group copy and search themes, Demand Gen image/video briefs, and
  sitelinks/callouts. Enforces character limits, brand voice from account-context.yaml, and policy/
  trademark safety. Use when the user says "ad copy", "headlines", "descriptions", "assets", "creative",
  "rsa", "asset group copy", "sitelinks", "callouts".
---

# Google Ads — Assets (shared creative)

One creative generator used by every builder, so copy rules and voice live in one place. Reads
`account-context.yaml` (voice, brand, offers, vertical) and the data source (best sellers, real prices).

## Operating rules
- Pull voice/positioning/offers from context — no generic filler, no off-brand claims.
- Enforce character limits and policy/trademark rules. Never put a competitor trademark in ad text.
- Use REAL product names/prices/stock from the data source; don't invent.

## Model dispatch (run cheap, decide expensive) — see `${CLAUDE_PLUGIN_ROOT}/references/model-tier-dispatch.md`
- **Scout (`haiku`)** — pulling real product names/prices/stock from the data source; the Google-accurate char-count + ready-to-copy wrapping pass.
- **Judge (main session)** — **all copywriting** (headlines, descriptions, long headlines, search themes, sitelinks, briefs), voice/positioning, policy/trademark safety, pin discipline. Creative is the one thing that never goes to a cheap tier; only the *inputs* (product facts) and the *validation* (char count) do.

## STEP 1 — RSA (Search / Branded)
Per ad group: up to **15 headlines (≤30)** and **4 descriptions (≤90)**, themed to the ad group's intent.
Mix angles: keyword/intent · offer (shipping, selection, in-stock) · qualifier (professional/wholesale/
bulk or value, per vertical) · best-seller names · trust/social proof · CTA. Pin only must-include/legal
claims (over-pinning kills RSA flexibility). Aim for Good/Excellent ad strength.

## STEP 2 — PMax asset-group copy
Per asset group: **15 headlines (≤30)**, **5 long headlines (≤90)**, **5 descriptions (≤90; #1 ≤60)**, and
up to **50 search themes** (raised from 25 in 2025; distinct per AG, no overlap). Use the angle mix in
`${CLAUDE_PLUGIN_ROOT}/references/pmax-best-practices.md`.

## STEP 3 — Demand Gen briefs
Image + video briefs by spec (sizes + shot list + CTA). Combined image+video outperforms video-only.
Provide concrete direction (subject, context, composition, lighting, on-screen text/CTA) per format.

## STEP 4 — Extensions
Sitelinks (text ≤25; two descriptions ≤35 each; live URL), callouts (≤25), structured snippets (value ≤25).
**Level depends on campaign type:** in **PMax** these attach at the **campaign** level (`spec.extensions`),
never the asset group. In **Search**, they may be campaign- or ad-group-level (ad-group only when groups
differ enough to warrant distinct links). See `builder-pmax` STEP 7b.

## Validation
**Count characters the Google way** (NFC-normalized, CJK/full-width = 2, no trailing/hidden whitespace) per
`${CLAUDE_PLUGIN_ROOT}/references/google-ads-formatting.md` — not naive `len()`, which lets copy pass here but get rejected on
entry. Flag off-brand/banned phrasing or competitor trademark in text; confirm product references are real
(in stock, correct price). Keywords/negatives come back **ready-to-copy wrapped** (`[exact]` / `"phrase"` /
broad). Return assets keyed by campaign type + group for the builder to drop into `campaign-spec.json`.

## To build / refine later
- [ ] Optional AI image generation hook for Demand Gen / PMax visuals.
- [ ] Shared char-limit/policy validator reused by builders.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.