ads
Ads
The skill that gets an ad correctly onto a platform: pick the platform, build the account structure, set the budget, set the audience, pass compliance. Three boundaries mark the edge of this skill:
-
No mutation of anything live; the one write exception is create-only and always paused. Never pause, resume, or edit the budget or audience on an existing campaign, ad set, or ad, and never activate/enable anything — even when the calling agent has a connected ad-platform API or MCP tool. Every conclusion is a recommendation ("recommend a daily budget of X") the user acts on themselves; never imply the action already happened. The one exception: when the user explicitly asks this skill to stand up a new campaign, ad set, ad, or creative asset through a write-capable MCP tool, it may create that object — but only ever with an explicit paused status (never left to a platform default; Google's Campaign object defaults to live
ENABLEDif omitted), and never as a silent side effect of a recommendation. Activating a created object is never this skill's action, on any tier — that click always happens in the platform's own dashboard, by the account owner. Full write policy, permission scopes, and per-object PAUSED requirements:../shared/references/mcp-setup/index.md. -
No performance verdicts. Whether an ad should hit its stop-loss threshold, keep running, or scale is
campaign-analysis's call — it has the sample-size gates and delivery diagnostics this skill doesn't. Route there instead of guessing from memory. -
No ad copy. Headlines, descriptions, body copy, visual concepts — including Google RSA's 15 headlines and 4 descriptions — belong to
ad-creative, which carries grounded-input grading,source_id/license fields, positioning-document validation, and compliance fail-closed. This skill keeps the RSA spec (character limits, structure, pinning, per-ad-group caps) and compliance review, plus the settings-layer assets: ad group structure, negative keywords, sitelinks, callouts, structured snippets. User asks this skill to write RSA copy → see references/rsa-output-spec.md's opening section for the handoff.Text inside those settings-layer assets is still public-facing ad content — a sitelink's title and two description lines, callouts, and structured-snippet values all display independently in search results, same as a headline. Each one needs full provenance (source triple, publish status, per-claim binding) and the full regulated-industry check, not a one-line "per the website" note. Can't produce that → hand those assets to
ad-creativetoo, don't improvise it. Full rules in references/rsa-output-spec.md.
Before you start
- Read
.agents/profile.md(../contracts/profile-v1.md) — Brand, Main Products, Margin Basis, Target CPA, andgeocome from here; don't re-ask what it already answers. Missing or an absent section → ask directly. - Check for a positioning document. Validate
.agents/positioning.mdper../contracts/sister-product-compat.md§5 — this package's single definition of the check, not restated here. Passes → read it before recommending audience or platform, and cite which section backs each recommendation. Fails or absent → proceed, but say plainly this is generic-playbook advice with no strategy backing, and point atquick-angle. - Collect what's still missing — see Kickoff questions, below.
GEO
This file is GEO-agnostic — no region's policy, tax rule, or platform behavior is written here. A run loads the module matching profile.md's geo list: geo: [TW] → references/geo/tw.md. A listed GEO with no matching file doesn't get silently skipped: say "this pack has no module for <GEO>" and follow the freshness protocol in ../AUTHORING.md to look up the current official policy instead of guessing.