SEO Competitor Analysis

Competitor analysis

by aaron-he-zhu · Apache-2.0 license · ★ 2,858 on GitHub · v20.1.0

Competitor analysis cover

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

---
name: competitor-analysis
slug: competitor-analysis
displayName: "Competitor Analysis · 竞品分析"
summary: "竞品分析/竞争对手"
description: '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. 竞品分析/竞争对手'
version: "20.1.0"
license: Apache-2.0
compatibility: "Claude Code and compatible agent-skill hosts"
homepage: "https://github.com/aaron-he-zhu/aaron-marketing-skills"
when_to_use: "Use when analyzing competitor SEO strategy, comparing domains, benchmarking against competitors, or finding competitor keywords and content gaps."
argument-hint: "<competitor URL or domain>"
metadata: {"author": "aaron-he-zhu", "version": "20.1.0", "discipline": "seo-geo", "phase": "survey", "geo-relevance": "medium", "hermes": {"tags": ["marketing", "seo-geo", "survey"], "category": "seo-geo"}, "openclaw": {"emoji": "🔍", "homepage": "https://github.com/aaron-he-zhu/aaron-marketing-skills"}}
---

# Competitor Analysis

Analyzes competitor SEO and GEO strategies to reveal repeatable wins, weak spots, and market gaps.

Overview

Analyzes competitor SEO and GEO strategies to reveal repeatable wins, weak spots, and market gaps.

Manual install (npx, ZIP)
Claude Codenpx skills add aaron-he-zhu/aaron-marketing-skills --skill competitor-analysis -g -a claude-code
Claude Code (degit)npx degit aaron-he-zhu/aaron-marketing-skills/seo-geo/survey/competitor-analysis#main ~/.claude/skills/competitor-analysis-aaron-he-zhu
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md7.8 KB
Read SKILL.md here
aaron-he-zhu/main1 file shown
SKILL.md
Show the full text124 lines

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:

  1. 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:

  1. Identify Competitors — separate direct competitors, indirect alternatives, and content competitors if the user has not named them already.
  2. Gather Competitor Data — capture URL, domain age, estimated traffic, domain authority, business model, target audience, and key offerings.
  3. Analyze Keyword Rankings — document total rankings, top 10/top 3 counts, high-value keywords, intent mix, and keyword gaps.
  4. Audit Content Strategy — review content volume, top performers, publishing patterns, themes, and success factors.
  5. Analyze Backlink Profile — review backlink totals, quality mix, top linking domains, link acquisition patterns, and linkable assets.
  6. Technical SEO Assessment — evaluate Core Web Vitals, mobile-friendliness, architecture, internal linking, URL structure, and standout strengths/weaknesses.
  7. GEO / AI Citation Analysis — test which queries cite competitors, what formats get cited, and where competitors still leave openings.
  8. 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.

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

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: "20.1.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": "20.1.0", "discipline": "seo-geo", "phase": "survey", "geo-relevance": "medium", "hermes": {"tags": ["marketing", "seo-geo", "survey"], "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](../../evaluate/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](../../implement/page-play-builder/SKILL.md).
124 
View all files on GitHub →

Details

Version
20.1.0
License
Apache-2.0
Stars on the repo
★ 2,858
Checked
Source
aaron-he-zhu/aaron-marketing-skills ↗
Creator
aaron-he-zhu · 99 listings
View creator

Similar skills

See all →
SkillCompany Valuation Calculatorhimself65/finance-skills · by himself65Estimate the intrinsic value of a public company using DCF, relative (peer multiple) and sum-of-parts (SOTP) methods, then triangulate to an implied share price with upside/downside versus the current market price. Use this skill whenever the user asks: what is AAPL worth", "valuation of NVDA", "fair value of TSLA", "intrinsic value", DCF for MSFT", "build a DCF", "discounted cash flow", "WACC", "terminal value", implied share price", "upside to fair value", "is X overvalued/undervalued", relative valuation", "peer comparison valuation", "EV/EBITDA target", "SOTP", sum of the parts", "how much is [company] worth", "price target from fundamentals", value this company", or any ticker in the context of computing intrinsic or relative valuation. Default to running ALL three methods (DCF + relative + SOTP-if-applicable) and presenting a blended implied price with a sensitivity table. Do not answer valuation questions from memory — always run the workflow.★ 3.3k GitHub starsSkillKeyword Gap AnalyzerRyze-AI-Adgent/open-seo-mcp-skills · by Ryze-AI-AdgentFind keywords a competitor ranks for that the user's site doesn't — the content gap, prioritized by volume and winnability. Use when asked "what does competitor.com rank for", "keyword gap vs X", "steal competitor keywords", or "why do they outrank us".★ 3.1k GitHub starsSkillAd Angle Minergooseworks-ai/goose-skills · by gooseworks-aiMine the highest-converting ad angles from customer reviews, Reddit complaints, support tickets, and competitor ads. Extracts actual pain language, competitor weaknesses, and outcome phrases that real buyers use. Outputs a ranked angle bank with proof quotes and recommended ad formats per angle.★ 1.2k GitHub starsSkillCompetitor Content Intelligencesandbaseai/sandbase-skills · by sandbaseaiAnalyze competitor content coverage and uncover differentiated content opportunities using web search, page extraction, and DataForSEO content analysis. Use when asked for competitor content research, editorial gap analysis, content brief inputs, or topic whitespace.★ 203 GitHub starsSkillCompetitive Win Cardsgrowthack88/growth-marketing-os · by growthack88Creates competitive battlecards for sales deal conversations. Produces win themes, landmines to plant, objection handlers, and competitive positioning per competitor. Outputs a structured markdown battlecard with quick-reference sections for live sales calls. Depends on competitor-research for competitive intelligence and consumes product-messaging, win-loss-analysis, and positioning for framing. Feeds into sales-deck, outreach-emails, and demo-script. Triggered by "battlecard", "competitive intel", "win against [competitor]", or "how do we beat [competitor]".★ 117 GitHub starsSkillX Audience Analyzersergebulaev/x-skills · by sergebulaevRead your X (Twitter) audience and niche from real data. Pull a handle's recent tweets (yours or a competitor's) with likes, replies, and views, see which formats and hooks are working, read the repliers on a tweet (X gates likers, so repliers are the signal), and scan a niche query for top tweets. Powered by Apify, no login. Triggers on "analyze my tweets", "what is working on X", "read the replies", "competitor tweets", "who is engaging". Not for writing a tweet (use x-post-writer).★ 95 GitHub stars

