Comprehensive competitor analysis for local SEO audits. Activates when analyzing competitors, comparing businesses, doing competitive research, or assessing competitive landscape. Covers all 9 dimensions of competitor profiling with AI visibility, entity analysis, and SERP feature ownership. Phase 1. Output: {AUDIT_DIR}/competitor-profiles.md
From local-seo-auditnpx claudepluginhub anthropics/claude-plugins-community --plugin local-seo-audit-systemThis skill uses the workspace's default tool permissions.
references/analysis-template.mdDesigns and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Competitor analysis is the intelligence layer that makes every subsequent phase actionable. Without knowing what the top-ranking competitors do, every recommendation is directionally blind. This phase profiles 3–5 competitors across 9 dimensions in enough depth that all subsequent phases can benchmark findings against real competitor data. Time investment: 45–90 minutes produces data that informs 20+ recommendations across the audit.
2025 competitive landscape shift: AI Overviews appear for 20–35% of local service queries — competitors who are cited by AIO have invisible traffic advantages that traditional ranking data doesn't show. This phase must audit AI visibility, not just organic rankings.
| Tool | Purpose | Cost |
|---|---|---|
| Ahrefs | Organic keywords, DR, referring domains, traffic estimate, top pages | Paid |
| SEMrush | Keyword gap, backlink audit, traffic analytics, page-level keywords | Paid |
| Moz | Domain Authority, spam score, top pages | Free/Paid |
| Google PageSpeed Insights | CWV: mobile score, LCP, INP, CLS per competitor | Free |
| Google Rich Results Test | Schema types implemented by competitor | Free |
| Google Search | Local pack positions, SERP features owned, featured snippets | Free |
| Google Maps / GBP | Review count, rating, GBP completeness, category | Free |
| ChatGPT / Perplexity / Gemini | AI visibility test — are competitors cited? | Free |
| BuiltWith | CMS, hosting, technology stack per competitor | Free |
| Majestic | Trust Flow / Citation Flow ratio, link profile quality | Paid |
Read {AUDIT_DIR}/intake-data.md — business name, URL, services, location, competitor list.
If competitors not provided in intake, use this 3-search identification protocol:
[primary service] [city] → note top 3 local pack + top 3 non-directory organicbest [service] [city] → cross-reference, add new names[service] [city] reviews → identify any additional local leadersConfirm each competitor:
Present findings: "I've identified these top competitors: [list]. Please confirm or swap any."
For 3–5 competitors, systematically research each dimension. Do NOT guess — verify with web search, page fetch, and public data tools.
| Data Point | How to Find | Comp 1 | Comp 2 | Comp 3 |
|---|---|---|---|---|
| Business type (independent/chain/franchise) | Website + Google Maps | |||
| Domain age | Whois / BuiltWith | |||
| Years in business | About page / GBP | |||
Indexed pages (site:[domain]) | Google search | |||
| Tech stack (CMS) | BuiltWith | |||
| Service areas (same/broader/narrower) | Website + GBP | |||
| # of locations | Google Maps search | |||
| Estimated team size | LinkedIn Company page |
CWV benchmarks (2025 — INP replaced FID March 2024):
| Metric | Good | Comp 1 | Comp 2 | Comp 3 | Client |
|---|---|---|---|---|---|
| Mobile PSI Score | > 70 | ||||
| LCP (mobile) | < 2.5s | ||||
| INP (mobile) | < 200ms | ||||
| CLS (mobile) | < 0.1 | ||||
| TTFB | < 800ms |
Additional technical checks per competitor:
For each competitor (Ahrefs → Site Explorer → Organic Pages → sort by traffic):
| Data Point | Comp 1 | Comp 2 | Comp 3 |
|---|---|---|---|
Total pages estimated (site: count) | |||
| Service pages count | |||
| Location pages count | |||
| Blog posts count | |||
| Publishing frequency (last 10 posts dates) | |||
| Word count on top service page | |||
| Word count on blog posts | |||
| Unique content assets (tools, guides, calculators) | |||
| Local content (city guides, neighborhood pages) | |||
| FAQPage schema present on service pages | |||
| Content freshness (last updated on key pages) |
Content depth benchmark (2025 HCS standards):
From Ahrefs/SEMrush → Site Explorer → Organic Keywords:
| Data Point | Comp 1 | Comp 2 | Comp 3 |
|---|---|---|---|
| Estimated monthly organic traffic | |||
| Total organic keywords ranking | |||
| Top 5 keywords by traffic | |||
| "Near me" keyword rankings | |||
| Featured snippet ownership (count) | |||
| PAA (People Also Ask) presence | |||
| Question-format content for AIO | |||
| Long-tail service + location coverage |
| Metric | Comp 1 | Comp 2 | Comp 3 | Client | Gap |
|---|---|---|---|---|---|
| Domain Rating (DR) — Ahrefs | |||||
| Domain Authority (DA) — Moz | |||||
| Trust Flow (TF) — Majestic | |||||
| Citation Flow (CF) — Majestic | |||||
| TF:CF ratio (target ≥ 0.5) | |||||
| Referring domains count | |||||
| % from niche-relevant sites | |||||
| Top 3 link sources | |||||
| Citation directory depth |
Link building pattern analysis:
| Data Point | Comp 1 | Comp 2 | Comp 3 | Client |
|---|---|---|---|---|
| GBP star rating | ||||
| GBP review count | ||||
| Review velocity (estimated/month) | ||||
| Local pack position (primary keyword) | ||||
| GBP categories (primary + secondary) | ||||
| GBP photos count | ||||
| GBP posts active? | ||||
| Q&A section populated? | ||||
| Services listed in GBP? | ||||
| NAP consistency (spot-check 3 directories) |
GBP completeness benchmarks:
Test for each competitor across all AI platforms:
AI visibility test protocol:
Queries to test:
1. "Best [service] in [city]" (Google AIO + ChatGPT + Perplexity)
2. "[Competitor name] [city] — what are their services?" (Gemini + Perplexity)
3. "Who should I call for [problem] in [city]?" (ChatGPT + Google AIO)
| Platform | Comp 1 | Comp 2 | Comp 3 | Client |
|---|---|---|---|---|
| Google AIO (main service query) | Cited/Not | Cited/Not | Cited/Not | Cited/Not |
| ChatGPT (conversational) | Cited/Not | Cited/Not | Cited/Not | Cited/Not |
| Perplexity (local service) | Cited/Not | Cited/Not | Cited/Not | Cited/Not |
| Knowledge Panel (branded) | Yes/No | Yes/No | Yes/No | Yes/No |
| FAQPage schema (AIO trigger) | Yes/No | Yes/No | Yes/No | Yes/No |
| Platform | Comp 1 Followers | Comp 2 Followers | Comp 3 Followers | Client Followers |
|---|---|---|---|---|
| YouTube | ||||
| TikTok |
Qualitative assessment per competitor:
For top 10 shared target keywords:
| SERP Feature | Comp 1 | Comp 2 | Comp 3 | Client |
|---|---|---|---|---|
| Local Pack — keywords owned | [X/10] | [X/10] | [X/10] | [X/10] |
| Featured Snippets — keywords owned | [X] | [X] | [X] | [X] |
| PAA boxes — questions answered | [X] | [X] | [X] | [X] |
| Video Carousel | Yes/No | Yes/No | Yes/No | Yes/No |
| Image Pack | Yes/No | Yes/No | Yes/No | Yes/No |
| FAQ Rich Results | Yes/No | Yes/No | Yes/No | Yes/No |
| Knowledge Panel | Yes/No | Yes/No | Yes/No | Yes/No |
| Sitelinks (branded) | Yes/No | Yes/No | Yes/No | Yes/No |
Rate each competitor 1–10 per dimension. Use as benchmark throughout audit:
| Dimension | Client | Comp 1 | Comp 2 | Comp 3 |
|---|---|---|---|---|
| 1. Business Profile (maturity, size) | ||||
| 2. Technical SEO + CWV | ||||
| 3. Content Strategy + Depth | ||||
| 4. Keyword Strategy | ||||
| 5. Backlink Authority | ||||
| 6. Local SEO / GBP | ||||
| 7. AI Visibility (AIO, ChatGPT) | ||||
| 8. Social Media Presence | ||||
| 9. SERP Feature Ownership | ||||
| TOTAL | /90 | /90 | /90 | /90 |
| Gap | Competitor Advantage | Client Weakness | Difficulty | Priority |
|---|---|---|---|---|
| [gap 1] | [how top comp does it] | [what client lacks] | Easy/Med/Hard | H/M/L |
Areas where client has competitive advantage — amplify these:
Areas where ALL competitors are weak — first-mover advantage available:
What competitor advantages pose the biggest ranking risk?
| Threat | Competitor | Risk Level | Defensive Action |
|---|---|---|---|
| [threat] | [comp name] | Critical/High/Med | [action] |
Items that can be replicated from top competitors in < 30 days:
| Win | Competitor Source | Action Required | Effort | Expected Impact |
|---|---|---|---|---|
| [win 1] | [comp] | [specific action] | [time] | [result] |
| [win 2] | [comp] | [specific action] | [time] | [result] |
| [win 3] | [comp] | [specific action] | [time] | [result] |
| Action | Impact (1–5) | Feasibility (1–5) | Priority | Effort |
|---|---|---|---|---|
| Identify 3+ competitors with specific URLs | 5 | 5 | 25 | 15 min |
| Record GBP data (stars, reviews, categories) | 5 | 5 | 25 | 20 min |
| Run CWV comparison (PageSpeed Insights ×4) | 5 | 5 | 25 | 20 min |
| Test AI visibility (ChatGPT + Perplexity) | 5 | 5 | 25 | 15 min |
| Ahrefs DR + traffic comparison | 4 | 4 | 16 | 15 min |
| SERP feature ownership audit | 4 | 4 | 16 | 20 min |
| Schema types audit (Rich Results Test) | 4 | 5 | 20 | 15 min |
| Social media follower comparison | 3 | 5 | 15 | 10 min |
Write complete profiles to {AUDIT_DIR}/competitor-profiles.md with YAML frontmatter:
---
skill: research/competitor-analysis
phase: 1
date: [YYYY-MM-DD]
business: [Business Name]
url: [URL]
score: N/A
competitors_analyzed: [X]
top_competitor: [name]
top_competitor_url: [url]
client_score: [X/90]
top_competitor_score: [X/90]
score_gap: [X]
---
Include:
This file is read by ALL 21 subsequent phases — every finding benchmarks against this data. Quality here multiplies throughout the entire audit.
Key consumers:
research/content-gaps — competitor content strategy informs gap analysisresearch/keyword-gaps — competitor organic keywords drive gap analysiscross-cutting/serp-trust-auditor — SERP feature ownership comparisoncross-cutting/local-impact-auditor — GBP + local SEO competitor comparison