Skip to content
Back to skills

Competitive Landscape

ASecurity

Map SEO market leaders, winning content themes, keyword coverage, backlinks and strategic gaps across several competitors. Use when the user asks who is winning a search market or where the openings are.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 26, 2026
content-marketinggorailsgitapiperformancedocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 26, 2026

npx -y skills add kid7st/agenticseo --skill competitive-landscape --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Competitive Landscape?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Competitive Landscape
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kid7st-competitive-landscape/badge)](https://www.skillsdirectory.com/skills/kid7st-competitive-landscape)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: competitive-landscape
description: Map SEO market leaders, winning content themes, keyword coverage, backlinks and strategic gaps across several competitors. Use when the user asks who is winning a search market or where the openings are.
---

<!-- Adapted from OpenSEO plugins/openseo/skills/competitive-landscape/SKILL.md (https://github.com/every-app/open-seo, MIT, Copyright (c) 2026 Ben Senescu) for the AgenticSEO CLI. -->

# 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`.

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

- Topic, seed keywords, market/category or the user's domain
- Optional known competitors
- Optional location/language

## Project context

1. Run `agenticseo 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. 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: ask the user who they compete with, or infer a shortlist from `agenticseo competitors` and the site and confirm it, write it to `competitors` in `.agenticseo/context.json`, 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: every confirmed competitor in `competitors` with a short note on why it matters, and remove entries you added that turned out irrelevant (leave entries the user added alone). Append `{ "entryDate": "<today from agenticseo context>", "summary": "Competitive landscape: <market/query set>. 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 research "SEED"...`: discover representative market queries, up to 5 seeds per call.
- `agenticseo keywords TERM...`: validate a known query set with volume, difficulty, intent and trends.
- `agenticseo serp "QUERY"...`: live SERP composition and ranking URLs, up to 10 queries per call.
- `agenticseo competitors KEYWORD...`: the domains competing across a keyword set (up to 100 keywords); use this before counting SERPs by hand.
- `agenticseo domain DOMAIN`: size the organic footprint of candidate leaders.
- `agenticseo gsc performance`: when the user's own domain is in the comparison and Search Console is connected, anchor their position with first-party clicks, impressions and CTR rather than third-party estimates.
- `agenticseo ranked DOMAIN`: exact ranking keywords, URLs, ranks, intents and SERP result types for leaders.
- `agenticseo backlinks overview DOMAIN`: compare backlink and referring-domain strength where relevant.
- `agenticseo local businesses`, `agenticseo local serp` and `agenticseo local questions`: for local markets where proximity, Maps rankings, business categories, reviews or Google Q&A affect who is winning.
- `agenticseo ai brand DOMAIN --competitors A,B`: when the user asks who AI answers recommend, share of voice in ChatGPT and Google AI Overview. It is the most expensive lookup (about $0.84 with competitors); say so before running it.

## Workflow

1. Define the market query set:
   - Use the provided keywords, or run `agenticseo research` to build 5–10 representative queries.
   - Include mixed intent: informational, commercial, comparison and tool/software terms when applicable.
   - For local SEO, include neighborhood, city and service-area queries, and identify the priority locations or coordinates.
2. If the query set is already known, use `agenticseo keywords` to validate relative demand and difficulty, and `agenticseo competitors` to identify recurring domains at scale.
3. For local SEO, run `agenticseo local businesses` and `agenticseo local serp` for the highest-priority location(s) before naming winners. Use `agenticseo serp` as a complement for organic pages, not as the only local evidence.
4. Run `agenticseo serp` for representative queries when live SERP composition, ranking URLs or SERP features need inspection. Keep it to about 10 queries; each is billed.
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, run `agenticseo domain`; default to the top 3–5 domains before expanding.
7. For direct competitors and relevant publishers, run `agenticseo ranked`.
8. Use `agenticseo backlinks overview` when backlink authority appears important or the user asks why a domain is winning. Continue with SERP and domain evidence if it fails.
9. Synthesize patterns: content types, themes, SERP formats, local-pack signals, authority advantages and underserved angles.

## Output format

Title: `Competitive Landscape: <market or category> — <date>` (see `seo-report`).

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 change 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://github.com/kid7st/agenticseo/blob/main/.agents/skills/competitive-landscape/SKILL.md` ("AgenticSEO Competitive Landscape skill"), then the query set used, the costs and evidence paths, 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; provider traffic figures are 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.
- 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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…