agentleFS
6t9xstar6t9xstar/one-step-seo/skills/local-seo/SKILL.md

local-seo

Skill5 starsChanged 37 days agoMITView on GitHub

Audit and optimize local business pages with LocalBusiness Schema.org JSON-LD, Name-Address-Phone (NAP) entity consistency, opening hours, geo-coordinates, and regional landing page hygiene.

21 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use seo-project-setup, link-prospecting and 8 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • JwuthriSkill

    seo-project-setup

    Set up a durable local SEO workspace with project context, notes, goals, positioning, preferences, MCP checks, and Search Console data intake.

    Also in 5 projects that use this

  • JwuthriSkill

    link-prospecting

    Find link prospects, discover contact paths, and draft outreach from SERPs and backlink signals.

    Also in 5 projects that use this

  • akii-technologies-ltdSkill

    keyword-clustering

    Cluster and organize keywords into topical groups for SEO. Use when the user asks to "cluster keywords", "group keywords", "organize keywords", "keyword mapping", "topic clusters", "keyword grouping", "build a content plan", "pillar pages", "topical authority", "semantic clustering", or pastes a list of keywords.

    Also in 6 projects that use this

  • MicrosoftSkill

    competitive-landscape

    Use when a branch manager asks something like \"Who are we up against in each metro\"

    Also in 5 projects that use this

  • deeployCOSkill

    youtube-seo

    Advanced YouTube SEO analysis and optimization for channels and videos. Routes to specialized sub-skills for audits, single-video deep dives, metadata optimization, channel branding, keyword research, thumbnails, and competitor intel. Models YouTube's modern recommender (session watch time / Reinforce / persona matching) not just keyword match. Use when user says "YouTube SEO", "optimize my video", "rank my YouTube video", "YouTube channel audit", "YouTube keywords", or provides a YouTube URL.

    Also in 3 projects that use this

  • 01claudingSkill

    seo-report

    SEO reporting and analytics dashboard generation. Creates weekly digests, monthly performance reports, quarterly strategy reviews, and real-time dashboard templates. Use when user says "SEO report", "weekly digest", "monthly report", "dashboard", "SEO metrics", "performance summary".

    Also in 3 projects that use this

  • +1 more from Jwuthri

The file

We split this skill into the rules it gives an agent

7 rules. 0 are common, 1 is distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 19 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run npx one-step-seo schema <url> --generate localbusiness to inspect existing JSON-LD and generate a starter LocalBusiness node grounded …

    line 26
  2. Very specific:

    Ensure valid JSON-LD exists (S01-none P1, S01-json-invalid P1) using @type: "LocalBusiness" or the most specific Schema.org subtype …

    line 28
  3. Very specific:

    Check report.page.title (30–60 chars) and report.page.metaDescription (120–155 chars) include the primary service and city/neighborhood …

    line 31
  4. Very specific:

    Ensure og:title matches <title> (G04-entity P3) so AI assistants attribute hours, address, and phone numbers to the right branch.

    line 32
  5. Very specific:

    Verify every field in recommended LocalBusiness JSON-LD (telephone, streetAddress, postalCode, openingHours) matches visible text on the …

    line 52
  6. Very specific:

    Zero fabricated business data: Never invent phone numbers, street addresses, geo-coordinates, price ranges, or aggregate customer ratings …

    line 67
  7. Distinctive:

    Never generate doorway city pages with spun duplicate text.

    line 68

“Common” is measured: kept by at least 6 in 10 of the 19 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

local-seo — Local Business SEO & Entity Signals

1. Description & Activation Criteria

Activate local-seo when the user wants to:

  • Optimize brick-and-mortar stores, clinics, restaurants, agencies, or service-area businesses for local search pack and AI map/location answers.
  • Generate or validate LocalBusiness (and subtypes like Restaurant, Store, MedicalClinic, LegalService, FinancialService) JSON-LD structured data (S02-localbusiness P2, S01-none P1, S01-json-invalid P1).
  • Align visible Name, Address, and Phone (NAP) facts with <title>, metaDescription, og:title (G04-entity P3), and structured data.

