Skip to content
cccskills
FreePublished on GitHub

competitor-analysis

Analyze a named competitor's unpaid search traffic, ranking keywords, content themes, and links from other websites. Identify strengths, weaknesses, and relevant opportunities, with an optional comparison to your own site and a report of recommended actions.

OriginalShow the original description

Analyze one competitor's organic footprint, ranking keywords, content themes, backlinks, and gaps.

Works withSearch Console
See how to install

Good for

  • Investigate a specific competitor's SEO strengths
  • Find pages and keywords worth targeting
  • Compare a competitor with your own site
  • Study competitors in local search results

Files included (1)

  • SKILL.md6.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

OpenSEO Competitor Analysis

Goal

Analyze one competitor deeply enough to decide what to learn from, avoid, counter-position against, or outrank.

Use this for a named competitor. For identifying the market leaders first, use competitive-landscape.

Required inputs

  • projectId
  • Competitor domain
  • User's domain when comparison is requested
  • Optional topic/category/location/language

Project context

The project-context tools are free and shared with the app and other agents.

  1. Call get_project_context first and ground the analysis in it — the saved competitors say whether this domain is already known and what was concluded about it before.
  2. This skill needs competitors. If none are saved, run a minimal inline setup: save the competitor being analyzed, and ask the user (or infer from find_serp_competitors and confirm) whether there are others, write them back with update_project_context (addCompetitors), then continue the analysis. Never front-load the full interview; suggest seo-project-setup at the end for the rest.
  3. Before spending credits, check the research log. If the same research ran within the last 30 days, reuse that result and say so instead of re-buying it.
  4. On finish, write back what is durable with update_project_context — an addCompetitors upsert for this domain with a short note on its strengths and where it is vulnerable — and append a research log entry: { appendResearchLog: { summary: "Competitor analysis: <domain>. Verdict: <conclusion>" } }.

Deliver as a report

Deliver through the seo-report skill, saving with skill: "competitor-analysis". If that skill is not available, say so and stop before writing HTML.

OpenSEO MCP tools

  • get_domain_overview: baseline organic traffic and keyword count.
  • get_search_console_performance: when comparing to the user's own domain and Search Console is connected, use it as the first-party baseline (real clicks/impressions/CTR/position) instead of estimating the user's own performance from third-party data.
  • get_ranked_keywords: exact keyword, URL, rank, intent, traffic, CPC, and SERP-type rows for the competitor domain or page.
  • get_backlinks_overview: backlink/referring-domain profile.
  • find_serp_competitors: validate whether the named competitor is a real search competitor across the target keyword set.
  • search_local_businesses, get_local_serp_results, and get_google_business_questions: use for local SEO competitors when Maps/local-pack visibility, nearby businesses, categories, or Google Q&A matter.
  • get_serp_results: validate direct head-to-head SERPs for important keywords.
  • research_keywords: expand gaps or category terms when needed.

Workflow

  1. Call get_domain_overview for the competitor, passing provided location/language when supported.
  2. If comparing to the user, call get_domain_overview for the user's domain too — and if Search Console is connected, get_search_console_performance for the user's real baseline.
  3. Call get_ranked_keywords for the competitor. Use filters like maxRank, minSearchVolume, excludeBrandTerms, and resultTypes to keep rows relevant.
  4. If comparing to the user, call get_ranked_keywords for the user's domain/page too, or use get_serp_results for the shared terms when a lighter check is enough.
  5. For local SEO, use search_local_businesses and get_local_serp_results around the relevant business location(s) before drawing local-pack conclusions. Add get_google_business_questions only when Q&A evidence matters.
  6. Use find_serp_competitors when the competitor was supplied by the user but its search overlap is unclear.
  7. Group competitor keywords into themes:
    • Product/category terms
    • Alternatives/comparisons
    • Templates/tools/calculators
    • Educational guides
    • Branded demand
    • Local/neighborhood terms when relevant
  8. Call get_backlinks_overview for the competitor, especially if authority appears to explain rankings. Continue without backlink evidence if it is unavailable.
  9. Use get_serp_results for important shared or target keywords to compare positioning, passing provided location/language when supported.
  10. Produce an actionable plan:
    • What they are doing well
    • Where they are vulnerable
    • Which pages/keywords to pursue
    • What to avoid copying

