Agent Native

competitive-landscape

This skill maps SEO market leaders and content gaps by analyzing competitors across representative keywords, SERP rankings, domain authority, and backlinks.

by every-appCommunity

Community author

Agents
Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
License
MIT (permissive)
Pin
89e5a00pinned Oct 9, 2026
Context cost
about 1,500 tokenswhen the skill loads
GitHub stars
22,771on every-app/open-seo
Scripts
None found

What it does

“Map SEO market leaders, winning content themes, keyword coverage, backlinks, and strategic gaps.”
The author's description, from SKILL.md

Generated summary from the skill's own text

This skill maps SEO market leaders and content gaps by analyzing competitors across representative keywords, SERP rankings, domain authority, and backlinks. It delivers a structured report showing who dominates the market, why they win, and where content opportunities exist for the user's domain.

When to use it

  • Understand who wins in a given SEO market before launching content strategy
  • Find underserved content themes competitors have missed
  • Identify recurring domains and content types ranking across target keywords
  • Compare organic footprint and backlink strength of market leaders

When not to

  • Need a deep technical or content audit of a single competitor domain
  • Local markets where Maps rankings and business categories are the only ranking factors
  • User has no competitors defined and wants a full SEO project setup interview

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add every-app/open-seo --skill competitive-landscape

Installs from the repository's default branch, which may have changed since the commit we checked.

GitHub CLI 2.90 or later

gh skill install every-app/open-seo competitive-landscape@89e5a00717cdf049b7c2b4e29646edb3a7d4995b

Installs the commit we checked (89e5a00).

Copy by hand

Download the folder at 89e5a00 and put it in .claude/skills/competitive-landscape for Claude Code and in .agents/skills/competitive-landscape for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at 89e5a00

Copy for your agent

A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.

Prompt

Install the agent skill "competitive-landscape" by every-app.

Source, pinned to commit 89e5a00717cdf049b7c2b4e29646edb3a7d4995b:
https://github.com/every-app/open-seo/tree/89e5a00717cdf049b7c2b4e29646edb3a7d4995b/plugins/openseo/skills/competitive-landscape

1. Download that folder at exactly this commit. Do not use the default branch.
2. Copy every file unchanged, keeping the folder structure, into .claude/skills/competitive-landscape/ for Claude Code and .agents/skills/competitive-landscape/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist.
3. Do not edit the files, and do not run any script in the folder unless I ask you to.
4. When you are done, list the files you copied and where you put them.

Listing and checks: https://www.agentnative.dev/skills/every-app/competitive-landscape

SKILL.md at the pin

---
name: competitive-landscape
description: Map SEO market leaders, winning content themes, keyword coverage, backlinks, and strategic gaps.
---

# OpenSEO Competitive Landscape

## Goal

Answer: "Who is winning this SEO market, what content is working for them, and where are the openings?"

Use this when the user wants a market-level view across several competitors. For a deep dive on one domain, use `competitor-analysis`.

## Required inputs