2. Inputs & Prerequisites

  • Target: Storefront homepage, location landing page (/locations/austin), or local HTML build file.
  • Required business facts (from the page or user — never fabricated):
    • Official business name, physical PostalAddress (streetAddress, addressLocality, addressRegion, postalCode, addressCountry), telephone, canonical url, and optional openingHoursSpecification / geo.

3. Step-by-Step Workflow

  1. Run a local-SEO audit & schema inspection:
    • Execute npx one-step-seo page <url> --skills local-seo --out ./seo-report.
    • Run npx one-step-seo schema <url> --generate localbusiness to inspect existing JSON-LD and generate a starter LocalBusiness node grounded in the page's real title and URL.
  2. Validate LocalBusiness JSON-LD (S01-none, S01-json-invalid, S02-localbusiness):
    • Ensure valid JSON-LD exists (S01-none P1, S01-json-invalid P1) using @type: "LocalBusiness" or the most specific Schema.org subtype (Restaurant, Dentist, AutoRepair, ProfessionalService, etc.).
    • Populate name, url, telephone, address (@type: "PostalAddress"), geo (@type: "GeoCoordinates"), image, and openingHoursSpecification matching visible text on the page.
  3. Align location metadata & entity titles (O01-title-missing, O02-meta-missing, G04-entity):
    • Check report.page.title (30–60 chars) and report.page.metaDescription (120–155 chars) include the primary service and city/neighborhood naturally.
    • Ensure og:title matches <title> (G04-entity P3) so AI assistants attribute hours, address, and phone numbers to the right branch.
  4. Surface machine-extractable local facts (G03-facts, C03-extractable):
    • Present address, phone number, service areas, and business hours in clean semantic HTML (<address>, <table> with <th> headers, or structured <dl>/<ul> lists) rather than locking them inside images or canvas maps.

4. Tools & CLI Commands

# Audit a location page with the local-seo skill filter
npx one-step-seo page https://example.com/locations/chicago --skills local-seo --out ./seo-report

# Validate schema and generate a starter LocalBusiness JSON-LD snippet
npx one-step-seo schema https://example.com/locations/chicago --generate localbusiness

# Multi-location crawl to detect duplicate titles across city pages
npx one-step-seo audit https://example.com/locations --pages 25 --skills local-seo,duplicate-content --out ./seo-report

5. Evidence Requirements

  • Cite report.page.title, report.page.metaDescription, report.page.canonical, and all S01-*, S02-*, and G04-entity findings from report.findings.
  • Verify every field in recommended LocalBusiness JSON-LD (telephone, streetAddress, postalCode, openingHours) matches visible text on the audited page.

6. Expected Outputs

  1. Local Entity & NAP Audit: Status of <title>, metaDescription, <html lang>, entity consistency, and JSON-LD schema.
  2. Validated LocalBusiness JSON-LD: Copy-paste <script type="application/ld+json"> block using the most specific Schema.org subtype and visible NAP details.
  3. Multi-Location Differentiation Plan (when auditing multiple branch pages): Unique title/H1/description recommendations per location.

7. Limitations & External Data

  • Automated CLI checks: HTML metadata, entity title consistency, extractable fact structures, and Schema.org LocalBusiness JSON-LD validation.
  • External data (off-page): Google Business Profile (GBP) verification status, third-party directory citations (Yelp, Apple Maps, Bing Places), and live map pack rankings cannot be queried from HTML alone and require external GBP/citation tools.

8. Safety & Approval Rules

  • Zero fabricated business data: Never invent phone numbers, street addresses, geo-coordinates, price ranges, or aggregate customer ratings (AggregateRating). Use [TODO: insert verified phone/address] placeholders whenever a field is not present on the page or provided by the user.
  • Never generate doorway city pages with spun duplicate text; every location page must represent a genuine branch or distinct service area.

9. Examples

# Offline audit of local storefront landing pages
npx one-step-seo audit ./dist/locations --pages 10 --skills local-seo --offline --out ./seo-report

# Inspect the local-seo skill rules
npx one-step-seo skills local-seo

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.