Page Play Builder
aaron-he-zhu/aaron-marketing-skills
A skill your agent uses when the user asks to "build programmatic SEO pages", "generate pages at scale", "rank on a high-authority third-party site", "borrow domain authority", "build a vs /…
Local SEO audit for brick-and-mortar, service-area, and multi-location businesses.
$ npx skills add seranking/seo-skills --skill seo-local -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install seranking/seo-skills seo-local --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/seranking/seo-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/seo-local .claude/skills/seo-local && 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 "seo-local" agent skill from https://github.com/seranking/seo-skills/tree/main/skills/seo-local into .claude/skills/seo-local/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-local", 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/seranking/seo-skills/tree/main/skills/seo-localType 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 seranking/seo-skills --skill seo-local -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install seranking/seo-skills seo-local --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/seranking/seo-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/seo-local .agents/skills/seo-local && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "seo-local" agent skill from https://github.com/seranking/seo-skills/tree/main/skills/seo-local into .agents/skills/seo-local/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-local", 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 seranking/seo-skills --skill seo-local -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install seranking/seo-skills seo-local --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/seranking/seo-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/seo-local .cursor/skills/seo-local && 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 "seo-local" agent skill from https://github.com/seranking/seo-skills/tree/main/skills/seo-local into .cursor/skills/seo-local/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-local", 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/seranking/seo-skills.git --path skills/seo-local--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 seranking/seo-skills --skill seo-local -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install seranking/seo-skills seo-local --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/seranking/seo-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/seo-local .gemini/skills/seo-local && 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 "seo-local" agent skill from https://github.com/seranking/seo-skills/tree/main/skills/seo-local into .gemini/skills/seo-local/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-local", 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 seranking/seo-skills seo-localInstalls 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 seranking/seo-skills --skill seo-local -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/seranking/seo-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/seo-local .github/skills/seo-local && 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 "seo-local" agent skill from https://github.com/seranking/seo-skills/tree/main/skills/seo-local into .github/skills/seo-local/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-local", 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 seranking/seo-skills --skill seo-local -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install seranking/seo-skills seo-local --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/seranking/seo-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/seo-local .opencode/skills/seo-local && 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 "seo-local" agent skill from https://github.com/seranking/seo-skills/tree/main/skills/seo-local into .opencode/skills/seo-local/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seo-local", 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.
seo-localLocal SEO audit for brick-and-mortar, service-area, and multi-location businesses.
SEO Local is an agent skill from seranking/seo-skills. Local SEO audit for brick-and-mortar, service-area, and multi-location businesses. Covers Google Business Profile signals on the website, NAP consistency across page and schema, local-pack rank tracking, citation samples on Tier-1 directories, and reviews on Google / Yelp / Trustpilot. Distinct from seo-page (URL-level keywords, no local layer) and from seo-schema (which generates LocalBusiness markup — this skill defers to it). Use when the user asks "local SEO", "GBP", "Google Business Profile", "NAP", "local…
Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/local-citation-sources.md`).
It sits in Marketing & SEO, covering Local SEO and Citation management. It works with Firecrawl. The repository describes itself as: Claude SEO Skills — production Claude Agent Skills for the SE Ranking MCP server. Content briefs, AI Search share of voice, audits, backlink gaps, keyword clusters, schema… The licence is MIT.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit fd6d140. 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.
Shell commands in SKILL.md call:
python3From 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:
google.comg.pageAlso links to:
github.comFrom 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.
SEO Local loads about 4.9k tokens when it runs, and up to ~6.5k if it reads all its reference files. Until then it costs about 151 tokens; SKILL.md has 1,845 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 seranking/seo-skills at commit fd6d140, republished under its MIT licence (© seranking). 1,845 words, ~4,885 tokens.
.claude/skills/seo-local/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Example output: examples/seo-local-sweetgreen-com-20260514/LOCAL-SEO-REPORT.md
Score a local business's website against the signals that drive local-pack and "near me" visibility — GBP integration on the page, NAP consistency, on-page local intent, citation footprint on Tier-1 directories, review-platform presence, and local-pack rank for the business's primary keywords. Deliverable is one prioritised fix list, anchored in observable signals.
Adapted from
AgriciDaniel/claude-seo'sseo-localskill (MIT). Concept and dimension structure mirror the upstream; backend rewired to SE Ranking + Firecrawl + Google APIs. DataForSEO Maps geo-grid and Business Listings checks from the upstream are dropped (no equivalent backend) — see "Limitations" in the deliverable.
WebFetch tool available (used for sense-check fallback when Firecrawl is unavailable)."dentist Brooklyn", "plumber near me"), (c) target country and ideally city/region for local-pack scoping. Optional: GBP listing URL, Yelp/Trustpilot URLs for review scraping.Validate target & preflight. See skills/seo-firecrawl/references/preflight.md for the canonical 3-stage preflight (credit balance, Firecrawl availability, Google APIs). Skill-specific notes:
<title> + <h1> of the homepage; if still ambiguous, ask the user before continuing.tel: / address element extraction become best-effort prose inspection. Pass --no-firecrawl to force WebFetch-only.skills/seo-google/references/cross-skill-integration.md for the full enrichment contract.Business-type detection
/contact + footer prose (WebFetch markdown is enough for this).areaServed in schema without address.streetAddress.LOCAL-SEO-REPORT.md "Snapshot".Industry-vertical detection
/menu, /practice-areas, /listings, /inventory), <title>, page prose, infer one of: Restaurant / Healthcare / Legal / Home Services / Real Estate / Automotive / Generic.references/local-citation-sources.md for the vertical's Tier-1 directories.GBP signals on the page mcp__firecrawl-mcp__firecrawl_scrape (with formats: ["rawHtml"])
/contact (or whichever page has the most local intent).rawHtml extract:<iframe src="https://www.google.com/maps/embed?...">) — record place ID if present.aggregateRating JSON-LD block (presence is the strongest signal that the site wants stars in SERPs).<a href="tel:..."> elements.<a href> to https://g.page/... or https://maps.app.goo.gl/... or https://www.google.com/maps/place/....tel: link in some renderings but loses iframes and JSON-LD. Mark Maps embed / aggregateRating / GBP profile-link detection as (skipped — Firecrawl required).NAP consistency mcp__firecrawl-mcp__firecrawl_scrape on homepage + 5 sample pages
/contact, /about, plus 2 service or location pages (pick from sitemap or top traffic pages).tel: href + display format), business name (logo alt, footer, schema name).<script type="application/ld+json"> block. Pull name, address.streetAddress, address.addressLocality, address.addressRegion, address.postalCode, telephone.nap-inconsistencies.csv.nap-inconsistencies.csv is empty after the scan, write nap-inconsistencies.csv as a one-line file with header only and note "NAP consistent across {n} pages and schema" in LOCAL-SEO-REPORT.md.Local-pack rank tracking DATA_getSerpResults with country/region filters
DATA_getSerpResults with the user's country and the most specific region/city the API supports (use DATA_getSerpLocations first to confirm a valid location code if the user supplied a city).local-keywords.csv (columns: keyword,country,location,local_pack_present,target_in_pack,target_pack_position,target_organic_position,top_pack_competitor_1,top_pack_competitor_2,top_pack_competitor_3).Reviews scraping mcp__firecrawl-mcp__firecrawl_scrape on user-provided review URLs
https://www.google.com/maps/place/...), Yelp business URL, Trustpilot business URL, BBB profile URL.formats: ["rawHtml"]. From the parsed DOM, extract: total review count, average rating, date of most recent review (review velocity proxy), count of owner responses on the most recent 10 reviews.LOCAL-SEO-REPORT.md: "Review platforms: not provided. To audit review health, re-run with --reviews 'gbp_url,yelp_url,trustpilot_url'." Don't try to discover them — review-URL discovery is a different problem (and the Maps API path is the one we don't have).On-page local-SEO audit DATA_getAuditReport (existing audit) + DATA_getIssuesByUrl on the homepage
seo-technical-audit). Don't create a new audit just for local — the audit data already covers title-tag issues, missing schema, mobile usability, etc.LocalBusiness JSON-LD.aggregateRating, malformed address).seo-schema. This skill does NOT generate JSON-LD. If LocalBusiness schema is missing or broken, the deliverable says "Run seo-schema for paste-ready LocalBusiness markup with the correct industry subtype" — that's seo-schema's job and reimplementing it here would duplicate work.8b. GSC local query performance (only if google-api.json is present, tier ≥ 1)
python3 scripts/gsc_query.py --property "{config.default_property}" --days 28 --jsonnear me, contains a city/region known for the business, or ends in a place-name. Surface top 10 by impressions.LOCAL-SEO-REPORT.md "Top fixes" with the GSC numbers as supporting evidence.skills/seo-google/references/cross-skill-integration.md for failure modes.8c. GA4 organic by landing page (only if google-api.json is present, tier ≥ 2)
python3 scripts/ga4_report.py --report top-pages --days 28 --jsonCitation-presence sample (best-effort) WebSearch (no API key cost)
references/local-citation-sources.md), check whether the business has a listing using site:{directory} "{business_name}" queries via WebSearch.LOCAL-SEO-REPORT.md "Citations" section: detected / not detected per directory, plus the URL of the listing if found.Synthesise LOCAL-SEO-REPORT.md
Create a folder seo-local-{domain-slug}-{YYYYMMDD}/ with:
seo-local-{domain-slug}-{YYYYMMDD}/
├── LOCAL-SEO-REPORT.md (PRIMARY: verdict, scores, top fixes, limitations)
├── local-keywords.csv (load-bearing: per-keyword local-pack + organic positions)
├── nap-inconsistencies.csv (load-bearing: only emitted if discrepancies found)
└── evidence/
├── 01-homepage-snapshot.md (Firecrawl raw HTML extracts: NAP, schema, GBP signals)
├── 02-nap-page-samples.md (per-page NAP extracts across 5 sample URLs)
├── 03-serp-context.md (raw DATA_getSerpResults per keyword)
├── 04-reviews.md (per-platform review-page snapshots, only if user provided URLs)
└── 05-citation-sample.md (raw WebSearch results per directory check)LOCAL-SEO-REPORT.md follows this shape:
# Local SEO Report: {domain}
> Snapshot dated {YYYY-MM-DD} · Country: {country} · Region: {region} · Primary keyword: "{keyword}"
## Snapshot
- Business type: {Brick-and-Mortar | SAB | Hybrid}
- Industry vertical: {Restaurant | Healthcare | Legal | Home Services | Real Estate | Automotive | Generic}
- Pages sampled for NAP: {n}
- Local keywords tracked: {n}
- Local pack present on {n}/{m} keywords; target in pack on {p}/{m}
- Review platforms audited: {Google, Yelp, ... | not provided}
- GSC last 28d local-intent queries: {n} queries / {clicks} clicks / {impressions} impressions *(or `not configured`)*
## Verdict: {STRONG | NEEDS WORK | WEAK}
{One-sentence summary anchored in dimension scores below}
## Dimension scores (0–10)
| Dimension | Score | Top finding |
|---|---|---|
| GBP integration on page | {n}/10 | {one-line} |
| NAP consistency | {n}/10 | {one-line} |
| Local on-page (title/H1/contact/service pages) | {n}/10 | {one-line} |
| Local-pack rank | {n}/10 | {one-line} |
| Reviews & citations | {n}/10 | {one-line} |
| **Composite** | {n}/10 | — |
## Top fixes
### Critical
1. {Specific fix anchored in a finding above. Example: "NAP discrepancy: footer shows '(212) 555-1234' but JSON-LD shows '+1-212-555-9999'. Pick one canonical phone, fix the wrong one." Cite the page/schema source.}
### High
- {fix}
### Medium
- {fix}
### Low
- {fix}
## Local-pack rank summary
- "{keyword 1}": local pack {present/absent}, target {in pack at #n / not in pack}, organic position {n}.
- "{keyword 2}": …
- (Full data: `local-keywords.csv`)
## Reviews health (if audited)
- Google: {n} reviews, {rating} avg, last review {n} days ago, owner response rate {p}%.
- Yelp: …
- Trustpilot: …
## Citation sample
- Google Business: {detected / not detected via site:google.com "..." search}
- Yelp: …
- Facebook: …
- BBB: …
- Apple Business Connect: …
- Bing Places: …
- {vertical-specific 1}: …
- {vertical-specific 2}: …
(Caveat: this is a sample, not a comprehensive citation audit. For definitive coverage, use Whitespark / BrightLocal / Yext.)
## Schema status
- LocalBusiness JSON-LD: {present and valid / present but missing recommended properties / invalid / absent}
- Recommended next step: run `seo-schema {homepage_url}` for paste-ready LocalBusiness markup with the correct industry subtype.
## Limitations
This skill could NOT assess:
- **Geo-grid local-pack rank by lat/long.** Requires a Maps API (e.g. DataForSEO Maps geo-grid endpoint) we don't have. Workaround: pay for Local Falcon, GMB Crush, or BrightLocal Local Search Grid.
- **Comprehensive citation audit.** WebSearch sampling covers ~8 directories; full audits cover 50+. Use Whitespark, BrightLocal, or Yext.
- **GBP Insights data.** Requires GBP API access scoped to the listing owner. Ask the listing owner to export Insights and share.
- **Real-time local-pack rank tracking over time.** This skill is a snapshot. Use SE Ranking's project-level rank tracker (`PROJECT_runPositionCheck`) or pair with `seo-drift` for diff snapshots.
- **DataForSEO Business Listings.** Not in our backend; if the user needs it, they'd need to subscribe to DataForSEO directly.local-keywords.csv columns: keyword,country,location,local_pack_present,target_in_pack,target_pack_position,target_organic_position,top_pack_competitor_1,top_pack_competitor_2,top_pack_competitor_3,aio_present
nap-inconsistencies.csv columns: source,name,address,phone,page_or_schema_path,canonical_value,divergence_note
DATA_getSerpResults calls sequentially.DATA_getCreditBalance before running. ~15–25 SE Ranking credits typical, plus 6–12 Firecrawl credits when Firecrawl is installed.seo-schema for that — it has the rich-results validation and industry-subtype routing this skill doesn't replicate.seo-content-audit on a sample of location pages.seo-geo (URL-level GEO) or seo-ai-search-share-of-voice (domain-level brand visibility) for AI-search local visibility.references/local-citation-sources.md. The list is curated to the directories that move the needle (Tier 1 + vertical-specific), not the long tail.seo-technical-audit if site-wide technical-SEO issues surface in step 8 — this skill scopes to local-relevant findings, not the full audit.© seranking, 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 (references) in skills/seo-local of seranking/seo-skills.
Open the folder on GitHubat commit fd6d140
SEO Local 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 |
|---|---|---|---|---|---|---|
| SEO Local this skillseranking/seo-skills | 160 | — | ~4.9k | Automated safety check: Pass | MIT | |
| Page Play Builderaaron-he-zhu/aaron-marketing-skills | 2.9k | — | ~3.6k | Automated safety check: Pass | Apache-2.0 | |
| Localseodata Toolgarrettjsmith/localseoskills | 114 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Brightlocal Toolgarrettjsmith/localseoskills | 114 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Local Citationsgarrettjsmith/localseoskills | 114 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Whitespark Toolgarrettjsmith/localseoskills | 114 | — | ~2.6k | Automated safety check: Pass | MIT |
aaron-he-zhu/aaron-marketing-skills
A skill your agent uses when the user asks to "build programmatic SEO pages", "generate pages at scale", "rank on a high-authority third-party site", "borrow domain authority", "build a vs /…
garrettjsmith/localseoskills
When the user wants to pull local SEO data — SERP results, local pack rankings, business profile data, reviews, citations, audits, geogrid scans, keyword research, AI visibility, competitor…
garrettjsmith/localseoskills
When the user wants citation audits, citation building, review monitoring across platforms, GBP audit scoring, or white-label local SEO reports.
garrettjsmith/localseoskills
When the user wants to build citations, fix NAP inconsistencies, manage business directory listings, or audit citation presence.
garrettjsmith/localseoskills
When the user wants citation gap analysis, managed citation building, review generation campaigns, or local rank tracking.
AgriciDaniel/claude-seo
Brings the FLOW framework's stage-specific SEO prompts into the agent, from keyword discovery through backlinks, on-page work and conversion to local SEO, loaded on demand.
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…
seranking/seo-skills
SE Ranking API integration architect. An agent skill from seranking/seo-skills.
seranking/seo-skills
E-E-A-T + CITE quality audit for an EXISTING piece of content.
seranking/seo-skills
Generate a writer-ready SEO content brief from a target domain and topic.
seranking/seo-skills
Capture an SEO baseline snapshot for a domain or URL, then on later runs compare the current state and surface regressions.
seranking/seo-skills
Ad-hoc web scraping, site mapping, and full-site crawling via Firecrawl MCP.
Works with
Categories
Local SEO audit for brick-and-mortar, service-area, and multi-location businesses. SEO Local is an agent skill from seranking/seo-skills. Local SEO audit for brick-and-mortar, service-area, and multi-location businesses.
SEO Local fits situations like: the user asks local SEO; google Business Profile; multi-location SEO.
Run `npx skills add seranking/seo-skills --skill seo-local -a claude-code`. Or copy the skill folder (skills/seo-local in seranking/seo-skills) into .claude/skills/seo-local in your project. Claude Code loads it when a task matches its description.
Run `npx skills add seranking/seo-skills --skill seo-local -a codex`. Or copy the skill folder (skills/seo-local in seranking/seo-skills) into .agents/skills/seo-local 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 seranking/seo-skills --skill seo-local -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/seo-local, .gemini/skills/seo-local, .github/skills/seo-local and .opencode/skills/seo-local in your project.
Going by SKILL.md and its folder, SEO Local needs the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md names 3 domains. In commands or code: google.com and g.page; the agent is likely to contact these when it follows the instructions. As links in the text: github.com. 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.
SEO Local 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.9k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with SEO Local: Page Play Builder (aaron-he-zhu/aaron-marketing-skills, 2.9k stars), Localseodata Tool (garrettjsmith/localseoskills, 114 stars), Brightlocal Tool (garrettjsmith/localseoskills, 114 stars) and Local Citations (garrettjsmith/localseoskills, 114 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
seranking (a GitHub organization) maintains it in seranking/seo-skills, which has 160 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on June 25, 2026.
Source: seranking/seo-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.