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. 竞品分析/竞争对手
84%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Analyzes competitor SEO and GEO strategies to reveal repeatable wins, weak spots, and market gaps.
Analyze SEO strategy for [competitor URL]Compare my site [URL] against [competitor 1], [competitor 2], [competitor 3]Expected output: a prioritized competitor brief plus the standard handoff summary for memory/research/.
memory/hot-cache.md, memory/open-loops.md, and memory/research/.Emit the standard shape from skill-contract.md §Handoff Summary Format.
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.
Stop and ask — when the competitor set cannot be established:
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).
When a user requests competitor analysis:
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.
See references/example-report.md for a full sample analyzing HubSpot's marketing keyword dominance.
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.
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 meWhat SERP features do competitors win? (Featured snippets, PAA, etc.)How has [competitor]'s SEO strategy evolved over the past year?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.
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.
aaron-he-zhu/aaron-marketing-skills
126d750
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.