Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add swan-gtm/gtm-skills --skill google-ads-pmax-asset-groupsgit clone --depth 1 https://github.com/swan-gtm/gtm-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/swan-gtm/gtm-skills/google-ads-pmax-asset-groups)<a href="https://agentmods.dev/skills/swan-gtm/gtm-skills/google-ads-pmax-asset-groups"><img src="https://agentmods.dev/badge/skills/swan-gtm/gtm-skills/google-ads-pmax-asset-groups/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/swan-gtm/gtm-skills/google-ads-pmax-asset-groups"><img src="https://agentmods.dev/badge/skills/swan-gtm/gtm-skills/google-ads-pmax-asset-groups.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Anti-Refusal · line 64 Skill instructs the agent to omit warnings, disclaimers, or ethical commentary. Stripping safety caveats hides risk from the user and is a common jailbreak preamble.Fix: Remove instructions that suppress warnings, disclaimers, or ethical commentary. Let the agent surface safety-relevant caveats to the user.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00092 | $0.00775 |
| Opus 5 | $0.00046 | $0.00387 |
| Sonnet 5 | $0.00018 | $0.00155 |
| Haiku 4.5 | $0.00009 | $0.00077 |
Grade A, and why
google-ads-pmax-asset-groups scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 68 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Performance Max Asset Group Structure and Hygiene
Applies when a campaign is serving across the automated inventory Performance Max covers, and delivery quality depends on the inputs you gave it, not just its own targeting.
The play
- Split asset groups by product line or audience segment before doing anything else. One asset group trying to speak to every product or every buyer can't be coherent to any of them — that's a structural problem no amount of extra copy fixes.
- Fill every slot the platform gives you, not just the minimum required — headlines, long headlines, descriptions, and a real image and video mix across horizontal, square, and vertical orientations. Ad strength is a direct readout of how much of that room you've actually used, and a group short on assets or asset variety caps its own performance ceiling regardless of targeting quality.
- Upload real video. If a group has none, the platform will assemble one from your other assets automatically — treat that as a fallback you're accepting by default, not a feature, and replace it with something you'd choose deliberately.
- Give a new or heavily-changed asset group real time before judging it — check ad strength and asset performance again after a couple of weeks, not a couple of days, and don't restructure on day-three volatility.
- Watch for brand cannibalization specifically: if branded queries are converting through Performance Max at a worse cost than a dedicated brand search campaign already covering them, that's not incremental reach — it's the same demand at a worse price. Exclude your own brand once you can see that pattern.
- Read search term insights the same way you'd read a search terms report anywhere else — clicks with cost and no conversions are negative-keyword candidates, even though applying them here usually takes a different path than a standard search campaign.
What good looks like
- The best operators treat "Low" performance labels on individual assets as a standing queue to clear, not a one-time cleanup — replacing the weakest asset in a group is cheaper than restructuring the whole group later.
- The common mistake is judging a fresh asset group on its first few days of volatility and restructuring it before it's had a real chance to settle — that resets the very learning period the impatience was trying to fix.
- A good structure is legible from the outside: you can point to any asset group and say which product or segment it exists for, and every low performer in it has a named replacement candidate, not just a general sense that "creative could be better."
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 68 lines · 92 tokens per session scan A 21642bfa0424
google-ads-pmax-asset-groups is a skill published in the GitHub repository swan-gtm/gtm-skills (150 stars, last pushed 2d ago), licensed MIT. It adds 92 tokens to every session and 775 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
ad-campaign-analyzer
Analyze cross-channel campaign data, quantify uncertainty, and propose evidence-labeled budget tests without overstating causality.
google-search-ads-builder
End-to-end Google Search Ads campaign builder. Performs deep keyword research (competitor SEO, review language mining, Reddit/HN community terminology, site audit), builds keyword architecture with funnel mapping and intent classification, creates ad group structure, generates headline/description variants, builds…
meta-ads-analyzer
Diagnose Meta Ads campaign performance and account gaps using Meta's actual system mechanics — including customer-journey coverage, Breakdown Effect, Learning Phase, Auction Overlap, Pacing, and Creative Fatigue. Use for performance diagnosis, account audits, full-funnel or TOF/MOF/BOF gap analysis, deciding what to…
ad-campaign-analyzer
Analyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.
competitor-ad-intelligence
Scrape competitor ads from Meta, TikTok, Google, and LinkedIn ad libraries, analyze creative patterns (hooks, formats, CTAs), reverse-engineer landing page funnels, and produce a strategic teardown with vulnerability analysis and counter-play recommendations. Use when you need to understand the competitive ad…
ad-angle-miner
Mine the highest-converting ad angles from customer reviews, Reddit complaints, support tickets, and competitor ads. Extracts actual pain language, competitor weaknesses, and outcome phrases that real buyers use. Outputs a ranked angle bank with proof quotes and recommended ad formats per angle.