Output format

h1: the competitor domain.

If a report template applies (see seo-report), its sections and tone replace this list.

Sections in this order:

  1. Snapshot — one or two opening sentences, then a table of the competitor's organic footprint (traffic estimate, keyword count, referring domains). Add the user's domain as a second row when comparing.
  2. The biggest lesson — one finding.
  3. Where they are vulnerable — one finding per opening, ordered by how winnable it is.
  4. Keyword themes — a table of theme, example keywords, volume, and whether the user competes there. A bar chart when a few themes dominate the footprint.
  5. Content patterns and authority — prose, with a note for anything inferred from keyword rows rather than seen on a page.
  6. What to do next — an ordered list, shortest useful.
  7. How this report was made — opens with the skill link line from seo-report, pointing at https://openseo.so/docs/skills/competitor-analysis ("OpenSEO Competitor Analysis skill"), then which tools reported what, and what you checked yourself.

Guardrails

  • Do not treat all competitor keywords as desirable. Filter for business fit.
  • Separate evidence from inference.
  • Do not infer competitor page/content-type patterns from keyword rows alone; use SERP or web evidence for page-level claims.
  • For local SEO, do not infer Maps/local-pack strength from national organic domain metrics alone; use local business and local SERP tools when the location is known or reasonably discoverable.
  • Do not recommend copying content; recommend a stronger angle or better answer to the same intent.
  • If the user's domain is unavailable, frame the analysis as competitor-only.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Research questions about a market, examine recorded ChatGPT answers and cited websites, and identify themes where a brand appears or is missing. Receive ranked prompt groups and suggested questions for future tracking.

  • Finding question themes related to a product category
  • Checking brand mentions and cited websites
  • Identifying themes with limited brand visibility
every-app/open-seo24KUpdated Oct 14, 2026

Audit how a brand appears in AI answers by examining mentions, website citations, competitors, and cited pages. Receive one to three evidence-based priorities, such as improving a page, seeking inclusion in a relevant source, or fixing access barriers.

  • Investigate why AI answers recommend competitors
  • Check brand mentions and website citations
  • Prioritize pages to improve or create
every-app/open-seo24KUpdated Oct 14, 2026

Compare several competitors to see which sites lead a search market, what content earns rankings, and where opportunities remain. The report covers keyword reach, links from other sites, and practical next steps.

  • Identifying leading sites in a search market
  • Comparing competitors' successful content themes
  • Finding underserved topics to target
every-app/open-seo24KUpdated Oct 14, 2026

Create or update skills using OpenSEO's repository conventions. Keep one canonical source, distinguish internal and public workflows, maintain Claude Code links, and register public skills in documentation, the in-app agent, and plugin bundles.

  • Add a new skill to the OpenSEO repository
  • Turn a development workflow into an internal skill
  • Repair drift between skill directories
every-app/open-seo24KUpdated Oct 14, 2026

deslop

FreeSummary

Edit blog posts, documentation, marketing copy, and PR descriptions to remove formulaic AI writing patterns. Replace filler, vague claims, and staged emphasis with plain statements while preserving concrete details and the writer's voice.

  • Editing AI-drafted blog posts
  • Removing wordy introductions from documentation
  • Toning down exaggerated marketing copy
every-app/open-seo24KUpdated Oct 14, 2026

evaluate-skill

FreeSummary

Evaluate changes to OpenSEO skills by running fresh Codex sessions against a local backend. Compare saved reports using weighted criteria, then inspect tool logs to understand failures and check whether revised instructions improve output.

  • Comparing report quality before and after skill edits
  • Checking revised instructions across different websites
  • Scoring SEO audit reports against defined criteria
every-app/open-seo24KUpdated Oct 14, 2026

See all skills by every-app

Report a problem with this skill