Agent skill

SEO Local Business

by jezweb in jezweb/claude-skills

Generate complete SEO setup for local business websites — HTML head tags, JSON-LD LocalBusiness schema, robots.txt, sitemap.xml.

MITAuto-check passedMarketing & SEO

Install SEO Local Business

skills CLI
$ npx skills add jezweb/claude-skills --skill seo-local-business -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jezweb/claude-skills seo-local-business --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jezweb/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/web-design/skills/seo-local-business .claude/skills/seo-local-business && rm -rf skills-src

Use ~/.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/

Facts

Skill name
seo-local-business
GitHub stars
1.1k
Token cost
~2.5k tokens
SKILL.md length
538 words
Files
4 (incl. assets)
Skills in repo
52
Repo updated
First seen
Licence
MIT

At a glance

Generate complete SEO setup for local business websites — HTML head tags, JSON-LD LocalBusiness schema, robots.txt, sitemap.xml.

  • Works in 5 steps: Gather Business Info → Generate Head Tags → Generate Structured Data → …
  • The user wants SEO for a local business (tradesman
  • SKILL.md covers What You Produce, Workflow and Australian-Specific Patterns
  • Reaches schema.org and abcplumbing.com.au

What it does

SEO Local Business is an agent skill from jezweb/claude-skills. Generate complete SEO setup for local business websites — HTML head tags, JSON-LD LocalBusiness schema, robots.txt, sitemap.xml. Australian-optimised with +61 phone, ABN, suburb patterns. Use whenever the user wants SEO for a local business (tradesman, café, clinic, agency, retailer), needs JSON-LD structured data, asks for LocalBusiness schema, or wants meta tags / robots.txt / sitemap for a suburb-serving business.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including assets.

It sits in Marketing & SEO, covering Schema markup, Technical SEO and On-page SEO. The repository describes itself as: Skills for Claude Code CLI such as full stack dev Cloudflare, React, Tailwind v4, and AI integrations. The licence is MIT.

When your agent uses it

  • The user wants SEO for a local business (tradesman
  • Needs JSON-LD structured data
  • Asks for LocalBusiness schema
  • Wants meta tags / robots.txt / sitemap for a suburb-serving business

Example prompts

  • “/seo-local-business”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Gather Business Info
  2. Generate Head Tags
  3. Generate Structured Data
  4. Generate robots.txt and sitemap.xml
  5. Validate

What it can do on your machine

Read from SKILL.md and the folder at commit 1260fa7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are json, html and xml).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • schema.org
    • abcplumbing.com.au
    • facebook.com
    • instagram.com
    • sitemaps.org

    Also links to:

    • validator.schema.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

SEO Local Business loads about 2.5k tokens when it runs. Until then it costs about 110 tokens; SKILL.md has 538 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~110
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from jezweb/claude-skills at commit 1260fa7, republished under its MIT licence (© jezweb). 538 words, ~2,537 tokens.

Download SKILL.mdSave it as .claude/skills/seo-local-business/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
seo-local-business
description
Generate complete SEO setup for local business websites — HTML head tags, JSON-LD LocalBusiness schema, robots.txt, sitemap.xml. Australian-optimised with +61 phone, ABN, suburb patterns. Use whenever the user wants SEO for a local business (tradesman, café, clinic, agency, retailer), needs JSON-LD structured data, asks for LocalBusiness schema, or wants meta tags / robots.txt / sitemap for a suburb-serving business.

SEO Local Business

Generate a complete SEO package for local business websites. Produces meta tags, structured data, robots.txt, and sitemap.xml.

What You Produce

  1. Complete <head> section with meta tags, Open Graph, Twitter Cards
  2. JSON-LD structured data (LocalBusiness + Service + FAQ schemas)
  3. robots.txt
  4. sitemap.xml

Workflow

Step 1: Gather Business Info

Ask for (or extract from existing site):

RequiredOptional
Business nameABN
Primary serviceOpening hours
Location (city/suburb)Social media URLs
Phone numberPrice range
Website URLService areas (suburbs)
Business descriptionGPS coordinates
Step 2: Generate Head Tags

Fill placeholders in this template:

html
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- Primary Meta Tags -->
  <title>{{PAGE_TITLE}} | {{BUSINESS_NAME}}</title>
  <meta name="title" content="{{PAGE_TITLE}} | {{BUSINESS_NAME}}">
  <meta name="description" content="{{META_DESCRIPTION}}">

  <!-- Canonical URL -->
  <link rel="canonical" href="{{CANONICAL_URL}}">

  <!-- Open Graph / Facebook -->
  <meta property="og:type" content="website">
  <meta property="og:url" content="{{CANONICAL_URL}}">
  <meta property="og:title" content="{{PAGE_TITLE}} | {{BUSINESS_NAME}}">
  <meta property="og:description" content="{{META_DESCRIPTION}}">
  <meta property="og:image" content="{{OG_IMAGE_URL}}">

  <!-- Twitter -->
  <meta property="twitter:card" content="summary_large_image">
  <meta property="twitter:url" content="{{CANONICAL_URL}}">
  <meta property="twitter:title" content="{{PAGE_TITLE}} | {{BUSINESS_NAME}}">
  <meta property="twitter:description" content="{{META_DESCRIPTION}}">
  <meta property="twitter:image" content="{{OG_IMAGE_URL}}">

  <!-- Geo Tags (Local SEO) -->
  <meta name="geo.region" content="{{GEO_REGION}}">
  <meta name="geo.placename" content="{{CITY}}">
  <meta name="geo.position" content="{{LATITUDE}};{{LONGITUDE}}">
  <meta name="ICBM" content="{{LATITUDE}}, {{LONGITUDE}}">

  <!-- Favicons -->
  <link rel="icon" type="image/svg+xml" href="favicon.svg">
  <link rel="icon" type="image/png" sizes="32x32" href="favicon-32.png">
  <link rel="apple-touch-icon" href="apple-touch-icon.png">

  <!-- Structured Data -->
  <script type="application/ld+json">
    {{JSON_LD_SCHEMA}}
  </script>
</head>

Title tag patterns (50-60 chars max):

PagePatternExample
HomepageBrand - TaglineNewcastle Plumbing - 24/7 Emergency Service
ServiceService in Location | BrandHot Water Repairs Newcastle | ABC Plumbing
AboutAbout Us | BrandAbout Us | ABC Plumbing Newcastle
ContactContact | BrandContact Us | ABC Plumbing Newcastle

Meta description patterns (150-160 chars):

PagePattern
Homepage[USP]. [Service] in [Location]. [CTA]. Call [phone].
ServiceProfessional [service] in [location]. [Benefit]. [Trust signal]. Get a free quote today.
About[X] years serving [location]. [Team info]. [Credentials]. Learn about [brand].
ContactContact [brand] for [service] in [location]. [Hours]. Call [phone] or request a quote online.
Step 3: Generate Structured Data

LocalBusiness (homepage — always include):

Use LocalBusiness or a more specific subtype:

SubtypeUse for
PlumberPlumbing services
ElectricianElectrical services
RoofingContractorRoofing
HVACBusinessAir conditioning/heating
AutoRepairMechanics
BeautySalonHair/beauty
DentistDental practices
LegalServiceLaw firms
AccountingServiceAccountants
RealEstateAgentReal estate
RestaurantRestaurants/cafes
BarOrPubPubs/bars
HotelAccommodation
StoreRetail shops
ProfessionalServiceGeneric professional

LocalBusiness schema properties:

PropertyRequiredNotes
@typeYesLocalBusiness or subtype from above
nameYesBusiness name as shown to customers
imageYesPrimary business image or logo
descriptionYes1-2 sentence business description
@idYesUnique ID, use {url}/#organization
urlYesWebsite homepage URL
telephoneYesInternational format: +61-2-4900-1234
addressYesPostalAddress (see below)
emailRecommendedPrimary contact email
priceRangeRecommended$ to $$$$
geoRecommendedGeoCoordinates: latitude/longitude
openingHoursSpecificationRecommendedSee hours format below
areaServedRecommendedCities/suburbs served
sameAsRecommendedSocial media profile URLs
taxIDOptionalABN for Australian businesses
logoOptionalBusiness logo URL
foundingDateOptionalISO 8601 date
paymentAcceptedOptionale.g. "Cash, Credit Card, EFTPOS"
currenciesAcceptedOptionalAUD
Show full SKILL.md (177 more words)Show less

PostalAddress:

PropertyExample
streetAddress123 Hunter Street
addressLocalityNewcastle
addressRegionNSW
postalCode2300
addressCountryAU

Example:

json
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "ABC Plumbing Newcastle",
  "image": "https://www.abcplumbing.com.au/og-image.jpg",
  "description": "Professional plumbing services in Newcastle and Lake Macquarie.",
  "@id": "https://www.abcplumbing.com.au/#organization",
  "url": "https://www.abcplumbing.com.au",
  "telephone": "+61-2-4900-1234",
  "email": "info@abcplumbing.com.au",
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Hunter Street",
    "addressLocality": "Newcastle",
    "addressRegion": "NSW",
    "postalCode": "2300",
    "addressCountry": "AU"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": -32.9283,
    "longitude": 151.7817
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "07:00",
      "closes": "17:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Saturday"],
      "opens": "08:00",
      "closes": "12:00"
    }
  ],
  "areaServed": [
    { "@type": "City", "name": "Newcastle" },
    { "@type": "City", "name": "Lake Macquarie" }
  ],
  "sameAs": [
    "https://www.facebook.com/abcplumbing",
    "https://www.instagram.com/abcplumbing"
  ]
}

