Agent skill

Local Competitor Scan

by unifapi-agent in unifapi-agent/agents

When a local business wants to map the competitors winning the local pack for its target queries — their categories, ratings, review counts, and what they have that it lacks.

MITAuto-check passedMarketing & SEO

Install Local Competitor Scan

skills CLI
$ npx skills add unifapi-agent/agents --skill local-competitor-scan -a claude-code

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

GitHub CLI
$ gh skill install unifapi-agent/agents local-competitor-scan --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/local-seo-agent/local-competitor-scan .claude/skills/local-competitor-scan && 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
local-competitor-scan
GitHub stars
587
Token cost
~2.3k tokens
SKILL.md length
1,009 words
Files
2
Skills in repo
47
Repo updated
First seen
Licence
MIT

At a glance

When a local business wants to map the competitors winning the local pack for its target queries — their categories, ratings, review counts, and what they have that it lacks.

  • Works in 6 steps: Set the queries and location — required.… → Identify the recurring competitors. Pull… → Profile each competitor on the signals… → …
  • Tasks that involve Local SEO
  • SKILL.md covers Use UnifAPI for live evidence, Workflow, Output: competitor table + gap… and Guardrails, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Local Competitor Scan is an agent skill from unifapi-agent/agents. When a local business wants to map the competitors winning the local pack for its target queries — their categories, ratings, review counts, and what they have that it lacks. Also use on "who's beating me in the map pack," "local competitor analysis," "local SEO competitors," "why do they outrank me," "competitor review counts," "local competitive gap," or "what are competitors doing locally." 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 and Competitor analysis. 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
  • Tasks that involve Competitor analysis

Example prompts

  • “s beating me in the map pack,”
  • “local competitor analysis,”
  • “local SEO competitors,”
  • “/local-competitor-scan”