- `projectId`
- Topic, seed keywords, market/category, or user's domain
- Optional known competitors
- Optional 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 market read in it — the saved competitors are the starting roster, and the business and positioning decide who counts as a competitor.
2. This skill needs competitors. If none are saved, run a minimal inline setup: ask the user who they compete with, or infer a shortlist from `find_serp_competitors` and the site and confirm it, write it back with `update_project_context` (`addCompetitors`), then continue the landscape work. 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` — every confirmed competitor via `addCompetitors` with a short note on why they matter, plus `removeCompetitors` for entries you added that turned out irrelevant (leave rows the user added alone) — and append a research log entry: `{ appendResearchLog: { summary: "Competitive landscape: <market/query set>. Verdict: <conclusion>" } }`.

## Deliver as a report

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

## OpenSEO MCP tools

- `research_keywords`: discover representative market queries.
- `get_keyword_metrics`: validate known query sets with volume, difficulty, intent, and trends.
- `get_serp_results`: identify recurring ranking domains across target queries.
- `find_serp_competitors`: compare domains competing across supplied keywords; use this before manual SERP counting when a keyword set is available.
- `get_domain_overview`: size organic footprint for candidate leaders.
- `get_search_console_performance`: when the user's own domain is in the comparison and Search Console is connected, anchor their position with first-party clicks/impressions/CTR rather than third-party estimates.
- `get_ranked_keywords`: find exact ranking keywords, URLs, ranks, intents, and SERP result types for leaders.
- `get_backlinks_overview`: compare backlink/referring-domain strength where relevant.
- `search_local_businesses`, `get_local_serp_results`, and `get_google_business_questions`: use for local SEO markets where proximity, Maps rankings, business categories, reviews, or Google Q&A affect who is winning.

## Workflow

1. Define the market query set:
   - Use provided keywords, or call `research_keywords` to build 5-10 representative queries.
   - Include mixed intent: informational, commercial, comparison, and tool/software terms when applicable.
   - For local SEO, include neighborhood/city/service-area queries and identify the priority locations or coordinates.
2. If the query set is already known, use `get_keyword_metrics` to validate relative demand and difficulty and `find_serp_competitors` to identify recurring domains at scale.
3. For local SEO, call `search_local_businesses` and `get_local_serp_results` for the highest-priority location(s) before synthesizing winners. Use `get_serp_results` as a complement for organic pages, not as the only local evidence.
4. Call `get_serp_results` for representative queries when live SERP composition, ranking URLs, or SERP features need inspection. Send at most 10 queries per call.
5. Identify recurring domains and group them by type:
   - Direct product competitors
   - Publishers/media
   - Marketplaces/directories
   - Communities/forums
   - Documentation/resources
6. For the strongest recurring domains, call `get_domain_overview`; default to the top 3-5 domains before expanding.
7. For direct competitors and relevant publishers, call `get_ranked_keywords`.
8. Use `get_backlinks_overview` when backlink authority appears important or the user asks why a domain is winning. Backlinks may be unavailable if the account has not enabled that data; continue with SERP/domain evidence if it fails.
9. Synthesize patterns: content types, themes, SERP formats, local-pack signals, authority advantages, and underserved angles.

## Output format

`h1`: the market or category.

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

Sections in this order:

1. **The market read** — one or two opening sentences naming the leaders, the most winnable area, and the biggest barrier.
2. **Who is winning** — a table of domain, type, organic footprint, winning themes, and the gap. Label domain types explicitly.
3. **Why they win** — one finding per pattern, the Fix pointing at what the user should do instead.
4. **Gaps and openings** — a table of theme, demand, and who currently owns it, plus a bar chart when a handful of themes carry the demand.
5. **What to do next** — an ordered list ending in the next workflow to run: competitor analysis, keyword clustering, or a content brief.
6. **How this report was made** — opens with the skill link line from `seo-report`, pointing at `https://openseo.so/docs/skills/competitive-landscape` ("OpenSEO Competitive Landscape skill"), then the query set used, and a note calling the read directional when the query set was small.

## Guardrails

- Distinguish SEO competitors from business competitors.
- Do not overstate exact traffic when OpenSEO returns estimates.
- If using a small query set, call the result directional.
- Do not assume a publisher is a product competitor; label domain types clearly.
- For local markets, distinguish organic-page winners from Maps/local-pack winners.

From every-app/open-seo at 89e5a00, shown as plain text under its license: MIT (permissive). The license text is in LICENSE.

View SKILL.md on GitHub at 89e5a00

Files

1 file, 6.3 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at 89e5a00
  • accelo-automation

    This skill enables agents to automate Accelo project management tasks by discovering and executing operations through Composio's Accelo toolkit via Rube MCP.

    by ComposioOfficial publisher

    Agents not labelled yet · about 690 tokens · pinned 7 days ago

  • acculynx-automation

    This skill automates Acculynx operations by discovering and executing available tools through the Rube MCP server.

    by ComposioOfficial publisher

    Agents not labelled yet · about 690 tokens · pinned 7 days ago

  • active-campaign-automation

    This skill automates ActiveCampaign tasks by discovering and executing tools through Rube MCP and Composio's ActiveCampaign toolkit.

    by ComposioOfficial publisher

    Agents not labelled yet · about 710 tokens · pinned 7 days ago

  • adrapid-automation

    This skill enables agents to automate Adrapid tasks through Composio's toolkit via Rube MCP.

    by ComposioOfficial publisher

    Agents not labelled yet · about 690 tokens · pinned 7 days ago

  • aeroleads-automation

    This skill automates Aeroleads tasks by connecting to the Aeroleads toolkit via Composio's Rube MCP server.

    by ComposioOfficial publisher

    Agents not labelled yet · about 700 tokens · pinned 7 days ago

  • affinity-automation

    This skill automates Affinity CRM operations by executing tools through Rube MCP and Composio's Affinity toolkit.

    by ComposioOfficial publisher

    Agents not labelled yet · about 690 tokens · pinned 7 days ago

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use