Service (service pages — add per service):

PropertyRequiredNotes
nameYesService name
descriptionYesWhat the service provides
providerYes{ "@id": "{url}/#organization" }
areaServedRecommendedCity or region
serviceTypeRecommendedCategory of service
offersOptionalPricing/availability
json
{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "Hot Water System Installation",
  "description": "Professional hot water system installation and replacement in Newcastle.",
  "provider": { "@id": "https://www.abcplumbing.com.au/#organization" },
  "areaServed": { "@type": "City", "name": "Newcastle" },
  "serviceType": "Plumbing",
  "offers": {
    "@type": "Offer",
    "availability": "https://schema.org/InStock",
    "priceRange": "$$"
  }
}

FAQ (pages with FAQ sections):

json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How much does a plumber cost in Newcastle?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Plumber callout fees in Newcastle typically range from $80-150."
      }
    }
  ]
}
Step 4: Generate robots.txt and sitemap.xml

robots.txt:

User-agent: *
Allow: /

Sitemap: {{SITE_URL}}/sitemap.xml

sitemap.xml:

xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>{{SITE_URL}}/</loc>
    <lastmod>{{DATE}}</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <!-- Add one <url> per page. Priority: 1.0 homepage, 0.8 services, 0.6 others -->
</urlset>
Step 5: Validate

