Install
$ agentstack add skill-fourteenwm-ppc-ai-skills-rsa-bulk-edit ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
RSA Bulk Edit Skill
Find and replace text across RSA ads, outputting to Google Sheet in Google Ads Editor format.
Auto-Invocation Triggers
- "RSA bulk edit"
- "find and replace in RSA ads"
- "edit RSA ads at scale"
- "bulk RSA changes"
Usage
Single Account
python scripts/rsa_bulk_edit.py \
--cid 1234567890 \
--search "color" \
--replace "colour" \
--sheet-id YOUR_SHEET_ID
Multiple Accounts
python scripts/rsa_bulk_edit.py \
--cids "123456789,987654321,456789123" \
--search "color" \
--replace "colour" \
--sheet-id YOUR_SHEET_ID
Custom Tab Name
python scripts/rsa_bulk_edit.py \
--cid 1234567890 \
--search "color" \
--replace "colour" \
--sheet-id YOUR_SHEET_ID \
--tab-name "RSA - QA"
Dry Run (Preview Only)
python scripts/rsa_bulk_edit.py \
--cid 1234567890 \
--search "color" \
--replace "colour" \
--dry-run
Arguments
| Argument | Required | Description | |----------|----------|-------------| | --cid | One of cid/cids | Single customer ID (no dashes) | | --cids | One of cid/cids | Comma-separated customer IDs | | --search | Yes | Text to find | | --replace | Yes | Replacement text | | --sheet-id | No | Google Sheet ID for output | | --tab-name | No | Tab name (default: RSA Edits) | | --case-sensitive | No | Enable case-sensitive matching | | --dry-run | No | Preview only, no sheet write |
Output Format (Google Ads Editor Ready)
One row per ad, copy-paste ready for Google Ads Editor:
| Columns A-D | E-S | T-W | X-Z | AA-AC | |-------------|-----|-----|-----|-------| | Account Name, Customer ID, Campaign, Ad Group | Headline 1-15 | Description 1-4 | Path 1, Path 2, Final URL | Has Match, Changes Made, Ad ID |
Post-Script Workflow
- Review sheet, filter by "Has Match" = YES
- Copy columns C onwards (Campaign through Final URL)
- Paste into Google Ads Editor
- Review changes in Editor
- Post changes
Scope
- Queries all ad groups (enabled or paused) in ENABLED campaigns
- Only includes ENABLED ads
- Case-insensitive search by default
Examples
UK Spelling Corrections
# Color -> Colour
python scripts/rsa_bulk_edit.py \
--cids "111222333,444555666" \
--search "color" \
--replace "colour" \
--sheet-id 1ABC123xyz
# Center -> Centre
python scripts/rsa_bulk_edit.py \
--cids "111222333,444555666" \
--search "center" \
--replace "centre" \
--sheet-id 1ABC123xyz
Customizer Replacement
python scripts/rsa_bulk_edit.py \
--cid 1234567890 \
--search "{CUSTOMIZER.Price}" \
--replace "Contact For Rent Pricing" \
--sheet-id YOUR_SHEET_ID \
--tab-name "RSA - QA"
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: fourteenwm
- Source: fourteenwm/ppc-ai-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.