agentleFS
kid7stkid7st/agenticseo/.agents/skills/competitor-analysis/SKILL.md

competitor-analysis

Skill2 starsChanged 52 days agoMITView on GitHub

Analyze one competitor's organic footprint, ranking keywords, content themes, backlinks and gaps, and decide what to learn from, counter or outrank. Use when the user names a competitor to study.

  • Reads credentials

64 other projects use a version of this, 10 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use openseo-release-notes, openseo-review-web-content and 2 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.
  • JwuthriSkill

    openseo-release-notes

    Cut an OpenSEO release — bump the version, draft user-facing release notes from commits since the last tag, run a review + subagent-verification pass, and open a "release: vX.X.X" PR. Use when the user asks to prepare a release, bump the version, or write release notes.

    Also in 6 projects that use this

  • JwuthriSkill

    openseo-review-web-content

    Write and review content for the OpenSEO website (web/) — blog posts, guides, feature pages, FAQs. Distills the philosophy for on-brand, useful, accurate content. Use whenever adding or editing user-facing prose in web/content or web/src.

    Also in 5 projects that use this

  • +2 more from Jwuthri

The file

Show its rules and text

We split this skill into the rules it gives an agent

16 rules. 0 are common, 4 are distinctive, and 12 are very specific to this project.

  • 0

    Common

    Most of the 53 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 12

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use this for a named competitor.

    line 14
  2. Very specific:

    Use the installed agenticseo command.

    line 16
  3. Very specific:

    Run agenticseo context first and ground the analysis in it: the saved competitors say whether this domain is already known and what was …

    line 26
  4. Very specific:

    Before paying, check researchLog.

    line 28
  5. Very specific:

    Run agenticseo domain for the competitor, passing --location/--language when the user gave a market.

    line 48
  6. Very specific:

    If comparing to the user, run agenticseo domain for the user's domain too, and if Search Console is connected, agenticseo gsc report or …

    line 49
  7. Very specific:

    Run agenticseo ranked for the competitor, filtered to relevant rows.

    line 50
  8. Very specific:

    If comparing to the user, run agenticseo ranked for the user's domain or page too, or agenticseo serp for the shared terms when a lighter …

    line 51
  9. Very specific:

    Run agenticseo competitors when the competitor was supplied by the user but its search overlap is unclear.

    line 53
  10. Very specific:

    Run agenticseo backlinks overview for the competitor, especially if authority appears to explain rankings.

    line 61
  11. Very specific:

    Use agenticseo serp for important shared or target keywords to compare positioning, with the market the user gave.

    line 62
  12. Very specific:

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

    line 73
  13. Distinctive:

    Do not treat all competitor keywords as desirable.

    line 87
  14. Distinctive:

    Do not infer competitor page or content-type patterns from keyword rows alone.

    line 89
  15. Distinctive:

    Do not recommend copying content.

    line 91
  16. Distinctive:

    If the user's domain is unavailable, frame the analysis as competitor-only.

    line 92

