Agent skill

Service Area Rank Audit

by unifapi-agent in unifapi-agent/agents

When a home-services business (HVAC, plumbing, roofing, electrical, or general contractor) wants to know where it ranks in Google's local pack for its services across every city and ZIP it serves.

MITAuto-check passedMarketing & SEO

Install Service Area Rank Audit

skills CLI
$ npx skills add unifapi-agent/agents --skill service-area-rank-audit -a claude-code

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

GitHub CLI
$ gh skill install unifapi-agent/agents service-area-rank-audit --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/unifapi-agent/agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/home-services-marketing/service-area-rank-audit .claude/skills/service-area-rank-audit && 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
service-area-rank-audit
GitHub stars
589
Token cost
~2.3k tokens
SKILL.md length
1,049 words
Files
2
Skills in repo
47
Repo updated
First seen
Licence
MIT

At a glance

When a home-services business (HVAC, plumbing, roofing, electrical, or general contractor) wants to know where it ranks in Google's local pack for its services across every city and ZIP it serves.

  • Works in 5 steps: Build the query grid. Cross the trade's… → Loop the audit per area, from inside the… → Benchmark the holders. For the… → …
  • Tasks that involve Local SEO
  • SKILL.md covers Use UnifAPI for live evidence, Workflow, Scoring rubric and Output: service-area rank grid…, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Service Area Rank Audit is an agent skill from unifapi-agent/agents. When a home-services business (HVAC, plumbing, roofing, electrical, or general contractor) wants to know where it ranks in Google's local pack for its services across every city and ZIP it serves. Also use on "service area ranking," "am I in the map pack for [city]," "ac repair [city] ranking," "which service areas are weak," "near me ranking by location," "multi-area local SEO," or "why aren't we showing up in the next town over." Reads public map and SERP data only — read-only research.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `README.md`).

It sits in Marketing & SEO, covering Local SEO. The repository describes itself as: Open-source marketing agents for Claude, ChatGPT, Codex, OpenClaw & Hermes. One plugin: SEO audits, GEO / AI-visibility, local SEO, KOL pricing, social listening & competitive… The licence is MIT.

When your agent uses it

  • Tasks that involve Local SEO

Example prompts

  • “service area ranking,”
  • “am I in the map pack for [city],”
  • “ac repair [city] ranking,”
  • “/service-area-rank-audit”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Build the query grid. Cross the trade's core services ("ac repair", "furnace replacement", "drain cleaning", "roof repair") with every…
  2. Loop the audit per area, from inside the area. For each service area, set the location param on local/search + maps/search to that area's…
  3. Benchmark the holders. For the competitors ranking in each weak area, read rating, review_count, and category from the listing to see what…
  4. Score and tier the areas with the rubric below — classify each area strong / contested / weak, weighted by how core the services are and…
  5. Point at the fix surface. For each weak/contested area attribute the gap (proximity-bound, prominence, or relevance) and name the holding…

What it can do on your machine

Read from SKILL.md and the folder at commit fb53247. 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 markdown).

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

  • Network

    No URLs in SKILL.md.

    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

Service Area Rank Audit loads about 2.3k tokens when it runs. Until then it costs about 129 tokens; SKILL.md has 1,049 words of instructions outside code blocks.

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

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 unifapi-agent/agents at commit fb53247, republished under its MIT licence (© unifapi-agent). 1,049 words, ~2,335 tokens.

Download SKILL.mdSave it as .claude/skills/service-area-rank-audit/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
service-area-rank-audit
description
When a home-services business (HVAC, plumbing, roofing, electrical, or general contractor) wants to know where it ranks in Google's local pack for its services across every city and ZIP it serves. Also use on "service area ranking," "am I in the map pack for [city]," "ac repair [city] ranking," "which service areas are weak," "near me ranking by location," "multi-area local SEO," or "why aren't we showing up in the next town over." Reads public map and SERP data only — read-only research.
license
MIT
metadata.author
UnifAPI
metadata.version
1.0.0

Service Area Rank Audit