More from aaron-he-zhu

SkillAd Test Designeraaron-he-zhu/aaron-marketing-skills · by aaron-he-zhuUse when the user asks to "design an A/B test", "set up a creative/landing test", "run an incrementality test", or "is this result statistically and practically material?"; produces a hypothesis, variant matrix, sample-size/duration/power plan, and a documented effect/uncertainty read from own exported results. It applies only a precommitted owner-approved action rule; the statistical helper never chooses a business action. Not for producing variants — use ad-creative-builder; not for reading back one shipped change — use paid-measurement-loop. 广告AB测试设计/实验设计/显著性判定/增效测试★ 2.9k GitHub starsSkillAdvocacy Program Designeraaron-he-zhu/aaron-marketing-skills · by aaron-he-zhuUse when the user asks to "design an employee advocacy program", "set up founder-led sharing", or "build a share kit for the team"; produces an advocacy program blueprint in two modes — participation-driven opt-in (default) or top-down assigned with its coercion and authenticity risks flagged — with a voluntary opt-in roster spec submitted as channel-registry proposal events, share kits with mandatory per-person variation, staggered human posting windows plus anti-pod guardrails (no coordinated identical reshares, no engagement rings), per-person material-connection disclosure lines per FTC and 《互联网广告管理办法》, and a Slack/Teams distribution spec. Not for paid creator campaigns — use campaign-planner. 员工倡导/创始人IP分享/内部分享计划/披露合规★ 2.9k GitHub starsSkillBuyer Belief Mapperaaron-he-zhu/aaron-marketing-skills · by aaron-he-zhuUse when the user asks to "map what our buyers believe", "capture the objections we keep hearing", or "find the switching forces that move the beachhead"; produces a belief map of the beachhead — held beliefs and mental models, the recurring objections and their reframes, and the JTBD four forces (push of the problem, pull of the new, anxiety of switching, habit of the present) — each item sourced from interviews or win-loss notes (User-provided) and labeled Measured / User-provided / Estimated, with any unverified quote or comparative claim marked "[needs source]" and routed to the claims candidates, never adjudicated here. Not for demographic or persona profiling — use audience-mapper; not for the positioning canvas — use positioning-truth-tracer. 受众信念/异议地图/切换四力/流失语言★ 2.9k GitHub starsSkillTarget Audience Profileraaron-he-zhu/aaron-marketing-skills · by aaron-he-zhuUse when the user asks to "analyze my target audience", "build an audience profile for influencer targeting", "research a niche community", or "deep-dive a subculture before partnering with creators"; in audience mode produces demographic/psychographic profiles, a platform-priority matrix, named personas, and an influencer-selection criteria set, and in niche mode produces a community map, culture decode (language/norms/taboos), key-voice tiers, a Brand Fit Score, and a phased entry strategy. Not for finding specific creators to contract — use influencer-discovery; not for scoring a shortlist on Suitability — use fit-scorer. 目标受众画像/人群分析 · 细分社群/亚文化调研★ 2.9k GitHub starsSkillAudience Segment Builderaaron-he-zhu/aaron-marketing-skills · by aaron-he-zhuUse when the user asks to "build audience segments from my customer list", "make value-based / lookalike seed lists", "set up exclusion / suppression segments", or "map audiences to funnel stages across platforms"; turns the user''s OWN customer/CRM/GA4 export into seed audiences, value-based lookalike SEED lists, exclusion/suppression segments, and a cross-platform funnel-stage targeting map, informing the ROAS A (Audience) dimension. Not for building account structure or match types — use campaign-architect; not for organic SERP intent — use keyword-research. 付费广告受众分群/种子人群/排除人群/相似人群种子★ 2.9k GitHub starsSkillBrand Voice Codifieraaron-he-zhu/aaron-marketing-skills · by aaron-he-zhuUse when the user asks to "codify our brand voice", "define naming rules for our products and tiers", or "write the tone-of-voice guide with banned phrases"; produces the brand-level voice canon (register, tone spectrum, banned-phrase list, few-shot examples drawn only from the brand''s own published material) and the naming tax (product / feature / tier naming rules plus approved and banned terms) that seeds the narrative-registry canon and that every channel''s voice adaptation points up to. Not for per-platform voice adaptation — use channel-registry''s voice-dossier; not for finished copy or blog posts — use content-writer; not for the message hierarchy itself — use message-system-architect; not for claim adjudication — use offer-claims-registry. 品牌语气/词汇表/命名税/禁用词/品牌语言规范★ 2.9k GitHub stars