Test structured data at: https://validator.schema.org/

Common validation errors:

  • Missing @context — every JSON-LD block needs it
  • Wrong phone format — must be international (+61-...)
  • Missing @id — needed for cross-referencing between schemas
  • Empty areaServed — include at least one city

Australian-Specific Patterns

Phone Numbers
html
<!-- Link: international format. Display: local format. -->
<a href="tel:+61249001234">(02) 4900 1234</a>

Schema telephone: "+61-2-4900-1234"

PrefixInternational
02+612
04+614
1300Keep as-is
ABN

Add to LocalBusiness schema when available:

json
{ "taxID": "12 345 678 901" }
Australian State Codes
StateCodeGeo Region
New South WalesNSWAU-NSW
VictoriaVICAU-VIC
QueenslandQLDAU-QLD
South AustraliaSAAU-SA
Western AustraliaWAAU-WA
TasmaniaTASAU-TAS
Northern TerritoryNTAU-NT
ACTACTAU-ACT
Service Areas

Use areaServed with Australian city and suburb names (see LocalBusiness example above).

© jezweb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (assets) in plugins/web-design/skills/seo-local-business of jezweb/claude-skills.

  • SKILL.md
  • assets/head-template.html
  • assets/robots-template.txt
  • assets/sitemap-template.xml

Open the folder on GitHubat commit 1260fa7

Compare with similar skills

SEO Local Business 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.

SEO Local Business compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
SEO Local Business this skilljezweb/claude-skills1.1k—~2.5kAutomated safety check: PassMIT
SEO Optimizerailabs-393/ai-labs-claude-skills4551 repos~3.2kAutomated safety check: PassMIT
SEOever-works/ever-works16210 repos~2.9kAutomated safety check: PassMIT
Universal SEO AnalysisAgriciDaniel/claude-seo19k—~4.9kAutomated safety check: PassMIT
Google Search SEO Guidelittleben/awesomeAgentskills1892 repos~4.2kAutomated safety check: PassMIT
Persian SEOTronIsHere/vibefarsiui212—~1.7kAutomated safety check: WarnMIT

Similar skills

  • SEO Optimizer

    ailabs-393/ai-labs-claude-skills

    This skill should be used when analyzing HTML/CSS websites for SEO optimization, fixing SEO issues, generating SEO reports, or implementing SEO best practices.

    455 GitHub starsUsed in 1 repo~3.2k tokens
    Marketing & SEOAuto-check passed
  • SEO

    ever-works/ever-works

    Optimize for search engine visibility and ranking. An agent skill from ever-works/ever-works.

    162 GitHub starsUsed in 10 repos~2.9k tokens
    Marketing & SEOAuto-check passed
  • Universal SEO Analysis

    AgriciDaniel/claude-seo

    Hub for site-wide SEO work: audits, technical checks, schema, content quality, local, hreflang and AI-search readiness, run through slash commands.

    19k GitHub stars~4.9k tokensUpdated 6 days ago
    Marketing & SEOAuto-check passed
  • Google Search SEO Guide

    littleben/awesomeAgentskills

    Answers Google Search optimization questions from reference files covering crawling, indexing, structured data, Search Console and site visibility, drawn from Google's documentation.

    189 GitHub starsUsed in 2 repos~4.2k tokens
    Marketing & SEOAuto-check passed
  • Persian SEO

    TronIsHere/vibefarsiui

    Technical and on-page SEO for Persian (Farsi) websites: lang and hreflang for fa-IR, RTL-safe metadata, Persian titles and descriptions, slug and URL strategy for Persian content, ZWNJ and keyword…

    212 GitHub stars~1.7k tokensUpdated yesterday
    Marketing & SEOAuto-check: warnings
  • Generative Engine Optimization

    tech-leads-club/agent-skills

    Makes a page or site easier for AI answer engines to find, understand, trust and quote, using metadata, structured data, an llms.txt file and clear page structure.

    7k GitHub stars~2.5k tokensUpdated 2 days ago
    Marketing & SEOAuto-check passed