You are a local-search analyst for the trades. Home-services businesses live or die by the local pack — the 3-business map block that catches almost every "ac repair near me" or "emergency plumber [city]" click. But a contractor rarely serves one city; it serves a ring of towns and ZIPs, and local rank is computed per location. A business can dominate its home city and be invisible two towns over. This skill audits local-pack rank for the trade's service × location queries across every service area, benchmarks against the competitors that show up there, and tiers each area strong / contested / weak.

This is an enhanced skill: it reads live public data through UnifAPI.

Use UnifAPI for live evidence

A service-area rank can only be measured from inside that area — the pack re-ranks by proximity to the searcher, so the search point matters as much as the query text. Use the unifapi skill to connect (OAuth MCP), then call:

  • Local-pack positions per area — local/search, maps/search — for each service × area query, the businesses holding the 3-pack and their position. Each listing carries name, place_id, rating, review_count, category, address. Loop the location param across every city / ZIP / neighborhood the business claims — search FROM inside each service area; proximity re-ranks the pack, so the same query from a different point returns a different pack. Match the business on place_id, not name.
  • Blended local SERP — seo/serp — the organic results and SERP features around each query, so you can see what else is winning the click and whether the business ranks organically when it's absent from the pack (an eligibility gap, not invisibility).
  • Pack holder's local page — seo/competitors/relevant-pages — for a competitor holding the pack in a weak area, its top organic pages reveal the local landing page (city/service page) doing the relevance work behind its slot — the lever the operator can match.

UnifAPI reads public data only — it never touches the business's Google Business Profile. Keep any billing metadata so the report can state record cost.

Workflow

  1. Build the query grid. Cross the trade's core services ("ac repair", "furnace replacement", "drain cleaning", "roof repair") with every service area (city or ZIP) the business legitimately serves. Each service × area is one query. 4–8 services × the real service ring is a workable audit. (Read .agents/product-marketing.md / .claude/product-marketing.md first if it exists.)
  2. Loop the audit per area, from inside the area. For each service area, set the location param on local/search + maps/search to that area's centroid/ZIP and pull the live pack for each service query. Record the business's rank (in-pack 1–3, extended 4–10, below-pack-but-organic via seo/serp, or absent) and which competitors hold the pack. Stamp every cell with search point + date.
  3. Benchmark the holders. For the competitors ranking in each weak area, read rating, review_count, and category from the listing to see what prominence or relevance gap explains the loss, and pull seo/competitors/relevant-pages on a pack holder to see the local page behind its slot.
  4. Score and tier the areas with the rubric below — classify each area strong / contested / weak, weighted by how core the services are and how winnable the area looks.
  5. Point at the fix surface. For each weak/contested area attribute the gap (proximity-bound, prominence, or relevance) and name the holding competitor and the review gap — without prescribing tactics the operator's team must execute.

Scoring rubric

Score each service × area cell, then roll up to an area verdict.

Cell state (search point inside the area)Cell score
In pack 15
In pack 2–34
Extended pack 4–102
Below pack but ranks organically1
Absent entirely0

Weight each service 1–3 (3 = core revenue service). Area Strength = Σ(cell_score × service_weight) / Σ(5 × service_weight) → a 0–1 share of the achievable rank in that area.

Area StrengthVerdict
≥ 0.70Strong — in-pack on most core services
0.30–0.69Contested — mixed / below-pack
< 0.30Weak — absent on core services

Then rank weak/contested areas by Opportunity = (1 − Area Strength) × area_value, where area_value is the operator's sense of that area's revenue potential (1–3). This stops the audit from sending the team to a weak area nobody buys from and toward a contested area full of high-ticket jobs. Gap attribution per weak area follows the proximity / prominence / relevance checklist from the local-pack methodology (see Related Skills).

Show full SKILL.md (344 more words)Show less

Output: service-area rank grid + tiers

markdown
# Service Area Rank Audit — <business> — <date>

Search params: areas/search points <…> · language <…>

## Rank grid (one block per area)

| Area: Round Rock (ZIP 78664) | ac repair (w3) | furnace repl (w3) | drain cleaning (w2) | Area Strength | Verdict |
| ---------------------------- | -------------- | ----------------- | ------------------- | ------------- | ------- |
| Business rank                | absent (0)     | pack 3 (4)        | below/organic (1)   | 0.28          | Weak    |
| Pack holder (reviews)        | Cool Co (480)  | Cool Co (480)     | DrainPro (210)      | —             | —       |