Workflow steps

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

  1. Set the queries and location — required. Take the business's priority local queries and city (reuse the set from a local-pack-audit if one…
  2. Identify the recurring competitors. Pull the pack for each query via local/search + maps/search, collect the businesses appearing across…
  3. Profile each competitor on the signals local rank rewards: primary category (relevance), rating and review_count (prominence), review…
  4. Add the organic context for the leaders. For the top recurring rivals, run seo/competitors/ranked-keywords (how broad their organic…
  5. Score the gap for each competitor against the target with the rubric below, so the scan ranks rivals by threat, not just presence.
  6. Find the common denominator. What do the top-ranking rivals share that the target lacks — a review-count floor, a more specific primary…

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

Local Competitor Scan loads about 2.3k tokens when it runs. Until then it costs about 119 tokens; SKILL.md has 1,009 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~119
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,009 words, ~2,278 tokens.

Download SKILL.mdSave it as .claude/skills/local-competitor-scan/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
local-competitor-scan
description
When a local business wants to map the competitors winning the local pack for its target queries — their categories, ratings, review counts, and what they have that it lacks. Also use on "who's beating me in the map pack," "local competitor analysis," "local SEO competitors," "why do they outrank me," "competitor review counts," "local competitive gap," or "what are competitors doing locally." Reads public map and SERP data only — read-only research.
license
MIT
metadata.author
UnifAPI
metadata.version
1.0.0

Local Competitor Scan

You are a local competitive analyst. The businesses sitting in the local pack ahead of you are the clearest brief for what local Google rewards in your category and city. This skill maps the competitors ranking for a business's target local queries, profiles them on the signals that move local rank — and, for the leaders, pulls their broader organic strength to explain why they win — then surfaces the concrete gap. Read-only.

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

Use UnifAPI for live evidence

A competitive brief built from memory is a guess. You have to read the actual pack rivals, their actual listings, and — for the leaders — their actual organic footprint. Use the unifapi skill to connect (OAuth MCP), then call:

  • The pack rivals — local/search, maps/search — the businesses occupying the local pack for each target query × location, plus each one's name, place_id, primary + secondary category, rating, review_count, phone, website, hours, and position. Loop the query (and location) and dedupe rivals by place_id — recurring rivals surface as the real competition.
  • Organic local results — seo/serp — who ranks the organic blue links for the same queries. A rival can own the organic results yet trail in the pack, or vice versa; reading both separates "wins the map" from "wins the page."
  • Why the leaders win (broader organic strength) — seo/competitors/domain (the rival's organic competitors and the domains it actually competes with) and seo/competitors/ranked-keywords (the breadth of queries the rival's site ranks for). This is the context layer: a pack leader that also ranks for hundreds of local queries has site authority underwriting its prominence — that is a different, harder gap than a rival that merely has more reviews.

UnifAPI reads public data only — it never touches any business's profile. Keep any billing metadata so the output can state record cost.

Workflow

  1. Set the queries and location — required. Take the business's priority local queries and city (reuse the set from a local-pack-audit if one exists). If queries are missing, ask. (Read .agents/product-marketing.md / .claude/product-marketing.md first if it exists.)
  2. Identify the recurring competitors. Pull the pack for each query via local/search + maps/search, collect the businesses appearing across them keyed by place_id, and cross-check the organic block with seo/serp. Count how many target queries each rival appears in — frequency is the first filter: a business in 5 of 6 packs is a core rival; a one-query cameo is noise.
  3. Profile each competitor on the signals local rank rewards: primary category (relevance), rating and review_count (prominence), review recency where visible, secondary categories, hours completeness, and website presence.
  4. Add the organic context for the leaders. For the top recurring rivals, run seo/competitors/ranked-keywords (how broad their organic footprint is) and seo/competitors/domain (whose organic territory they fight for). A pack lead backed by site authority is a structural advantage, not just a review-count edge — say which it is.
  5. Score the gap for each competitor against the target with the rubric below, so the scan ranks rivals by threat, not just presence.
  6. Find the common denominator. What do the top-ranking rivals share that the target lacks — a review-count floor, a more specific primary category, broad organic ranking — and quantify it.
Threat scoring rubric

For each recurring competitor, score how far ahead of the target they are on the levers local rank rewards. Higher total = bigger threat / clearer brief:

SignalHow to score (per competitor vs. target)Weight
Pack frequencyqueries they appear in ÷ total target queries×3
Review volumereview_count ratio vs. target (capped at 3×)×3
Ratingrating delta vs. target (each +0.1 = 1 pt, capped)×2
Category fitprimary category more specific to the queries? (0/1/2)×2
Organic strengthranked-keywords count vs. target — broad local footprint? (0–3)×2
Completenesssecondary categories + hours + website all present? (0–3)×1

Threat score = Σ(signal × weight). Rank competitors by threat descending. The top of that list is the business to study and beat first; the signals driving its score are the to-do list.

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

Output: competitor table + gap summary

markdown
# Local Competitor Scan — <business> — <date>

Queries: <…> · location: <…> · language/device: <…>

## Competitor profile (ranked by threat score)

| Competitor    | Pack freq | Primary category       | Rating | Reviews | Ranked kw | Threat | Lead over target                            |
| ------------- | --------- | ---------------------- | ------ | ------- | --------- | ------ | ------------------------------------------- |
| Cool Air HVAC | 6/6       | Furnace repair service | 4.9    | 680     | 1,240     | 19     | Reviews 3.2×, exact category, broad organic |
| A1 Comfort    | 5/6       | HVAC contractor        | 4.7    | 410     | 320       | 11     | Reviews 2×, full hours                      |
| _Target_      | 3/6       | HVAC contractor        | 4.7    | 210     | 180       | —      | —                                           |

## Gap summary

- The signal gap in concrete numbers: where the target trails the pack leaders (review volume, rating, category specificity, organic footprint).
- The common denominator: what every top-3 rival has that the target doesn't.
- A ranked shortlist of what to close first, ordered by the rubric's weighting.

Each figure cited to the live local-pack / listing / SERP record it came from. Record cost consumed (or best estimate).
Worked example

Brief: HVAC company, queries "ac repair / furnace repair / hvac repair" × Austin. Target: 4.7 rating, 210 reviews, primary category "HVAC contractor", appears in 3/3 of "ac"/"hvac" packs but absent from "furnace repair".

  • Cool Air HVAC — appears 6/6 across the broader query set, 4.9 / 680 reviews, primary "Furnace repair service"; seo/competitors/ranked-keywords shows ~1,240 ranked queries (vs. target ~180) and seo/competitors/domain puts it among the city's organic leaders. Threat score 19: reviews 3.2×, exact category for the query the target is missing from, and structural site authority. The brief: review velocity + the furnace category + content depth.
  • A1 Comfort — 5/6, 4.7 / 410, primary "HVAC contractor" (same as target), modest organic footprint. Threat score 11: a pure review-volume lead, no category or authority edge — the most beatable leader.
  • Common denominator: both top rivals clear ~400 reviews and carry query-specific primary categories; the hardest (Cool Air) also has broad organic ranking the target lacks.

Verdict: A1 is catchable on reviews alone; Cool Air needs reviews + furnace category + a content play. Reads: 6 local/maps + 3 SERP + 4 competitor-organic.

Guardrails

  • Read-only ("eyes, not hands"). Public data only. It analyzes public competitor data; it never edits any listing, posts, or contacts competitors. The operator's own team acts on the gaps.
  • Confirmed vs inferred. Report ratings, review counts, and ranked-keyword counts as confirmed reads; treat threat scores and "why they win" attribution as inferred — a high score means a clear brief, not proof that copying the signal flips the pack. Local rank has factors public data can't see.
  • Dated snapshots, re-runnable. Local rankings are personalized and time-sensitive — record location, language, device, and timestamp, and keep the rival watchlist so the scan can be re-run.
  • Don't recommend copying manipulation. If a rival ranks via name stuffing or fake categories, flag it as a risk / likely-unsustainable, not as a tactic to imitate.
  • local-pack-audit (Local SEO): establishes where the business ranks before profiling who beats it.
  • listing-accuracy-audit (Local SEO): checks the target's own listing once the competitive bar is clear.
  • 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/local-seo-agent/local-competitor-scan of unifapi-agent/agents.

  • SKILL.md
  • README.md

Open the folder on GitHubat commit fb53247

Compare with similar skills

Local Competitor Scan 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.

Local Competitor Scan compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Local Competitor Scan this skillunifapi-agent/agents587—~2.3kAutomated safety check: PassMIT
Localseodata Toolgarrettjsmith/localseoskills114—~4.1kAutomated safety check: PassMIT
Geogrid Analysisgarrettjsmith/localseoskills114—~4.2kAutomated safety check: PassMIT
Local Competitor Analysisgarrettjsmith/localseoskills114—~1.5kAutomated safety check: PassMIT
Client Deliverablesgarrettjsmith/localseoskills114—~5.8kAutomated safety check: PassMIT
SEO Content Brief GeneratorAgriciDaniel/claude-seo18k2 repos~2.6kAutomated safety check: PassMIT

Similar skills

  • Localseodata Tool

    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…

    114 GitHub stars~4.1k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • Geogrid Analysis

    garrettjsmith/localseoskills

    When the user wants to analyze local ranking data using geogrid scans, interpret map pack rankings across a geographic area, or understand ARP/ATRP/SoLV metrics.

    114 GitHub stars~4.2k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • Local Competitor Analysis

    garrettjsmith/localseoskills

    When the user wants to analyze local search competitors, benchmark against map pack rivals, or understand why competitors outrank them.

    114 GitHub stars~1.5k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • Client Deliverables

    garrettjsmith/localseoskills

    When the user needs to create a client-facing document such as an SEO audit, proposal, scope of work, competitive analysis report, onboarding document, or market intelligence report.

    114 GitHub stars~5.8k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • SEO Content Brief Generator

    AgriciDaniel/claude-seo

    Builds research-backed SEO content briefs with competitor scoring, per-section word counts and page-type templates, for new pages or improving existing ones.

    18k GitHub starsUsed in 2 repos~2.6k tokens
    Marketing & SEOAuto-check passed
  • 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.

    18k GitHub starsUsed in 2 repos~1.4k 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…

    587 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…

    587 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.

    587 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.

    587 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.

    587 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.

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

Categories

Questions about Local Competitor Scan

What does Local Competitor Scan do?

When a local business wants to map the competitors winning the local pack for its target queries — their categories, ratings, review counts, and what they have that it lacks. Local Competitor Scan is an agent skill from unifapi-agent/agents. When a local business wants to map the competitors winning the local pack for its target queries — their categories, ratings, review counts, and what they have that it lacks.

When should I use Local Competitor Scan?

Local Competitor Scan fits situations like: tasks that involve Local SEO; tasks that involve Competitor analysis.

How do I install Local Competitor Scan in Claude Code?

Run `npx skills add unifapi-agent/agents --skill local-competitor-scan -a claude-code`. Or copy the skill folder (skills/local-seo-agent/local-competitor-scan in unifapi-agent/agents) into .claude/skills/local-competitor-scan in your project. Claude Code loads it when a task matches its description.

How do I install Local Competitor Scan in Codex?

Run `npx skills add unifapi-agent/agents --skill local-competitor-scan -a codex`. Or copy the skill folder (skills/local-seo-agent/local-competitor-scan in unifapi-agent/agents) into .agents/skills/local-competitor-scan in your project. Codex loads it when a task matches its description.

Can I use Local Competitor Scan 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 local-competitor-scan -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/local-competitor-scan, .gemini/skills/local-competitor-scan, .github/skills/local-competitor-scan and .opencode/skills/local-competitor-scan in your project.

What does Local Competitor Scan need to run?

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

Does Local Competitor Scan 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 Local Competitor Scan 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 Local Competitor Scan use?

Local Competitor Scan 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 Local Competitor Scan use?

About 2.3k tokens (SKILL.md is roughly 9.1k 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 Local Competitor Scan?

Skills that share tags, products or a category with Local Competitor Scan: Localseodata Tool (garrettjsmith/localseoskills, 114 stars), Geogrid Analysis (garrettjsmith/localseoskills, 114 stars), Local Competitor Analysis (garrettjsmith/localseoskills, 114 stars) and Client Deliverables (garrettjsmith/localseoskills, 114 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Local Competitor Scan?

unifapi-agent (a GitHub organization) maintains it in unifapi-agent/agents, which has 587 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.