Get found: 10 AI skills for SEO and local search

local-listing

get your Google Business Profile calling the phone

How the two work together

Claude thinks it through. Paste the Claude prompt into Claude Code, or drop the folder into your skills folder. Claude does the judgement: what to look for, what is worth doing, what is right.

Codex gets it done. At the hand-off point Claude runs Codex on your machine with one command and passes it the Codex prompt. Codex does the mechanical part and hands the result back. Claude checks it before you see it.

No API key to set up: Claude calls the Codex you already have installed. If Codex is not installed, Claude does that half itself and tells you.

Prompt for Claude

---
name: local-listing
description: Fixes the Google Business Profile fields that decide whether you show in the map pack, without risking suspension. Use when local calls dry up.
---

# Get your Google Business Profile ringing the phone

One corrected listing, field by field, in map-pack order.

## Claude does

1. Asks for eight facts and guesses none: sign name, address or none, the number ringing there, hours, what the business IS, services, towns, link.
2. Sets the primary category first: top of 187 factors scored by 47 local experts in 2026, at 227. Finish "this business IS a ...", not "does".
3. Adds extra categories, worth 173, only for separate offers; Google wants the fewest covering your core.
4. Keeps the name honest. Title keywords score 223, yet Google bans stuffing: nothing goes in that is not on your sign.
5. Address or service area: a shown address scores 176, city of search 213, the pin on your door 165. No P.O. box, no unstaffed office.
6. Checks the number rings that location, not a call centre, and is not premium rate.
7. Fixes hours, bank holidays included. Open at time of search scores 189: wrong hours rank you while shut.
8. Sets a review pace: 4 to 5 star ratings score 181, text reviews 170; 68 per cent of consumers avoid under four stars, 74 per cent read only recent ones.
9. Lints dead fields: retired chat settings, .business.site website links.

## Then Codex does

Codex builds the repeatable half: a field sheet per location, the name-address-phone string, categories, a table comparing it to every directory listing found, and a twelve week calendar. Identical per-location work, hundreds of string comparisons.

```
codex exec --sandbox danger-full-access --skip-git-repo-check -C "<working folder>" - < CODEX.md
```

Claude fills in first: {BUSINESS_NAME}, {LOCATIONS}, {PRIMARY_CATEGORY}, {EXTRA_CATEGORIES}, {SERVICES}.

## Claude checks

1. Row count matches the printed count.
2. Reads the name from the file against yours, character by character. An appended town or service word means suspension: reject.
3. Every category exists in Google's live list; an invented one is a reject.
4. Every number rings the location, not premium rate.
5. No .business.site address or retired chat field.
6. No percentage weighting quoted as the study's; it publishes factor scores only.
7. No more than thirty locations lacking a staffed address.

Reject and rerun: name the fault, hand it back, check again.

## Rules

- Fewest categories, what the business IS.
- The name matches the real sign; stuffing gets you suspended.
- Real premises only, no P.O. box.
- The phone rings that location, not a call centre.
- Honest hours, special hours set.
- Published factor scores only, never a percentage weighting.
- Public information only.
- Never invent a fact, a number or a quote.
- Anything sent in someone's name says whose name it is.

## If Codex is not installed

Claude does that half itself and says so.

## Built from

- Whitespark 2026 Local Search Ranking Factors, https://whitespark.ca/local-search-ranking-factors/ - 47 experts, 187 factors.
- Google Business Profile guidelines, https://support.google.com/business/answer/3038177 - Google's own rules.
- AgriciDaniel/claude-seo, https://github.com/AgriciDaniel/claude-seo - 16,344 stars (api.github.com, 5 Sep 2026).
- seranking/seo-skills, https://github.com/seranking/seo-skills - 135 stars (api.github.com, 5 Sep 2026).
- BrightLocal Consumer Review Survey 2026, https://www.brightlocal.com/research/local-consumer-review-survey/ - 1,002 consumers, Feb 2026.

Prompt for Codex

# Get your Google Business Profile ringing the phone - Codex task

You are building the listing sheets for a local business. You have no memory of any earlier conversation. Everything you need is below.

## You are given

- {BUSINESS_NAME} - the real-world name as it appears on the sign. Fixed text.
- {LOCATIONS} - one line per location: address, phone number, opening hours.
- {PRIMARY_CATEGORY} - one Google category, already chosen.
- {EXTRA_CATEGORIES} - up to four more, already chosen.
- {SERVICES} - the services genuinely offered.

## Produce

Three files in the working folder.

1. `listings.csv`, one row per location, with exactly these columns in this order:
   `location_id, business_name, address_line, city, postcode, nap_string, phone, primary_category, extra_categories, hours_mon_to_sun, special_hours, service_area, website_url, map_pin_note, field_status, issue`
   - `field_status` is one of: ok, missing, conflict.
   - `issue` names the fault, or the word `none`.
   - `special_hours` lists every bank holiday date in the next twelve months, or `missing`.

