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, and memory/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.
1---
2name: competitor-analysis
3slug: competitor-analysis
4displayName: "Competitor Analysis · 竞品分析"
5summary: "竞品分析/竞争对手"
6description: 'Use when the user asks to "analyze competitors" or "竞品分析"; benchmarks competitor keywords, content, backlinks, AI citations, and traffic share into strengths, weaknesses, and an action plan. Not for a pairwise topic-coverage gap map — use content-gap-analysis. 竞品分析/竞争对手'
7version: "17.0.0"
8license: Apache-2.0
9compatibility: "Claude Code and compatible agent-skill hosts"
10homepage: "https://github.com/aaron-he-zhu/aaron-marketing-skills"
11when_to_use: "Use when analyzing competitor SEO strategy, comparing domains, benchmarking against competitors, or finding competitor keywords and content gaps."
12argument-hint: "<competitor URL or domain>"
13metadata: {"author": "aaron-he-zhu", "version": "17.0.0", "discipline": "seo-geo", "phase": "research", "geo-relevance": "medium", "hermes": {"tags": ["marketing", "seo-geo", "research"], "category": "seo-geo"}, "openclaw": {"emoji": "🔍", "homepage": "https://github.com/aaron-he-zhu/aaron-marketing-skills"}}
14---
15
16# Competitor Analysis
17
18Analyzes competitor SEO and GEO strategies to reveal repeatable wins, weak spots, and market gaps.
19
20## Quick Start
21
22```
23Analyze SEO strategy for [competitor URL]
24```
25
26```
27Compare my site [URL] against [competitor 1], [competitor 2], [competitor 3]
28```
29
30## Skill Contract
31
32**Expected output**: a prioritized competitor brief plus the standard handoff summary for `memory/research/`.
33
34- **Reads**: competitor URLs/domains, your own site metrics, business model, target audience, industry context, and any user-provided or tool data.
35- **Writes**: a user-facing analysis and reusable summary.
36- **Promotes**: durable competitor facts, keyword priorities, entity candidates, and pending strategy decisions to `memory/hot-cache.md`, `memory/open-loops.md`, and `memory/research/`.
37- **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.
38- **Primary next skill**: [content-gap-analysis](../content-gap-analysis/SKILL.md) when the competitive landscape is clear.
39
40### Handoff Summary
41
42> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md).
43
44## Data Sources
45
46Optional integrations: ~~SEO tool, ~~analytics, ~~AI monitor. Without tools, ask for competitor URLs, your site metrics, and industry context. See [CONNECTORS.md](../../../CONNECTORS.md).
47
48**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](../../../SECURITY.md). See [scripts/connectors/README.md](../../../scripts/connectors/README.md).
49
50## Decision Gates
51
52**Stop and ask** — when the competitor set cannot be established:
53
541. 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](../serp-analysis/SKILL.md) first.
55
56**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).
57
58## Instructions
59
60When a user requests competitor analysis:
61
621. **Identify Competitors** — separate direct competitors, indirect alternatives, and content competitors if the user has not named them already.
632. **Gather Competitor Data** — capture URL, domain age, estimated traffic, domain authority, business model, target audience, and key offerings.
643. **Analyze Keyword Rankings** — document total rankings, top 10/top 3 counts, high-value keywords, intent mix, and keyword gaps.
654. **Audit Content Strategy** — review content volume, top performers, publishing patterns, themes, and success factors.
665. **Analyze Backlink Profile** — review backlink totals, quality mix, top linking domains, link acquisition patterns, and linkable assets.
676. **Technical SEO Assessment** — evaluate Core Web Vitals, mobile-friendliness, architecture, internal linking, URL structure, and standout strengths/weaknesses.
687. **GEO / AI Citation Analysis** — test which queries cite competitors, what formats get cited, and where competitors still leave openings.
698. **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.
70
71Label 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.
72
73**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".
74
75> **Reference**: See [Analysis Templates](references/analysis-templates.md) for the compact templates used at each step.
76
77## Example
78
79See [references/example-report.md](references/example-report.md) for a full sample analyzing HubSpot's marketing keyword dominance.
80
81## Advanced Analysis Types
82
83### Content Gap Analysis
84
85For a pairwise topic-coverage gap map ("content [competitor] has that I don't, sorted by traffic potential"), hand off to [content-gap-analysis](../content-gap-analysis/SKILL.md) — that is its dedicated job.
86
87### Video Benchmarking
88
89When 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](../../../references/platforms/youtube.md).
90
91### Link Intersection
92
93```
94Find sites linking to [competitor 1] AND [competitor 2] but not me
95```
96
97### SERP Feature Analysis
98
99```
100What SERP features do competitors win? (Featured snippets, PAA, etc.)
101```
102
103### Historical Tracking
104
105```
106How has [competitor]'s SEO strategy evolved over the past year?
107```
108
109## Save Results
110
111Write 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](../../../references/skill-contract.md) §Save Results Template.
112
113## Reference Materials
114
115- [Analysis Templates](references/analysis-templates.md) — Step-by-step analysis templates
116- [Battlecard Template](references/battlecard-template.md) — Quick-reference battlecard format
117- [Positioning Frameworks](references/positioning-frameworks.md) — Positioning and differentiation frameworks
118- [Example Report](references/example-report.md) — Worked sample
119- [platforms/youtube.md](../../../references/platforms/youtube.md) — YouTube outlier and title-packaging benchmarks for video-heavy competitors
120
121## Next Best Skill
122
123Primary: [content-gap-analysis](../content-gap-analysis/SKILL.md). Also: [serp-analysis](../serp-analysis/SKILL.md) and [offsite-signal-analyzer](../../monitor/offsite-signal-analyzer/SKILL.md). If the goal is a head-to-head "us vs them" page, hand the vetted competitor set to [page-play-builder](../../build/page-play-builder/SKILL.md).