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…
When the user wants to run geographically targeted Google Ads (PPC) campaigns for a local business.
$ npx skills add garrettjsmith/localseoskills --skill local-ppc-ads -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install garrettjsmith/localseoskills local-ppc-ads --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/garrettjsmith/localseoskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/local-ppc-ads .claude/skills/local-ppc-ads && 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 "local-ppc-ads" agent skill from https://github.com/garrettjsmith/localseoskills/tree/main/skills/local-ppc-ads into .claude/skills/local-ppc-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-ppc-ads", 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/garrettjsmith/localseoskills/tree/main/skills/local-ppc-adsType 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 garrettjsmith/localseoskills --skill local-ppc-ads -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install garrettjsmith/localseoskills local-ppc-ads --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrettjsmith/localseoskills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/local-ppc-ads .agents/skills/local-ppc-ads && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "local-ppc-ads" agent skill from https://github.com/garrettjsmith/localseoskills/tree/main/skills/local-ppc-ads into .agents/skills/local-ppc-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-ppc-ads", 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 garrettjsmith/localseoskills --skill local-ppc-ads -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install garrettjsmith/localseoskills local-ppc-ads --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrettjsmith/localseoskills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/local-ppc-ads .cursor/skills/local-ppc-ads && 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 "local-ppc-ads" agent skill from https://github.com/garrettjsmith/localseoskills/tree/main/skills/local-ppc-ads into .cursor/skills/local-ppc-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-ppc-ads", 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/garrettjsmith/localseoskills.git --path skills/local-ppc-ads--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 garrettjsmith/localseoskills --skill local-ppc-ads -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install garrettjsmith/localseoskills local-ppc-ads --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrettjsmith/localseoskills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/local-ppc-ads .gemini/skills/local-ppc-ads && 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 "local-ppc-ads" agent skill from https://github.com/garrettjsmith/localseoskills/tree/main/skills/local-ppc-ads into .gemini/skills/local-ppc-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-ppc-ads", 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 garrettjsmith/localseoskills local-ppc-adsInstalls 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 garrettjsmith/localseoskills --skill local-ppc-ads -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/garrettjsmith/localseoskills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/local-ppc-ads .github/skills/local-ppc-ads && 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 "local-ppc-ads" agent skill from https://github.com/garrettjsmith/localseoskills/tree/main/skills/local-ppc-ads into .github/skills/local-ppc-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-ppc-ads", 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 garrettjsmith/localseoskills --skill local-ppc-ads -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install garrettjsmith/localseoskills local-ppc-ads --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrettjsmith/localseoskills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/local-ppc-ads .opencode/skills/local-ppc-ads && 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 "local-ppc-ads" agent skill from https://github.com/garrettjsmith/localseoskills/tree/main/skills/local-ppc-ads into .opencode/skills/local-ppc-ads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "local-ppc-ads", 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.
local-ppc-adsWhen the user wants to run geographically targeted Google Ads (PPC) campaigns for a local business.
Local Ppc Ads is an agent skill from garrettjsmith/localseoskills. When the user wants to run geographically targeted Google Ads (PPC) campaigns for a local business. Also use when the user mentions "local PPC," "geotargeted ads," "radius targeting," "Google Ads for local business," "local search campaigns," "geographic PPC," or "Google Ads location targeting." For LSAs (pay-per-lead), see lsa-ads. For map pack ads specifically, see local-search-ads.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Marketing & SEO, covering Paid advertising and Local SEO. It works with Google Ads. The repository describes itself as: Open-source Claude SEO tool for local search visibility — skills, tool integrations, and automation templates that turn Claude into a Local SEO expert. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 405ce20. 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.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Local Ppc Ads loads about 2.4k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 1,124 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 garrettjsmith/localseoskills at commit 405ce20, republished under its MIT licence (© garrettjsmith). 1,124 words, ~2,437 tokens.
.claude/skills/local-ppc-ads/SKILL.md (or your agent's skills folder).You are an expert in running Google Ads campaigns with geographic targeting for local businesses. Your goal is to drive local leads and customers efficiently through search, display, and video campaigns targeted to specific service areas.
Standard Google Ads campaigns (search, display, Performance Max, video) with geographic targeting to reach local customers. These are the regular search ads that appear above and below organic results — distinct from LSAs (pay-per-lead) and local search ads (inside the map pack).
Radius targeting
Location targeting (named areas)
Location groups
"Presence or interest" vs. "Presence only"
Google defaults to "Presence or interest" which shows ads to people who are IN your area OR who have shown INTEREST in your area. This means someone in another state searching "plumber buffalo ny" sees your ad.
For most local businesses: Switch to "Presence: People in or regularly in your targeted locations." This prevents wasted spend on people not actually in your area.
Account
├── [Service A] - [Market 1] Campaign
│ ├── Exact match ad group
│ ├── Phrase match ad group
│ └── Broad match ad group (with smart bidding)
├── [Service A] - [Market 2] Campaign
│ ├── ...
├── [Service B] - [Market 1] Campaign
│ ├── ...
├── Brand Campaign (all markets)
└── Competitor Campaign (optional)Account
├── Core Services Campaign (radius targeting)
├── Emergency/Urgent Campaign (radius targeting, 24/7)
├── Brand Campaign
└── Competitor Campaign (optional)plumber buffalo ny, dentist orchard parkplumber near me, emergency dentist near meemergency plumber, ac repairpipe burst, furnace not working, toothachejobs, salary, hiring, career, indeedhow to, DIY, tutorial, YouTubefree (unless offering free estimates){LOCATION(City)}Ideally:
[service] + [city] campaign → /plumbing/buffalo-ny/ landing page/emergency-plumbing/ with urgent CTA| What You Found | Next Action | Skill |
|---|---|---|
| PPC running but no LSA presence | LSAs appear above PPC — set those up for maximum coverage | lsa-ads |
| Want ads inside the map pack specifically | Set up Local Search Ads (different from standard PPC) | local-search-ads |
| Ad traffic needs better landing pages | Build dedicated local landing pages for ad campaigns | local-landing-pages |
| Need to report PPC results alongside organic | Combine PPC and organic metrics in unified reports | local-reporting |
| GBP not optimized (hurts location extensions) | Optimize GBP to improve ad location assets | gbp-optimization |
Default next step: PPC is a visibility bridge while organic rankings build. Track both together and shift budget as organic improves.
See docs/tool-routing to pick based on what's connected.
© garrettjsmith, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/local-ppc-ads of garrettjsmith/localseoskills.
Open the folder on GitHubat commit 405ce20
Local Ppc Ads 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 |
|---|---|---|---|---|---|---|
| Local Ppc Ads this skillgarrettjsmith/localseoskills | 120 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Blog GoogleAgriciDaniel/claude-blog | 2.3k | 1 repos | ~3.3k | Automated safety check: Notes | MIT | |
| SEO Googleseranking/seo-skills | 160 | — | ~4.8k | Automated safety check: Pass | MIT | |
| Google Adsarnabbagxd/Brand-building-skills | 724 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Keyword Cannibalization Checkirinabuht12-oss/marketing-skills | 4k | — | ~717 | Automated safety check: Pass | None | |
| Google Adszapier/connectors | 176 | — | ~3.7k | Automated safety check: Pass | Elastic-2.0 |
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…
seranking/seo-skills
Direct access to Google's own SEO data via Search Console (Search Analytics, URL Inspection, Sitemaps), PageSpeed Insights v5, CrUX field data with 25-week history, Indexing API v3, GA4 organic…
arnabbagxd/Brand-building-skills
Plan, build, and optimize Google Ads campaigns — Search, Shopping, Performance Max, Display, and YouTube — including keyword research, match types, bidding strategy, Quality Score, ad extensions…
irinabuht12-oss/marketing-skills
Identifies where your own keywords and campaigns are competing against each other in Google Ads auctions.
zapier/connectors
Agent-callable Google Ads tools — search campaigns, ad groups, and ads via GAQL, build performance reports, manage campaign status and budgets, and set up conversion tracking.
claude-office-skills/skills
Multi-platform ad copy generation for Google Ads, Meta/Facebook, TikTok, LinkedIn with A/B testing variants
garrettjsmith/localseoskills
When the user wants to programmatically manage Google Business Profiles at scale via API, automate GBP updates, build GBP management tools, or integrate GBP data into their systems.
garrettjsmith/localseoskills
When the user wants to create, schedule, or optimize Google Business Profile posts.
garrettjsmith/localseoskills
Generate complete semantic content briefs for local SEO content — location pages, service pages, blog posts, FAQ content, and pillar pages.
garrettjsmith/localseoskills
Manages persistent work state (briefs) for local SEO engagements.
garrettjsmith/localseoskills
Build a complete local content strategy from keyword research output.
garrettjsmith/localseoskills
When the user wants to run a geogrid scan, check existing scan reports, track ranking trends over time, monitor GBP changes via Falcon Guard, or analyze reviews.
Works with
Categories
When the user wants to run geographically targeted Google Ads (PPC) campaigns for a local business. Local Ppc Ads is an agent skill from garrettjsmith/localseoskills. When the user wants to run geographically targeted Google Ads (PPC) campaigns for a local business.
Local Ppc Ads fits situations like: wants to run geographically targeted Google Ads (PPC) campaigns for a local business; the user mentions local PPC; geotargeted ads; radius targeting.
Run `npx skills add garrettjsmith/localseoskills --skill local-ppc-ads -a claude-code`. Or copy the skill folder (skills/local-ppc-ads in garrettjsmith/localseoskills) into .claude/skills/local-ppc-ads in your project. Claude Code loads it when a task matches its description.
Run `npx skills add garrettjsmith/localseoskills --skill local-ppc-ads -a codex`. Or copy the skill folder (skills/local-ppc-ads in garrettjsmith/localseoskills) into .agents/skills/local-ppc-ads 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 garrettjsmith/localseoskills --skill local-ppc-ads -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/local-ppc-ads, .gemini/skills/local-ppc-ads, .github/skills/local-ppc-ads and .opencode/skills/local-ppc-ads in your project.
SKILL.md names no scripts, command-line tools or credentials: Local Ppc Ads is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Local Ppc Ads is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.7k 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 Local Ppc Ads: Blog Google (AgriciDaniel/claude-blog, 2.3k stars), SEO Google (seranking/seo-skills, 160 stars), Google Ads (arnabbagxd/Brand-building-skills, 724 stars) and Keyword Cannibalization Check (irinabuht12-oss/marketing-skills, 4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
garrettjsmith (a GitHub user) maintains it in garrettjsmith/localseoskills, which has 120 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on August 15, 2026.
Source: garrettjsmith/localseoskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.