competitor-analysis
Skill4 starsChanged 10 days agoMITView on GitHub
Analyze one competitor's organic footprint, ranking keywords, content themes, backlinks, and gaps.
64 other projects use a version of this, 9 of them edited; 1 new project in the last 4 weeks, against 1 the 4 before.
Adopted by
Steady: 1 new project took it in the last 4 weeks, 1× the 4 weeks before.thin data
Most recently taken up by
- oivanfelipe/claude-skillstheir own version, first seen Nov 8, 2026
- alunadev/ald-skillstheir own version, first seen Nov 8, 2026
- AppKittie/aso-mcp-skillstheir own version, first seen Nov 8, 2026
- 01jiyuge/signaldesktheir own version, first seen Nov 1, 2026
- Big-LAORE/Biblioth-que-de-skillstheir own version, first seen Nov 1, 2026
- mabzhang/opc-toolkittheir own version, first seen Nov 1, 2026
Used with
Projects with it also use app-marketing-context, metadata-optimization and 1 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
appeekySkillapp-marketing-context
When the user wants to create or update their app marketing context document. Also use when the user mentions "app context", "marketing brief", "app positioning", or when starting any ASO or app marketing project. This is the foundation skill — all other skills check for this context first.
Also in 6 projects that use this
appeekySkillmetadata-optimization
When the user wants to optimize App Store metadata — title, subtitle, keyword field, or description. Also use when the user mentions "optimize my title", "ASO metadata", "keyword field", "character limits", "app description", or "write my subtitle". For keyword discovery, see keyword-research. For full ASO audits, see aso-audit.
Also in 6 projects that use this
- +1 more from appeeky
Other versions64 projects use a version of this.
Word for word · 1
- every-app/open-seo★ 27k100% same
Edited · 9
- Jwuthri/Tracely-ai★ 1.3k91% same
- VladSez/easy-invoice-pdf★ 1.1k91% same
- jwuthri-cloud/Tracely-ai★ 97991% same
- petera2c/simple-table★ 23391% same
- kid7st/agenticseo★ 248% same
- ventra-rocket/EchoSEO★ 290% same
- winsley-jeune/harborrank-skills★ 227% same
- ictlondon/kraftskills★ 092% same
- IsaacBell/ai-marketing-toolkit★ 091% same
Wrote their own version · 54
- langchain-ai/deepagents★ 31ksame name
- browserbase/agent-browse★ 3.7ksame name
- appeeky/aso-skills★ 2.2ksame name
- Eronred/aso-skills★ 2.2ksame name
- indranilbanerjee/digital-marketing-pro★ 934same name
- OpenClaudia/openclaudia-skills★ 731same name
- vivy-yi/xiaohongshu-skills★ 455same name
- itseffi/agentic-os★ 114same name
- cognyai/claude-code-marketing-skills★ 106same name
- Infinite-Labs-AI/infinite-skills★ 43same name
44 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository29 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .claude/CLAUDE.mdCLAUDE.md
- ai-prompt-researchSkill
- ai-visibility-auditSkill
- competitive-landscapeSkill
- create-repo-skillSkill
- deslopSkill
- evaluate-skillSkill
- keyword-clusteringSkill
- keyword-researchSkill
- link-prospectingSkill
- local-seoSkill
- merge-readySkill
- observability-triageSkill
- openseo-release-notesSkill
- openseo-review-web-contentSkill
- papercutsSkill
- review-briefSkill
- review-simplifySkill
- review-ui-statesSkill
- seo-auditSkill
- seo-coachSkill
- seo-project-setupSkill
- seo-reportSkill
- setup-openseoSkill
- simple-issue-descriptionSkill
- stageshowSkill
- test-auditSkill
- verify-local-mcpSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. 0 are common, 5 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 52 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Use this for a named competitor.
- Very specific: line 25
Call get_project_context first and ground the analysis in it — the saved competitors say whether this domain is already known and what was …
- Distinctive: line 27
Before spending credits, check the research log.
- Very specific: line 47
Call get_domain_overview for the competitor, passing provided location/language when supported.
- Very specific: line 48
If comparing to the user, call get_domain_overview for the user's domain too — and if Search Console is connected, …
- Very specific: line 49
Call get_ranked_keywords for the competitor.
- Very specific: line 50
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 …
- Very specific: line 52
Use find_serp_competitors when the competitor was supplied by the user but its search overlap is unclear.
- Very specific: line 60
Call get_backlinks_overview for the competitor, especially if authority appears to explain rankings.
- Very specific: line 61
Use get_serp_results for important shared or target keywords to compare positioning, passing provided location/language when supported.
- Very specific: line 72
If a report template applies (see seo-report), its sections and tone replace this list.
- Distinctive: line 86
Do not treat all competitor keywords as desirable.
- Distinctive: line 88
Do not infer competitor page/content-type patterns from keyword rows alone.
- Distinctive: line 90
Do not recommend copying content.
- Distinctive: line 91
If the user's domain is unavailable, frame the analysis as competitor-only.
“Common” is measured: kept by at least 6 in 10 of the 52 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

