Blog Google
AgriciDaniel/claude-blog
Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity…
End-to-end Google Search Ads campaign builder. An agent skill from gooseworks-ai/goose-skills.
$ npx skills add gooseworks-ai/goose-skills --skill google-search-ads-builder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gooseworks-ai/goose-skills google-search-ads-builder --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ads/composites/google-search-ads-builder .claude/skills/google-search-ads-builder && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "google-search-ads-builder" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/composites/google-search-ads-builder into .claude/skills/google-search-ads-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-ads-builder", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/composites/google-search-ads-builderType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add gooseworks-ai/goose-skills --skill google-search-ads-builder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gooseworks-ai/goose-skills google-search-ads-builder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ads/composites/google-search-ads-builder .agents/skills/google-search-ads-builder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "google-search-ads-builder" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/composites/google-search-ads-builder into .agents/skills/google-search-ads-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-ads-builder", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gooseworks-ai/goose-skills --skill google-search-ads-builder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gooseworks-ai/goose-skills google-search-ads-builder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ads/composites/google-search-ads-builder .cursor/skills/google-search-ads-builder && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "google-search-ads-builder" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/composites/google-search-ads-builder into .cursor/skills/google-search-ads-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-ads-builder", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/gooseworks-ai/goose-skills.git --path skills/ads/composites/google-search-ads-builder--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add gooseworks-ai/goose-skills --skill google-search-ads-builder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gooseworks-ai/goose-skills google-search-ads-builder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ads/composites/google-search-ads-builder .gemini/skills/google-search-ads-builder && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "google-search-ads-builder" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/composites/google-search-ads-builder into .gemini/skills/google-search-ads-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-ads-builder", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install gooseworks-ai/goose-skills google-search-ads-builderInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add gooseworks-ai/goose-skills --skill google-search-ads-builder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ads/composites/google-search-ads-builder .github/skills/google-search-ads-builder && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "google-search-ads-builder" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/composites/google-search-ads-builder into .github/skills/google-search-ads-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-ads-builder", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gooseworks-ai/goose-skills --skill google-search-ads-builder -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install gooseworks-ai/goose-skills google-search-ads-builder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ads/composites/google-search-ads-builder .opencode/skills/google-search-ads-builder && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "google-search-ads-builder" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/composites/google-search-ads-builder into .opencode/skills/google-search-ads-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-ads-builder", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
google-search-ads-builderEnd-to-end Google Search Ads campaign builder. An agent skill from gooseworks-ai/goose-skills.
Google Search Ads Builder is an agent skill from gooseworks-ai/goose-skills. 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 negative keyword lists, recommends bid strategy, and exports a campaign-ready CSV for Google Ads Editor import.
Its SKILL.md is about 4.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `skill.meta.json`).
It sits in Marketing & SEO, covering Web search, SEO audit and Keyword research. It works with Google Ads and Reddit. The repository describes itself as: Library of Growth & GTM skills + data APIs for Claude Code, Codex, Cursor to run ads, social, content, lead gen, seo and data scraping. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c650c6d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown and csv).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
hn.algolia.comapi.apify.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
APIFY_API_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Google Search Ads Builder loads about 4.6k tokens when it runs. Until then it costs about 113 tokens; SKILL.md has 1,691 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from gooseworks-ai/goose-skills at commit c650c6d, republished under its MIT licence (© gooseworks-ai). 1,691 words, ~4,590 tokens.
.claude/skills/google-search-ads-builder/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Build a complete Google Search Ads campaign from scratch. This skill handles everything from deep keyword research through community and review language mining, to ad copy generation and campaign structure — outputting files ready to import into Google Ads Editor.
Core principle: Most early-stage teams waste their first $5K on Google Ads because of bad keyword strategy and bad structure. This skill builds the strategic keyword foundation AND a tight, well-organized campaign from day one.
From the product description and ICP, generate 3 keyword buckets:
| Bucket | Intent | Examples |
|---|---|---|
| Problem-aware | Searching for solutions to a pain | "how to automate outbound", "fix slow sales pipeline" |
| Solution-aware | Searching for a category of product | "AI SDR tool", "outbound automation software" |
| Brand/Competitor | Searching for you or competitors by name | "[your brand]", "[competitor] alternative" |
For each competitor domain, research their organic keyword rankings and ad presence using web_search:
Search: site:<competitor_domain> [product category keywords]
Search: <competitor> SEO keywords ranking
Search: <competitor> top pages organic traffic
Search: "[competitor] site:google.com/ads" OR "[competitor] PPC keywords"
Search: "[competitor]" alternative OR vs OR comparison
Search: best [product category] tools 2026Use fetch_webpage on competitor landing pages and pricing pages to extract the language and positioning they use — these reveal keyword opportunities.
Extract keywords with buying intent — skip informational-only terms.
The exact language buyers use matters more than what marketers think they search. Mine review sites for real buyer vocabulary.
Use web_search to find reviews:
Search: "[product name]" site:g2.com reviews
Search: "[product name]" site:capterra.com reviews
Search: "[competitor name]" site:g2.com reviews
Search: "best [product category]" site:g2.comUse fetch_webpage on the top review pages to extract phrases like:
These phrases reveal how real buyers describe the problem and the solution — gold for keyword targeting.
Reddit threads contain the unfiltered language your ICP actually uses.
Option A — Apify Reddit Scraper (if APIFY_API_TOKEN is set):
POST https://api.apify.com/v2/acts/trudax~reddit-scraper-lite/runs?token=${APIFY_API_TOKEN}
Content-Type: application/json
{
"searches": ["best <category> tool OR software OR platform"],
"maxItems": 30
}Then poll for results:
GET https://api.apify.com/v2/acts/trudax~reddit-scraper-lite/runs/{RUN_ID}?token=${APIFY_API_TOKEN}Once status is SUCCEEDED, fetch dataset:
GET https://api.apify.com/v2/datasets/{DATASET_ID}/items?token=${APIFY_API_TOKEN}Output fields: Each item has dataType ("post" or "comment"), title (posts only), body, communityName, upVotes, url, createdAt.
Option B — Web search fallback:
Search: site:reddit.com "best [product category] tool" OR "recommend [product category]"
Search: site:reddit.com "[competitor name]" alternative
Search: site:reddit.com "[pain point]" solution softwareExtract the terminology, slang, and product descriptions real users use in these threads.
HN discussions reveal how technical buyers describe tools and problems.
Use the free HN Algolia API:
GET https://hn.algolia.com/api/v1/search?query=<product category>&tags=story&hitsPerPage=20
GET https://hn.algolia.com/api/v1/search?query=<competitor name>&tags=story&hitsPerPage=20
GET https://hn.algolia.com/api/v1/search?query=<pain point>&tags=comment&hitsPerPage=30No API key needed. Extract terminology and product framing from titles and comment text.
Use fetch_webpage to crawl key pages on the user's own website:
Identify:
Search: "[category] tool" → note Google autocomplete suggestions
Search: "[category] software for [ICP role]"
Search: "[pain point] solution"
Search: "how to [problem your product solves]"For each seed keyword discovered across all sources, expand with:
Organize ALL discovered keywords by buyer journey stage:
| Stage | Intent Signal | Example Keywords | Bid Priority |
|---|---|---|---|
| Problem-aware | Searching for solutions to a pain | "how to scale outbound without hiring SDRs" | Medium — educational intent |
| Solution-aware | Searching for a category | "AI SDR tool", "outbound automation platform" | High — comparing options |
| Product-aware | Searching for specific products | "[competitor] alternative", "[competitor] vs" | Very high — close to purchase |
| Most-aware | Searching for your brand | "[your brand]", "[your brand] pricing" | Must-have — defend brand |
| Intent Type | Ad Group Strategy | Landing Page Strategy |
|---|---|---|
| Transactional ("buy", "pricing", "free trial") | Aggressive bid, exact match | Direct product/pricing page |
| Commercial ("best", "top", "vs", "alternative") | Strong bid, exact + phrase | Comparison or feature page |
| Informational ("how to", "what is", "guide") | Low bid or skip — save for SEO | Blog/resource (if targeting) |
| Navigational (brand searches) | Must-bid, exact match | Homepage or brand LP |
For the top 30 keywords, estimate competition level:
| Density | Signal | Strategy |
|---|---|---|
| Low | Few ads showing, no big brands | Bid aggressively — first mover advantage |
| Medium | Some competitors, not saturated | Bid strategically — differentiate with copy |
| High | Major players dominating | Bid selectively — long-tail variants, exact match only |
| Very high | Big ad budgets, position 1-4 locked | Avoid head-on — focus on long-tail or competitor terms |
| Keyword | Exact [keyword] | Phrase "keyword" | Broad keyword | Recommendation |
|---|---|---|---|---|
| [keyword 1] | Y | Y | N | Start exact, expand to phrase after data |
| [keyword 2] | Y | N | N | Exact only — too broad in phrase |
| [keyword 3] | Y | Y | Y | All match types — high-volume, need coverage |
General match type rules:
| Keyword Type | Recommended Match | Reason |
|---|---|---|
| Brand terms | Exact | Protect — don't waste spend on broad |
| High-intent solution | Exact + Phrase | Capture precisely, discover adjacent |
| Competitor terms | Exact + Phrase | Control the narrative |
| Problem-aware | Phrase + Broad (with negatives) | Cast wider net for top-of-funnel |
| Keyword | Est. Volume | Intent Strength | Competition | Priority |
|---|---|---|---|---|
| [keyword] | [H/M/L] | [High/Med/Low] | [H/M/L] | [1-5] |
Priority scale:
Identify the top 10 keywords to launch with — highest intent, manageable competition:
| # | Keyword | Match Type | Intent | Competition | Why |
|---|---|---|---|---|---|
| 1 | [keyword] | Exact | Transactional | Medium | [Reason] |
Group keywords by theme and intent. Each ad group = one tight topic.
Structure template:
Campaign: [Product Name] — Search
+-- Ad Group: [Problem Keyword Theme 1]
| +-- Keywords (5-15 per group)
| +-- Ads (3 responsive search ads)
+-- Ad Group: [Problem Keyword Theme 2]
+-- Ad Group: [Solution Category]
+-- Ad Group: [Competitor Alternatives]
| +-- "[Competitor A] alternative"
| +-- "[Competitor B] alternative"
| +-- "best [category] alternative"
+-- Ad Group: [Brand]
+-- "[Your brand name]" (defense)Rules:
Each RSA needs:
| Slot | Purpose | Example |
|---|---|---|
| 1-3 | Keyword match — Include the search term | "AI Outbound Automation" |
| 4-5 | Value prop — Primary benefit | "10x Your Pipeline in 30 Days" |
| 6-7 | Social proof — Credibility | "Trusted by 500+ B2B Teams" |
| 8-9 | Differentiation — Why you vs alternatives | "No-Code Setup in 5 Minutes" |
| 10-11 | CTA — Action driver | "Start Free Trial Today" |
| 12-13 | Offer/Urgency — Incentive | "Free 14-Day Trial" |
| 14-15 | Trust/Risk reversal — Remove friction | "No Credit Card Required" |
| Slot | Purpose | Example |
|---|---|---|
| 1 | Feature-benefit — What + so what | "Automate personalized outbound emails so your team closes more deals without the manual work." |
| 2 | Pain-agitate — Problem + solution | "Tired of reps spending 4 hours on prospecting? Our AI handles it in minutes." |
| 3 | Social proof + CTA | "Join 500+ growth teams. Start your free trial — no credit card needed." |
| 4 | Differentiator + CTA | "Unlike legacy tools, [Product] works out of the box. See it in action — book a 15-min demo." |
free (if not freemium)
jobs, careers, hiring, salary, internship
tutorial, course, certification, learn, how to become
review, reddit, quora, forum (if not desired)
login, support, help desk, documentation
download, open source (if not applicable)Industry-specific terms that share words with your keywords but have wrong intent. Based on keyword research, add terms that would waste spend.
Terms that indicate the searcher is not a buyer:
If NOT running competitor campaigns, negative-match competitor brand names to prevent waste. If you ARE running competitor campaigns, apply these as negatives only on non-competitor ad groups.
Cross-negative between ad groups to prevent internal keyword cannibalization. Each ad group should only trigger for its own theme.
| Budget Range | Recommended Strategy | Reason |
|---|---|---|
| < $1K/mo | Manual CPC or Max Clicks | Need data first — don't let Google optimize on nothing |
| $1K-5K/mo | Max Conversions (after 30+ conversions) | Enough data for Google's algo |
| $5K+/mo | Target CPA or Target ROAS | Optimize for efficiency at scale |
First 2 weeks: Always start with Manual CPC or Max Clicks with a daily budget cap. Collect data before switching to automated bidding.
| Funnel Stage | % of Budget | Reasoning |
|---|---|---|
| Brand defense | [X%] | Protect brand searches |
| Competitor capture | [X%] | High-intent, ready to switch |
| Solution-aware | [X%] | Category buyers — highest volume |
| Problem-aware | [X%] | Only if budget allows |
# Google Search Ads Campaign — [Product Name] — [DATE]
## Campaign Overview
- **Goal:** [Conversions / Demos / Trials]
- **Monthly budget:** $[X]
- **Geographic targeting:** [Countries]
- **Bid strategy (start):** [Manual CPC / Max Clicks]
- **Bid strategy (after 30 conversions):** [Max Conversions / Target CPA]
## Research Summary
- Sources analyzed: [competitor SEO, G2/Capterra reviews, Reddit, Hacker News, site audit]
- Total keywords discovered: [N]
- After dedup + filtering: [N]
- Recommended for campaign: [N]
## Competitive Density Map
| Keyword Theme | Your Position | Top Competitors Bidding | Density | Recommendation |
|--------------|--------------|------------------------|---------|---------------|
| [Theme] | [Not bidding / Bidding] | [Names] | [H/M/L] | [Bid / Skip / Long-tail] |
## Campaign Structure
[Visual tree of campaigns -> ad groups]
## Keywords by Ad Group
### Ad Group: [Name]
**Landing page:** [URL]
| Keyword | Match Type | Funnel Stage | Intent | Priority |
|---------|-----------|-------------|--------|----------|
| [keyword] | Exact | Solution-aware | Commercial | High |
| [keyword] | Phrase | Problem-aware | Informational | Medium |
### Ad Group: [Name 2]
...
## Ad Copy
### Ad Group: [Name]
**RSA 1:**
Headlines: [list of 15]
Descriptions: [list of 4]
**RSA 2:** ...
**RSA 3:** ...
## Negative Keywords
### Campaign-Level Negatives
[List]
### Ad Group-Level Negatives
[Per ad group]
## Bid & Budget Recommendations
[Strategy + daily budget recommendation + funnel stage allocation]
## Quick Wins — Top 10 Launch Keywords
| # | Keyword | Match Type | Intent | Competition | Why |
|---|---------|-----------|--------|-------------|-----|
| 1 | [keyword] | Exact | Transactional | Medium | [Reason] |
## Launch Checklist
- [ ] Verify landing pages load and track conversions
- [ ] Set up conversion tracking (Google Tag / GA4)
- [ ] Confirm geographic targeting
- [ ] Set daily budget cap
- [ ] Review ad extensions (sitelinks, callouts, structured snippets)
- [ ] Enable search term report review (weekly)Generate a CSV file importable into Google Ads Editor:
Campaign,Ad Group,Keyword,Match Type,Max CPC,Final URL,Headline 1,Headline 2,Headline 3,Description 1,Description 2Save strategy doc to google-search-campaign-[YYYY-MM-DD].md in the current working directory (or user-specified path).
Save CSV to google-ads-import-[YYYY-MM-DD].csv in the current working directory (or user-specified path).
| Component | Cost |
|---|---|
| Keyword research (web search) | Free |
| Review mining (web search) | Free |
| Reddit scraping (Apify, if used) | ~$0.05-0.10 |
| HN Algolia API | Free |
| Site content audit (fetch_webpage) | Free |
| Ad copy generation | Free (LLM reasoning) |
| CSV generation | Free |
| Total | Free-$0.10 |
https://hn.algolia.com/api/v1/search (free, no key needed)APIFY_API_TOKEN env var© gooseworks-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/ads/composites/google-search-ads-builder of gooseworks-ai/goose-skills.
Open the folder on GitHubat commit c650c6d
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in gooseworks-ai/goose-skills, which our catalogue first saw on October 7, 2026.
Google Search Ads Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Google Search Ads Builder this skillgooseworks-ai/goose-skills | 1.2k | 1 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Blog GoogleAgriciDaniel/claude-blog | 2.3k | 1 repos | ~3.3k | Automated safety check: Notes | MIT | |
| Keyword Cannibalization Checkirinabuht12-oss/marketing-skills | 4.1k | — | ~717 | Automated safety check: Pass | None | |
| Paid Ad Copy WriterAffitor/affiliate-skills | 701 | — | ~3k | Automated safety check: Pass | MIT | |
| Search Campaign Auditcognyai/claude-code-marketing-skills | 104 | — | ~1.7k | Automated safety check: Pass | None | |
| Google Ads Managementivangfalco/ads-skills | 279 | — | ~2.1k | Automated safety check: Notes | Custom licence |
AgriciDaniel/claude-blog
Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity…
irinabuht12-oss/marketing-skills
Identifies where your own keywords and campaigns are competing against each other in Google Ads auctions.
Affitor/affiliate-skills
Write paid ad copy for affiliate offers across ad platforms.
cognyai/claude-code-marketing-skills
Google Ads Search campaign audit — match types, quality score, negative keyword gaps, search terms, ad strength, RSA asset coverage
ivangfalco/ads-skills
Manages Google Ads accounts with Python scripts for the Google Ads API, backed by an intent-first B2B strategy knowledge base.
iamzifei/show-me-the-money
SEO and GEO (Generative Engine Optimization) for organic traffic and AI search visibility.
gooseworks-ai/goose-skills
Scrape and search Reddit posts using Apify. An agent skill from gooseworks-ai/goose-skills.
gooseworks-ai/goose-skills
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent.
gooseworks-ai/goose-skills
Replace an existing video's opening with a supplied clip or free kinetic text hook while retaining and verifying every original body frame, audio, captions and ending.
gooseworks-ai/goose-skills
Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.
gooseworks-ai/goose-skills
Find leads by scraping engagers from a competitor's top LinkedIn posts.
gooseworks-ai/goose-skills
Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…
Works with
Categories
End-to-end Google Search Ads campaign builder. An agent skill from gooseworks-ai/goose-skills. Google Search Ads Builder is an agent skill from gooseworks-ai/goose-skills. End-to-end Google Search Ads campaign builder.
Google Search Ads Builder fits situations like: tasks that involve Web search; tasks that involve SEO audit; tasks that involve Keyword research.
Run `npx skills add gooseworks-ai/goose-skills --skill google-search-ads-builder -a claude-code`. Or copy the skill folder (skills/ads/composites/google-search-ads-builder in gooseworks-ai/goose-skills) into .claude/skills/google-search-ads-builder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add gooseworks-ai/goose-skills --skill google-search-ads-builder -a codex`. Or copy the skill folder (skills/ads/composites/google-search-ads-builder in gooseworks-ai/goose-skills) into .agents/skills/google-search-ads-builder in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gooseworks-ai/goose-skills --skill google-search-ads-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/google-search-ads-builder, .gemini/skills/google-search-ads-builder, .github/skills/google-search-ads-builder and .opencode/skills/google-search-ads-builder in your project.
Going by SKILL.md and its folder, Google Search Ads Builder needs credentials named APIFY_API_TOKEN. Our summary lists: A credential in APIFY_API_TOKEN.
SKILL.md names 2 domains. In commands or code: hn.algolia.com and api.apify.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Google Search Ads Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.6k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Google Search Ads Builder: Blog Google (AgriciDaniel/claude-blog, 2.3k stars), Keyword Cannibalization Check (irinabuht12-oss/marketing-skills, 4.1k stars), Paid Ad Copy Writer (Affitor/affiliate-skills, 701 stars) and Search Campaign Audit (cognyai/claude-code-marketing-skills, 104 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
gooseworks-ai (a GitHub organization) maintains it in gooseworks-ai/goose-skills, which has 1,240 GitHub stars. The repository holds 273 skills in this directory. The repository was last updated on October 8, 2026.
Source: gooseworks-ai/goose-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.