google-ads-assets
Plan, validate, and safely publish Google Ads assets, including sitelinks, callouts, structured snippets, image assets, and Performance Max asset briefs.
Skill by Swastik023
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/swastik023-google-ads-assets
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security, marketing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
google-ads-assets- Description
- 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.
- License
- MIT
- Instructions
- 53 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: "google-ads-assets" does not match folder "assets"
Files (2)
- SKILL.md
- evals.json · evals/
SKILL.md (first lines)
# 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`.From Swastik023/marketing-api-automation-mcp, MIT.
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 24, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from Swastik023
- 0.516score
diagnose-pending
Swastik023
Diagnose Kubernetes Pending Pods and Unschedulable failures caused by node CPU/memory exhaustion, taints/tolerations, affinity constraints, or…
SkillBFreshness: BClaude Code +9 - 0.516score
diagnose-deadlock
Swastik023
Diagnose PostgreSQL table deadlocks, transaction lock contention chains, blocked backend PIDs, and conflicting lock modes.
SkillBFreshness: BClaude Code +9 - 0.516score
diagnose-crashloop
Swastik023
Diagnose Kubernetes Pod CrashLoopBackOff incidents, identify root causes (OOMKilled, configuration error, exit code failures, liveness probe failure), and…
SkillBFreshness: BClaude Code +9 - 0.516score
diagnose-replication-lag
Swastik023
Diagnose PostgreSQL physical and logical streaming replication lag, WAL sender stalls, network saturation, and replay bottlenecks on read replicas.
SkillBFreshness: BClaude Code +9 - 0.516score
diagnose-oom
Swastik023
Diagnose Kubernetes Out-Of-Memory (OOMKilled) events, evaluate container memory limits against working set spikes, and formulate evidence-backed scaling…
SkillBFreshness: BClaude Code +9 - 0.516score
detect-privilege-escalation
Swastik023
Detect container privilege escalation, root UID execution, dangerous Linux capabilities (CAP_SYS_ADMIN), and host namespace mounting.
SkillBFreshness: BClaude Code +9
Cite this page
google-ads-assets skill. Agent Mart. https://agentmart.dev/skills/swastik023-google-ads-assets (last updated 2026-10-24)