“Common” is measured: kept by at least 6 in 10 of the 53 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md
<!-- Adapted from OpenSEO plugins/openseo/skills/competitor-analysis/SKILL.md (https://github.com/every-app/open-seo, MIT, Copyright (c) 2026 Ben Senescu) for the AgenticSEO CLI. -->

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. To identify the market leaders first, use competitive-landscape.

Use the installed agenticseo command. Research lookups are billed by DataForSEO and need DATAFORSEO_API_KEY; each result states its cost and points to an evidence file.

Required inputs

  • The competitor domain
  • The user's domain when a comparison is requested (the project domain by default)
  • Optional topic, category, location or language

Project context

  1. Run agenticseo 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. If there is no project, set one up as seo-project-setup step 1 describes.
  2. This skill needs competitors. If none are saved, run a minimal inline setup: add the competitor being analyzed to competitors in .agenticseo/context.json, and ask the user (or infer from agenticseo competitors and confirm) whether there are others. Then continue. Never front-load the full interview; suggest seo-project-setup at the end for the rest.
  3. Before paying, check researchLog. If the same research ran within the last 30 days, reuse its evidence and say so instead of buying it again.
  4. On finish, write back what is durable: upsert this domain in competitors with a short notes line on its strengths and where it is vulnerable, and append { "entryDate": "<today from agenticseo context>", "summary": "Competitor analysis: <domain>. Verdict: <conclusion>. Evidence: <paths>" } to researchLog. Run agenticseo context to validate.

Deliver as a report

Deliver through the seo-report skill. If that skill is not available, say so and stop before writing the report.

Commands

  • agenticseo domain DOMAIN: baseline organic traffic and keyword count.
  • agenticseo gsc performance: when comparing to the user's own domain and Search Console is connected, the first-party baseline (real clicks, impressions, CTR, position) instead of estimating the user's own performance from third-party data. It exits 2 when not connected.
  • agenticseo ranked DOMAIN: exact keyword, URL, rank, intent, traffic, CPC and SERP-type rows for the competitor domain or page. Use --max-rank, --min-volume, --exclude BRAND,... and --types organic to keep rows relevant; --scope exact_url with an absolute URL for one page.
  • agenticseo backlinks overview DOMAIN: backlink and referring-domain profile.
  • agenticseo competitors KEYWORD...: validate whether the named competitor is a real search competitor across the target keyword set.
  • agenticseo local businesses, agenticseo local serp and agenticseo local questions: for local SEO competitors, when Maps or local-pack visibility, nearby businesses, categories or Google Q&A matter.
  • agenticseo serp "QUERY"...: validate head-to-head SERPs for important keywords, up to 10 queries per call.
  • agenticseo research "SEED"...: expand gaps or category terms when needed.

Workflow

  1. Run agenticseo domain for the competitor, passing --location/--language when the user gave a market.
  2. If comparing to the user, run agenticseo domain for the user's domain too, and if Search Console is connected, agenticseo gsc report or agenticseo gsc performance for the user's real baseline.
  3. Run agenticseo ranked for the competitor, filtered to relevant rows.
  4. If comparing to the user, run agenticseo ranked for the user's domain or page too, or agenticseo serp for the shared terms when a lighter check is enough.
  5. For local SEO, run agenticseo local businesses and agenticseo local serp around the relevant business location(s) before drawing local-pack conclusions. Add agenticseo local questions only when Q&A evidence matters.
  6. Run agenticseo competitors when the competitor was supplied by the user but its search overlap is unclear.
  7. Group the competitor's keywords into themes:
    • Product/category terms
    • Alternatives/comparisons
    • Templates/tools/calculators
    • Educational guides
    • Branded demand
    • Local/neighborhood terms when relevant
  8. Run agenticseo backlinks overview for the competitor, especially if authority appears to explain rankings. Continue without backlink evidence if it fails.
  9. Use agenticseo serp for important shared or target keywords to compare positioning, with the market the user gave.
  10. Produce an actionable plan:
    • What they are doing well
    • Where they are vulnerable
    • Which pages and keywords to pursue
    • What to avoid copying

Output format

Title: Competitor Analysis: <competitor domain> — <date> (see seo-report).

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://github.com/kid7st/agenticseo/blob/main/.agents/skills/competitor-analysis/SKILL.md ("AgenticSEO Competitor Analysis skill"), then which commands reported what (with costs and evidence paths), 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 or content-type patterns from keyword rows alone; use SERP or web evidence for page-level claims.
  • For local SEO, do not infer Maps or local-pack strength from national organic domain metrics alone; use the local commands when the location is known or reasonably discoverable.
  • Do not recommend copying content; recommend a stronger angle or a better answer to the same intent.
  • If the user's domain is unavailable, frame the analysis as competitor-only.
  • Missing metrics are unknown, never 0. On exit code 3, ask the user to fix the key; on exit code 4, report the error and any charged cost, and do not retry in a loop.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.