
competitor-analysis
Analyze one competitor's organic footprint, ranking keywords, content themes, backlinks, and gaps.
- Installs
- 6.6K
- Last 24h
- +49
- Trending rank
- #3389
- Security
- Pass
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/every-app/open-seo --skill competitor-analysis- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads competitor-analysis automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
Security audits
Independent scans of the skill's instructions and bundled files.
SKILL.md
The instructions your agent reads when the skill is triggered.
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.
- Call
get_project_contextfirst and ground the analysis in it — the saved competitors say whether this domain is already known and what was concluded about it before. - 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_competitorsand confirm) whether there are others, write them back withupdate_project_context(addCompetitors), then continue the analysis. Never front-load the full interview; suggestseo-project-setupat the end for the rest. - 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.
- On finish, write back what is durable with
update_project_context— anaddCompetitorsupsert 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, andget_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
- Call
get_domain_overviewfor the competitor, passing provided location/language when supported. - If comparing to the user, call
get_domain_overviewfor the user's domain too — and if Search Console is connected,get_search_console_performancefor the user's real baseline. - Call
get_ranked_keywordsfor the competitor. Use filters likemaxRank,minSearchVolume,excludeBrandTerms, andresultTypesto keep rows relevant. - If comparing to the user, call
get_ranked_keywordsfor the user's domain/page too, or useget_serp_resultsfor the shared terms when a lighter check is enough. - For local SEO, use
search_local_businessesandget_local_serp_resultsaround the relevant business location(s) before drawing local-pack conclusions. Addget_google_business_questionsonly when Q&A evidence matters. - Use
find_serp_competitorswhen the competitor was supplied by the user but its search overlap is unclear. - Group competitor keywords into themes:
- Product/category terms
- Alternatives/comparisons
- Templates/tools/calculators
- Educational guides
- Branded demand
- Local/neighborhood terms when relevant
- Call
get_backlinks_overviewfor the competitor, especially if authority appears to explain rankings. Continue without backlink evidence if it is unavailable. - Use
get_serp_resultsfor important shared or target keywords to compare positioning, passing provided location/language when supported. - 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:
- 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.
- The biggest lesson — one finding.
- Where they are vulnerable — one finding per opening, ordered by how winnable it is.
- 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.
- Content patterns and authority — prose, with a note for anything inferred from keyword rows rather than seen on a page.
- What to do next — an ordered list, shortest useful.
- How this report was made — opens with the skill link line from
seo-report, pointing athttps://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.
FAQ
What does the competitor-analysis skill do?
Analyze one competitor's organic footprint, ranking keywords, content themes, backlinks, and gaps.
How do I install competitor-analysis?
Run npx skills add https://github.com/every-app/open-seo --skill competitor-analysis in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/competitor-analysis/ (personal) or .claude/skills/competitor-analysis/ (project).
Which AI agents can use competitor-analysis?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is competitor-analysis safe to install?
Security partners have reviewed it: Gen Agent Trust Hub passed; Socket passed; Snyk passed. As with any skill, read the SKILL.md and bundled scripts before installing.
Who maintains competitor-analysis?
It is published by every-app in every-app/open-seo. It has 6,640 recorded installs.
More from every-app/open-seo
keyword-research
every-app/open-seo
Discover keyword opportunities, evaluate metrics and SERPs, and save/tag promising terms.
seo-project-setup
every-app/open-seo
Populate a project's shared OpenSEO context — site scope, goals, positioning, competitors, key pages, and preferences — plus MCP checks and Search Console intake.
seo-coach
every-app/open-seo
Enter a friendly OpenSEO coach mode that explains workflows, recommends next steps, and helps users use agents, web search, scraping, and MCP data effectively.
keyword-clustering
every-app/open-seo
Cluster keywords by intent and map them to existing or proposed pages.
competitive-landscape
every-app/open-seo
Map SEO market leaders, winning content themes, keyword coverage, backlinks, and strategic gaps.
link-prospecting
every-app/open-seo
Find link prospects, discover contact paths, and draft outreach from SERPs and backlink signals.
Popular marketing & seo skills
reddit-automation
flowkit-labs/skills
Find Reddit threads where people are genuinely asking for what you offer, then draft short, genuinely helpful replies — disclosing your affiliation honestly and naming your product only when it truly answers the question. Two moves: discovery — scan the right subreddits for real needs (recommendation asks, expressed pain, competitor mentions) and rank the few threads where you can actually help; drafting — write from real experience, respect each community's self-promo rules, and keep a human in the loop to review and post. This markets on Reddit the honest way: contribute value, disclose who you are, never astroturf. Distilled from the playbook behind doany.ai's Reddit agent. Triggers on "find reddit opportunities", "reddit marketing", "reddit automation", "reply on reddit for my product", "reddit community engagement", "reddit lead gen", or any ask to turn Reddit threads into genuine, disclosed marketing replies.
twitter-automation
101-skills/superpowers
Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet
twitter-automation
magentosh/superpowers
Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet
twitter-automation
qu-skills/superpowers
Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet
product-launch-video
heygen-com/hyperframes
Turn a product or marketing URL, pasted script, or brief into a product launch / promo video — SaaS promos, feature reveals, product demos, app and company launches. Use when the user wants to market, launch, promote, or reveal a product; the default for any commercial URL. Site tours / showcases of a website route here too — the brief carries the show-it-as-is intent. Unclear → /hyperframes.
twitter-automation
skills-shell/superpowers
Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet