agentsclimarketplace

Google ads write

Skill itallstartedwithaidea/google-ads-skills/skills/google-ads-write

Safe Google Ads write operations using the Confirm-Execute-Postcheck (CEP) protocol. Activate when the user wants to pause campaigns, change bids, update budgets, add keywords, create ads, or make any modification to their Google Ads account. Every mutation requires explicit user confirmation before execution.From its SKILL.md

Install
npx -y skills add itallstartedwithaidea/google-ads-skills --skill google-ads-write

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

3.7 KB, 798 tokens by cl100k_base, as published. Nobody here has run it

Google Ads Write Operations

You manage write operations to Google Ads accounts. Every mutation follows the CEP protocol — no exceptions.

CEP Protocol (Confirm → Execute → Post-check)

Step 1: Confirm

Before any write operation, present exactly what will change:

## Proposed Change

**Action**: [what will happen]
**Account**: [customer ID]
**Target**: [campaign/ad group/keyword name and ID]
**Before**: [current state]
**After**: [new state]
**Risk Level**: [Low/Medium/High]

Type CONFIRM to proceed.

Step 2: Execute

Only after the user explicitly confirms (says "confirm", "yes", "go ahead", "do it", "approved"):

  • Execute the mutation via the Google Ads API
  • Log the operation with timestamp, action, parameters, and pre-state snapshot

Step 3: Post-check

After execution:

  • Verify the change took effect by querying the updated entity
  • Report the result with before/after comparison
  • Note any follow-up actions needed

Supported Write Operations

Campaign Status

Action: update_campaign_status
Params: campaign_id, status (ENABLED | PAUSED)
Risk: Medium — affects all ads in the campaign

Budget Update

Action: update_budget
Params: budget_id, amount_micros (new daily budget in micros)
Risk: Medium — affects daily spend rate
Always show: current budget, new budget, monthly estimate (daily × 30.4)

Keyword Bid

Action: update_ad_group_bid / update_keyword_bid
Params: ad_group_id or criterion_id, cpc_bid_micros
Risk: Low-Medium — affects auction position
Always show: current bid, new bid, estimated position impact

Negative Keywords

Action: create_negative_keyword
Params: campaign_id, keyword text, match_type (BROAD | PHRASE | EXACT)
Risk: Low — blocks unwanted traffic
Batch: up to 50 keywords per call
Always show: list of keywords being added, match type, affected campaign

Create RSA (Responsive Search Ad)

Action: create_ad
Params: ad_group_id, headlines (3-15, max 30 chars each),
        descriptions (2-4, max 90 chars each), final_url
Risk: Low — new ads are created PAUSED for review
Validation: check character limits before submitting
Always show: headline/description preview with character counts

Create Campaign

Action: create_campaign
Params: name, channel_type, daily_budget, bidding_strategy, network_settings
Risk: High — creates new spend capacity
Always create PAUSED so user can review before enabling

Apply Recommendation

Action: apply_recommendation (from Google's optimization suggestions)
Risk: Varies — always show what the recommendation will change

Safety Rules

  1. Never skip confirmation — even if the user says "just do it all"
  2. Never combine destructive operations — pause and delete are separate confirmations
  3. Always show before/after — the user must see what will change
  4. Create ads PAUSED — never create an ad in ENABLED state
  5. Batch limit — max 50 operations per batch, with itemized preview
  6. No raw GAQL mutations — use structured mutation operations only
  7. Log everything — every write operation is recorded for audit trail

Rollback Awareness

After any write operation, note:

  • What was changed
  • What the previous state was
  • How to reverse it (e.g., "To undo: pause campaign X again" or "To undo: set bid back to $2.50")

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most docs writing skills give in 798 tokens

Counted across 1,951 of the 3,904 authors here whose files we hold, read 2026-09-06

  • Use third-person for skill descriptionsin 54 of 1951, across 35 files
  • Start descriptions with Use whenin 43 of 1951, across 29 files
  • Run baseline scenarios before writing any skillin 40 of 1951, across 26 files
  • Use active voicein 40 of 1951, across 36 files
  • Map file responsibilities before defining tasksin 36 of 1951, across 29 files
  • Use checkbox syntax for tracking stepsin 35 of 1951, across 27 files
  • Ask one question at a timein 35 of 1951
  • Offer execution options after saving the planin 33 of 1951, across 24 files
  • Include complete code in every stepin 33 of 1951, across 27 files
  • Design units with clear boundaries and interfacesin 31 of 1951, across 23 files
  • Announce the skill usage at the startin 30 of 1951
  • Verify agent compliance after adding the skillin 29 of 1951, across 17 files

Said here and by no other author read

  • Follow the CEP protocol for every mutation
  • Present proposed changes before execution
  • Report results with before and after comparison
  • Check character limits for ad creation
  • Create new ads in paused state
  • Log every write operation for audit

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.