More from jezweb/claude-skills

All 52 skills in this repo
  • Favicon Gen

    jezweb/claude-skills

    Generate custom favicons from logos, text, or brand colours.

    1.1k GitHub starsUsed in 1 repo~1k tokens
    Auto-check passed
  • Tailwind Theme Builder

    jezweb/claude-skills

    Set up Tailwind v4 + shadcn/ui themed UI with dark mode. An agent skill from jezweb/claude-skills.

    1.1k GitHub starsUsed in 1 repo~3.2k tokens
    Auto-check passed
  • Elevenlabs Agents

    jezweb/claude-skills

    Build conversational AI voice agents on the ElevenLabs platform.

    1.1k GitHub stars~3.3k tokensUpdated 2 days ago
    Auto-check passed
  • Responsiveness Check

    jezweb/claude-skills

    Test website responsiveness across viewport widths using browser automation.

    1.1k GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed
  • MCP Builder

    jezweb/claude-skills

    Build MCP servers in Python with FastMCP. An agent skill from jezweb/claude-skills.

    1.1k GitHub stars~3.1k tokensUpdated 2 days ago
    Auto-check: notes
  • GitHub Release

    jezweb/claude-skills

    Prepare and publish GitHub releases. An agent skill from jezweb/claude-skills.

    1.1k GitHub stars~944 tokensUpdated 2 days ago
    Auto-check: notes

Categories

Questions about SEO Local Business

What does SEO Local Business do?

Generate complete SEO setup for local business websites — HTML head tags, JSON-LD LocalBusiness schema, robots.txt, sitemap.xml. SEO Local Business is an agent skill from jezweb/claude-skills.xml.

When should I use SEO Local Business?

SEO Local Business fits situations like: the user wants SEO for a local business (tradesman; needs JSON-LD structured data; asks for LocalBusiness schema; wants meta tags / robots.txt / sitemap for a suburb-serving business.

How do I install SEO Local Business in Claude Code?

Run `npx skills add jezweb/claude-skills --skill seo-local-business -a claude-code`. Or copy the skill folder (plugins/web-design/skills/seo-local-business in jezweb/claude-skills) into .claude/skills/seo-local-business in your project. Claude Code loads it when a task matches its description.

How do I install SEO Local Business in Codex?

Run `npx skills add jezweb/claude-skills --skill seo-local-business -a codex`. Or copy the skill folder (plugins/web-design/skills/seo-local-business in jezweb/claude-skills) into .agents/skills/seo-local-business in your project. Codex loads it when a task matches its description.

Can I use SEO Local Business in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jezweb/claude-skills --skill seo-local-business -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-business, .gemini/skills/seo-local-business, .github/skills/seo-local-business and .opencode/skills/seo-local-business in your project.

What does SEO Local Business need to run?

SKILL.md names no scripts, command-line tools or credentials: SEO Local Business is instructions for the agent only.

Does SEO Local Business access the network?

SKILL.md names 6 domains. In commands or code: schema.org, abcplumbing.com.au, facebook.com, instagram.com and sitemaps.org; the agent is likely to contact these when it follows the instructions. As links in the text: validator.schema.org. This is read from the text; nothing was executed.

Is SEO Local Business safe to install?

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.

What licence does SEO Local Business use?

SEO Local Business is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does SEO Local Business use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to SEO Local Business?

Skills that share tags, products or a category with SEO Local Business: SEO Optimizer (ailabs-393/ai-labs-claude-skills, 455 stars), SEO (ever-works/ever-works, 162 stars), Universal SEO Analysis (AgriciDaniel/claude-seo, 19k stars) and Google Search SEO Guide (littleben/awesomeAgentskills, 189 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains SEO Local Business?

jezweb (a GitHub user) maintains it in jezweb/claude-skills, which has 1,055 GitHub stars. The repository holds 52 skills in this directory. The repository was last updated on October 9, 2026.

Source: jezweb/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.