2. `citations.csv`, one row per directory listing found, with these columns:
   `location_id, directory, listed_name, listed_address, listed_phone, matches_nap, difference, fix_action`
   - `matches_nap` is yes or no. `difference` quotes both strings verbatim.
   - Only directories you actually found. If a location has fewer than ten, write the real number in `cadence.md`.

3. `cadence.md`, under 400 words: twelve weeks, one line per week, naming the post that goes up and how many review requests go out. Never more than five review requests per location per week.

## Rules

- Copy {BUSINESS_NAME} character for character into every row. Never append a town, a service or a keyword.
- Never invent a phone number, an address, opening hours, a directory listing or a review count. Write `missing`.
- Flag premium-rate numbers (UK 09, 084, 087) in `issue` and never present one as the main number.
- Never write a `.business.site` address into `website_url`.
- Never quote a percentage weighting for local ranking factors. Factor scores only.
- Stop at thirty locations. If more are given, process thirty and say in `cadence.md` how many were left and why.
- Public information only. Nothing behind a login.
- British English throughout.

## Return

Print exactly these lines to stdout and nothing else:

```
LOCATIONS: <integer row count of listings.csv, excluding the header>
CITATIONS_CHECKED: <integer row count of citations.csv>
NAP_MISMATCHES: <integer count where matches_nap is no>
MISSING_FIELDS: <integer count of cells written as missing>
PREMIUM_RATE_FLAGGED: <integer>
NAME_STRING: <the business_name value copied verbatim from row 1 of listings.csv>
FILES: listings.csv, citations.csv, cadence.md
SAMPLE:
<five full rows copied verbatim from listings.csv, not retyped>
```

Built from the best public work on this

Sources

  • **Whitespark 2026 Local Search Ranking Factors** - https://whitespark.ca/local-search-ranking-factors/ - methodology stated on the page: 47 local search experts complete a two hour survey weighing and scoring 187 factors. Every score used in this skill is read off that page: primary category 227, proximity to point of search 225, keywords in the business title 223, address in the city of search 213, open at time of search 189, ratings of 4 to 5 stars 181, address showing rather than service area 176, additional categories 173, native reviews with text 170, map pin placement 165. Read 5 Sep 2026.
  • **Google Business Profile guidelines** - https://support.google.com/business/answer/3038177 - Google's own representation rules, and the only non-commercial authority here. Supplies the real-world name test, the fewest-categories rule, the ban on keyword stuffing in names, the P.O. box and virtual office restrictions, and the requirement that the number reaches the individual location rather than a call centre. Read 5 Sep 2026.
  • **AgriciDaniel/claude-seo** - https://github.com/AgriciDaniel/claude-seo - 16,344 stars and 2,388 forks read directly from api.github.com on 5 Sep 2026; created 7 Feb 2026, last push 26 Aug 2026, so actively maintained. Supplies the Google Business Profile deprecation lint for retired chat fields and `.business.site` addresses, and the thirty-location warning that keeps bulk location work away from doorway pages.
  • **seranking/seo-skills** - https://github.com/seranking/seo-skills - 135 stars and 32 forks read from api.github.com on 5 Sep 2026. Its `seo-local` skill supplies the shape used here: a numbered workflow, a CSV produced alongside a readable report, and stated limitations rather than an implied complete answer.
  • **BrightLocal Local Consumer Review Survey 2026** - https://www.brightlocal.com/research/local-consumer-review-survey/ - methodology on the page: 1,002 US adult consumers surveyed via SurveyMonkey, published 11 February 2026. Supplies the demand-side thresholds the review pace is written against: 68 per cent require four stars or better, 31 per cent will only use a business rated 4.5 or higher, and 74 per cent look for reviews written in the last three months.

Best public prompt we found for this job

https://github.com/seranking/seo-skills - the `seo-local` skill. It is the clearest public example of treating a listing as a set of named fields checked in a fixed order, with a preflight check before any work, an evidence folder so the result can be reproduced, and its own limitations written into the output instead of implied away.

The single most important tension this skill has to hold, and the reason the two sources below must be read together: Whitespark's expert panel scores keywords in the business title as the third strongest local pack factor at 223, while Google's guidelines say the name must be the real-world one and prohibit stuffing. Verbatim from Google's page, the line that decides it:

"should reflect your business's real-world name, as used consistently on your storefront, website, stationery"

And on categories, the line that stops the list being padded:

"Choose the fewest number of categories it takes to describe your overall core business"

Want this running in your business?

I optimise how businesses run — your sales, your visibility, your social media — and build bespoke software where nothing off the shelf fits. The first conversation is free. Work starts from £150 a day.