Competitor Analysis
Analyzes competitor SEO and GEO strategies to reveal repeatable wins, weak spots, and market gaps.
Quick Start
Analyze SEO strategy for [competitor URL]
Compare my site [URL] against [competitor 1], [competitor 2], [competitor 3]
Skill Contract
Expected output: a prioritized competitor brief plus the standard handoff summary for memory/research/.
- Reads: competitor URLs/domains, your own site metrics, business model, target audience, industry context, and any user-provided or tool data.
- Writes: a user-facing analysis and reusable summary.
- Promotes: durable competitor facts, keyword priorities, entity candidates, and pending strategy decisions to
memory/hot-cache.md,memory/open-loops.md, andmemory/research/. - Done when: 3-5 competitors are benchmarked across keywords, backlinks, and traffic share in one comparison table; each strength-to-learn and weakness-to-exploit cites evidence; and the deliverable closes with an Immediate / Short-term / Long-term plan.
- Primary next skill: content-gap-analysis when the competitive landscape is clear.
Handoff Summary
Emit the standard shape from skill-contract.md §Handoff Summary Format.
Data Sources
Optional integrations: ~~SEO tool, ~~analytics, ~~AI monitor. Without tools, ask for competitor URLs, your site metrics, and industry context. See CONNECTORS.md.
Zero-dependency competitor fetch (keyless): python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/firecrawl.py" scrape <competitor-url> returns the rendered page as LLM-ready markdown (JavaScript-heavy pages included), firecrawl.py map <competitor-domain> --limit 500 inventories their URL surface fast, and firecrawl.py search "<brand or topic>" --tbs qdr:m finds their fresh coverage — all on Firecrawl's keyless free tier (~1,000 credits/mo). The connector pre-flights the target's robots.txt locally and refuses on a Disallow per SECURITY.md §Scraping Boundaries. See scripts/connectors/README.md.
Decision Gates
Stop and ask — when the competitor set cannot be established:
- No competitors named and none inferable from
CLAUDE.md, prior research, or the user's niche → ask the user to name 2-5 competitors, OR offer to infer them from a target keyword via serp-analysis first.
Continue silently — do not stop for: which 3-5 of a longer list to deep-dive (pick the closest direct competitors and note the rest); missing your-own-site metrics (benchmark competitors against each other and mark your row N/A); missing optional tool data (label Estimated and proceed).
Instructions
When a user requests competitor analysis:
- Identify Competitors — separate direct competitors, indirect alternatives, and content competitors if the user has not named them already.
- Gather Competitor Data — capture URL, domain age, estimated traffic, domain authority, business model, target audience, and key offerings.
- Analyze Keyword Rankings — document total rankings, top 10/top 3 counts, high-value keywords, intent mix, and keyword gaps.
- Audit Content Strategy — review content volume, top performers, publishing patterns, themes, and success factors.
- Analyze Backlink Profile — review backlink totals, quality mix, top linking domains, link acquisition patterns, and linkable assets.
- Technical SEO Assessment — evaluate Core Web Vitals, mobile-friendliness, architecture, internal linking, URL structure, and standout strengths/weaknesses.
- GEO / AI Citation Analysis — test which queries cite competitors, what formats get cited, and where competitors still leave openings.
- Synthesize Competitive Intelligence — deliver an Executive Summary, comparison table, CITE comparison, strengths to learn from, weaknesses to exploit, keyword opportunities, content recommendations, and an Immediate / Short-term / Long-term plan.
Label every metric Measured (tool/export), User-provided, or Estimated (model inference); never present an estimate as measured; if a required metric is unavailable, mark it N/A — do not invent it.
Quality bar: every strength or weakness ties to a labeled metric and a named competitor — a specific ranking or backlink figure for a named domain, not "strong content presence".
Reference: See Analysis Templates for the compact templates used at each step.
Example
See references/example-report.md for a full sample analyzing HubSpot's marketing keyword dominance.
Advanced Analysis Types
Content Gap Analysis
For a pairwise topic-coverage gap map ("content [competitor] has that I don't, sorted by traffic potential"), hand off to content-gap-analysis — that is its dedicated job.
Video Benchmarking
When a competitor invests in video, benchmark their YouTube outliers (views >=2x their channel average) and the title/thumbnail packaging that drives those wins — those patterns show what topics and framing earn reach. See platforms/youtube.md.
Link Intersection
Find sites linking to [competitor 1] AND [competitor 2] but not me
SERP Feature Analysis
What SERP features do competitors win? (Featured snippets, PAA, etc.)
Historical Tracking
How has [competitor]'s SEO strategy evolved over the past year?
Save Results
Write path: memory/research/competitor-analysis/YYYY-MM-DD-<topic>.md; promote durable competitor facts and entity candidates to memory/hot-cache.md. See Skill Contract §Save Results Template.
Reference Materials
- Analysis Templates — Step-by-step analysis templates
- Battlecard Template — Quick-reference battlecard format
- Positioning Frameworks — Positioning and differentiation frameworks
- Example Report — Worked sample
- platforms/youtube.md — YouTube outlier and title-packaging benchmarks for video-heavy competitors
Next Best Skill
Primary: content-gap-analysis. Also: serp-analysis and offsite-signal-analyzer. If the goal is a head-to-head "us vs them" page, hand the vetted competitor set to page-play-builder.
Scan to join WeChat group