local-seo-execute
>
Install
mkdir -p .claude/skills/local-seo-execute && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16446" && unzip -o skill.zip -d .claude/skills/local-seo-execute && rm skill.zipInstalls to .claude/skills/local-seo-execute
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Autonomously execute SEO work for a local business client following proven local SEO guidelines. Use when user says "zrob SEO dla [klient]", "zacznij z [klient]", "uruchom SEO", "zrob mi SEO", or provides client details and asks to start SEO work. Produces: on-page fixes, service pages, schema markup, and a prioritized human TODO list.About this skill
Goal
Do the maximum amount of SEO work autonomously. Return what's done + a prioritized TODO list for the human.
Required inputs -- ask before starting if missing
Minimum required:
- Business name
- City / primary market
- Primary service category
- Website URL
Important (ask if not provided):
- Phone number (needed for all pages -- flag as MISSING if not given)
- 1-2 sentences about the business (how long operating, any specialties)
- CMS: WordPress / custom / no website
Optional but valuable:
- GSC access (flag as missing -- explain what we lose without it)
- Pricing for main services (needed for realistic service pages)
- Additional cities/neighborhoods served
If critical info is missing, add it to the human TODO list with explanation. Never silently skip it.
Phase 1 -- Audit and Plan (~$0.10 DataForSEO)
- Check current rankings: DataForSEO SERP for 5-10 main keywords
- Fetch homepage: check title tag, H1, phone visibility, address in footer
- Check top 3 map pack competitors (review count, velocity, category)
- Build Core 30 list: one page per service + location combinations needed
- Identify which pages exist vs which need to be created
Phase 2 -- On-page fixes (do autonomously)
For each fix, note what was changed and why.
2.1 Title tag
Formula: [GBP Primary Category] in [City]
Keyword FIRST. Not brand name first. Not "Best" or "Top".
Example: "HVAC Repair in Dallas" not "Smith's Heating - HVAC Services Dallas TX"
2.2 H1 Must echo the title tag topic. Service + city.
2.3 Phone above fold Phone number must be visible without scrolling. On mobile must be a tap-to-call link. If phone number not provided: add to TODO [INFO NEEDED].
2.4 Address in footer NAP (Name, Address, Phone) must be in the footer of every page.
2.5 LocalBusiness schema on homepage Use specific @type (e.g. Plumber, HVACContractor, Roofer). Do NOT add AggregateRating unless using verified third-party data.
2.6 Service schema on each service page Add Service schema with name, description, areaServed.
2.7 GBP link target ONLY applies when client has multiple GBPs: each GBP should link to its specific location page. Single GBP = homepage link is fine.
Phase 3 -- Service pages (do autonomously)
For each missing page from Core 30:
Research process (do all three before writing):
- WebSearch "[service] [city]" -- find local pricing, local regulations, local facts
- WebSearch "site:reddit.com [service] [city]" or "[service] questions" -- find real customer questions
- Check top 2 competitors' pages for the same keyword -- what topics do they cover?
Page structure:
- H1: [Service] in [City]
- First 100 words: confirm service + city + phone number
- 800-1200 words total
- Include: local pricing range (research this), local-specific facts, process explanation
- FAQ section (minimum 4 questions) -- AI crawlers extract from these
- Embed Google Maps (note in page for human to add iframe)
- Address in footer
- Internal links to related service pages
Content rules:
- Real local data beats generic content
- Include specific pricing ranges based on research (not made up)
- No duplicate content -- each city page must have unique local information
- Do NOT use collapsed accordions for important content (Googlebot cannot click)
Save each page to: seo-pages/[client-slug]/[page-slug].md
Phase 4 -- Save content
Save all written pages to seo-pages/[client-name-slug]/ with frontmatter:
---
title: [H1]
keyword: [target keyword]
url-slug: [recommended URL]
status: ready-to-publish
---
Also save seo-pages/[client-name-slug]/index.md with summary of all pages created.
Phase 5 -- Human TODO list
Format as prioritized list. Most important first. Be specific.
HUMAN TODO -- [Business Name]
(do in this order)
[GBP] Check/set primary category to: [recommended category]
[GBP] Respond to all existing reviews with keywords naturally embedded
[GBP] Link to: [specific page URL]
[REVIEWS] Target: X reviews/month (currently ~Y, top competitor has ~Z at ~W/month)
- Review quality matters more than count: ask customers to mention the specific service + city
[CITATIONS] Add business to these directories:
Priority 1: Google Business Profile (verify), Yelp, BBB
Priority 2: HomeAdvisor, Angi, Houzz, Thumbtack
Priority 3: Local chamber of commerce, local business directories for [city]
[GSC] Grant access to Google Search Console -- we need this to find keyword gaps
URL: search.google.com/search-console
[INFO NEEDED] Phone number -- required for all pages, above fold placement
[INFO NEEDED] Pricing for [service] -- needed for service pages to be specific
[INFO NEEDED] What neighborhoods/cities do you serve besides [City]?
[CONTENT] Publish X service pages (saved to seo-pages/[client]/)
[CONTENT] Add Google Maps iframe to each location page
Proactive flags
Always flag these proactively even if user didn't ask:
- Missing phone number: "Phone number is critical -- it's a conversion factor AND ranking signal"
- Missing GSC access: "Without GSC we can't find which keywords Google already ranks the site for"
- Review velocity below 3/month: "Current velocity will lose ground to competitors -- need active review strategy"
- Review gap larger than 50: "Will take significant time to close -- be realistic with client about timeline"
- Competitor has active SEO agency: "Market has professional competition -- results will take longer"
Key principles (non-negotiable)
These come from analysis of 843 tweets from @theseoguy_ -- proven local SEO insights:
- GBP is the #1 asset, not the website
- Category > everything else on GBP
- Review velocity > review count
- Review quality > review velocity (10+ words, photos, keywords + city in text)
- Title tag: keyword first, not brand name
- One location page per city -- never one page for all cities
- No duplicate city pages -- each needs unique local content
- FAQ sections are critical for AI crawler indexing in 2026
- Domain Authority is irrelevant for map pack
- Goal completion (conversions) is itself a ranking signal