## Area tiers + per-area fix surface

- Each area tiered strong / contested / weak with its Area Strength; core-service losses called out.
- Per weak/contested area: competitors holding the pack, the review/rating gap, the attributed cause (proximity / prominence / relevance), the pack holder's local page from `seo/competitors/relevant-pages`, and Opportunity rank.
- Every rank and number cited to the live map/SERP record it came from.
- Record cost consumed (or best estimate if billing metadata is unavailable).
Worked example (abbreviated)

An HVAC + plumbing contractor in Austin serving 5 towns. From inside Austin it's pack 1 on most services (Strength 0.9, Strong). From inside Round Rock (78664) via local/search with that ZIP as the search point, "ac repair" returns the business absent, "furnace replacement" pack 3, "drain cleaning" organic-only on seo/serp → Strength 0.28, Weak. The pack holder there (Cool Co) has 480 reviews vs the business's 130, an exact "Air conditioning repair service" primary category, and a Round-Rock-specific service page per seo/competitors/relevant-pages → gap attributed mostly to prominence, partly relevance. Area value of Round Rock = 3 (big, affluent) → Opportunity = (1 − 0.28) × 3 = 2.2, the top fix target — above a genuinely weak but low-value rural ZIP. The brief points the team at Round Rock review velocity, a local service page, and category accuracy; it never runs ads or edits the listing.

Guardrails

  • Marketing research only, and read-only ("eyes, not hands"). It audits and benchmarks public rank; it never runs ads, manages or edits Google Business Profile / listings, posts reviews, or changes anything on the business's behalf.
  • Service-area claims must be legitimate — the audit reports where the business ranks, not where it should declare an area it doesn't truly serve. Never recommend address manipulation or fake locations; the pack penalizes it and it violates platform rules.
  • Confirmed vs inferred. The operator's own team acts on the findings, within platform rules (no fake reviews, no listing manipulation). Label positions read off the pack as confirmed and proximity/prominence/relevance attribution as inferred.
  • Dated snapshots. Positions are personalized, proximity-driven, and dated — every cell is stamped with its search point and treated as a snapshot, not a trend. Present ranges, not false precision; one pull is never a trajectory.
  • homeowner-question-content (Home Services Marketing): the content side — mine the questions homeowners ask in these same service areas, then localize content to the weak ones.
  • local-pack-audit (Local SEO): the general-purpose multi-location local-pack audit and proximity/prominence/relevance attribution checklist this trade-specific loop is built on.
  • unifapi: the shared data skill — connect MCP and discover the operations above.

© unifapi-agent, 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 1 other file in skills/home-services-marketing/service-area-rank-audit of unifapi-agent/agents.

  • SKILL.md
  • README.md

Open the folder on GitHubat commit fb53247

Compare with similar skills

Service Area Rank Audit 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.

Service Area Rank Audit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Service Area Rank Audit this skillunifapi-agent/agents589—~2.3kAutomated safety check: PassMIT
FLOW SEO FrameworkAgriciDaniel/claude-seo19k2 repos~1.4kAutomated safety check: PassMIT
Google Mapscablate/mcp-google-map469—~909Automated safety check: PassMIT
Google Maps Local SEOcablate/mcp-google-map469—~633Automated safety check: PassMIT
Google Maps Travel Planningcablate/mcp-google-map469—~710Automated safety check: PassMIT
Universal SEO AnalysisAgriciDaniel/claude-seo19k—~4.9kAutomated safety check: PassMIT

Similar skills

  • FLOW SEO Framework

    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.

    19k GitHub starsUsed in 2 repos~1.4k tokens
    Marketing & SEOAuto-check passed
  • Google Maps

    cablate/mcp-google-map

    Search places, resolve addresses, compare routes, inspect neighborhoods, and retrieve geographic or environmental facts through the standalone @cablate/mcp-google-map CLI.

    469 GitHub stars~909 tokensUpdated 14 days ago
    Marketing & SEOAuto-check passed
  • Google Maps Local SEO

    cablate/mcp-google-map

    Analyze Google Business Profile visibility, geographic grid rankings, local search keywords, and nearby competitors through the standalone Google Maps CLI.

    469 GitHub stars~633 tokensUpdated 14 days ago
    Marketing & SEOAuto-check passed
  • Google Maps Travel Planning

    cablate/mcp-google-map

    Build evidence-backed day trips, multi-day itineraries, and efficient stop sequences with Google Maps data through the standalone CLI.

    469 GitHub stars~710 tokensUpdated 14 days ago
    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
  • SEO Project Setup

    petera2c/simple-table

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

    229 GitHub starsUsed in 1 repo~1.5k tokens
    Marketing & SEOAuto-check passed

More from unifapi-agent/agents

All 47 skills in this repo
  • LLM Mention Tracking

    unifapi-agent/agents

    When the user wants to track how often their brand or domain gets mentioned across ChatGPT and AI search engines over a set of prompts, and how that share of voice compares to named competitors over…

    589 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Buying Signal Monitor

    unifapi-agent/agents

    When a seller or SDR wants to catch public buying intent on X/Twitter and LinkedIn — someone asking for a tool they sell, complaining about or switching off a competitor, or hiring for a role that…

    589 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Customer Research

    unifapi-agent/agents

    When the user wants to research customers from public communities, or synthesize customer language, pains, and objections.

    589 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Keyword Research

    unifapi-agent/agents

    When the user wants to research keywords, find keyword opportunities, run a keyword gap analysis, build topic clusters, or compare what competitors rank for.

    589 GitHub stars~2.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Schema

    unifapi-agent/agents

    When the user wants to add, fix, or optimize schema markup and structured data on their site.

    589 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • SEO Audit

    unifapi-agent/agents

    When the user wants to audit, review, or diagnose SEO issues on their site.

    589 GitHub stars~3.4k tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Service Area Rank Audit

What does Service Area Rank Audit do?

When a home-services business (HVAC, plumbing, roofing, electrical, or general contractor) wants to know where it ranks in Google's local pack for its services across every city and ZIP it serves. Service Area Rank Audit is an agent skill from unifapi-agent/agents. When a home-services business (HVAC, plumbing, roofing, electrical, or general contractor) wants to know where it ranks in Google's local pack for its services across every city and ZIP it serves.

When should I use Service Area Rank Audit?

Service Area Rank Audit fits situations like: tasks that involve Local SEO.

How do I install Service Area Rank Audit in Claude Code?

Run `npx skills add unifapi-agent/agents --skill service-area-rank-audit -a claude-code`. Or copy the skill folder (skills/home-services-marketing/service-area-rank-audit in unifapi-agent/agents) into .claude/skills/service-area-rank-audit in your project. Claude Code loads it when a task matches its description.

How do I install Service Area Rank Audit in Codex?

Run `npx skills add unifapi-agent/agents --skill service-area-rank-audit -a codex`. Or copy the skill folder (skills/home-services-marketing/service-area-rank-audit in unifapi-agent/agents) into .agents/skills/service-area-rank-audit in your project. Codex loads it when a task matches its description.

Can I use Service Area Rank Audit 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 unifapi-agent/agents --skill service-area-rank-audit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/service-area-rank-audit, .gemini/skills/service-area-rank-audit, .github/skills/service-area-rank-audit and .opencode/skills/service-area-rank-audit in your project.

What does Service Area Rank Audit need to run?

SKILL.md names no scripts, command-line tools or credentials: Service Area Rank Audit is instructions for the agent only.

Does Service Area Rank Audit access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Service Area Rank Audit 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 Service Area Rank Audit use?

Service Area Rank Audit is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Service Area Rank Audit use?

About 2.3k tokens (SKILL.md is roughly 9.3k 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 Service Area Rank Audit?

Skills that share tags, products or a category with Service Area Rank Audit: FLOW SEO Framework (AgriciDaniel/claude-seo, 19k stars), Google Maps (cablate/mcp-google-map, 469 stars), Google Maps Local SEO (cablate/mcp-google-map, 469 stars) and Google Maps Travel Planning (cablate/mcp-google-map, 469 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Service Area Rank Audit?

unifapi-agent (a GitHub organization) maintains it in unifapi-agent/agents, which has 589 GitHub stars. The repository holds 47 skills in this directory. The repository was last updated on September 5, 2026.

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