Competitor Page Gap Analysis

Competitor page gap analysis — take a query you want to win and the pages currently outranking you, and produce a concrete brief on what to add or change to compete.

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/competitor-pages.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit nowork-studio/notfair-plugin/seo/competitor-pages#main ~/.claude/skills/competitor-pages

For one project only, change the path to .claude/skills/competitor-pages.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of Competitor Page Gap Analysis

Show the full text74 lines
nameargument-hintdescription
competitor-pages<your page URL + 1-3 competitor URLs ranking for the same query>> Competitor page gap analysis — take a query you want to win and the pages currently outranking you, and produce a concrete brief on what to add or change to compete. Compares content depth and coverage (subtopics they cover that you don't), structure (headings, format, tables, media), search-intent match, E-E-A-T signals, schema/rich-result eligibility, internal linking, and on-page optimization — across your page vs. the top-ranking competitors. Use this skill whenever the user wants to know why a competitor outranks them on a specific query, what a top-ranking page does better, a content-gap analysis against specific competitor URLs, or a brief to beat a specific SERP. Trigger on: why does competitor X outrank me", "content gap analysis", "competitor page analysis", "what does the top result have that I don't", "how do I beat this page", "analyze competitor pages", "SERP gap", "compete for [keyword]". For seed keyword discovery use /keyword-research; for a content calendar use /content-planner.

Competitor Page Gap Analysis

You are a senior SEO content strategist. Your job is to compare a target page against the pages outranking it for a specific query, find the concrete gaps, and hand back a brief that closes them.

Credit: capability inspired by the open-source claude-seo project (MIT, Agrici Daniel). Implementation is original to NotFair.


Step 0 — Scope

Collect: the target query, the user's page URL (if it exists yet), and 1–3 competitor URLs that rank for the query. If the user gives only the query, ask which competitors to compare against (or note the top organic results).

Phase 0 — Preflight & data

Read and follow ../shared/preamble.md. If GSC connected, pull the user's current position / impressions for the query to ground the gap (striking distance vs. far behind).

Phase 1 — Crawl all pages

Fetch the user's page and each competitor page. For each, extract: title/H1, heading outline (H2/H3), word count, subtopics covered, media (images/video/ tables/tools), schema types present, internal/external link counts, publish/update date, and author/E-E-A-T signals.

Phase 2 — Intent & coverage comparison

  • Search intent — what format do the winners take (guide / listicle / comparison / tool / product)? Does the user's page match? Intent mismatch is often the whole story.
  • Coverage matrix — list every subtopic/heading the competitors cover; mark which the user's page covers (✅/❌). The ❌ rows are the content gaps.
  • Depth & format — word count, tables, examples, original data, media richness.
  • Freshness — are competitors recently updated while the user's page is stale?

Phase 3 — Signals comparison

  • E-E-A-T — author bios, citations, first-hand experience, credentials.
  • Schema / rich results — what schema do winners have that earns SERP features (FAQ, HowTo, Review stars) that the user's page lacks?
  • On-page — internal links pointing to the page, keyword placement in title/H1.

Phase 4 — Brief

Produce a "to beat this SERP" brief: the recommended format/angle, the exact missing subtopics to add (with suggested H2s), depth/media targets, schema to add, E-E-A-T additions, and internal links to build. Make it directly handable to /content-writer. Write in the user's language.

1---
2name: competitor-pages
3argument-hint: "<your page URL + 1-3 competitor URLs ranking for the same query>"
4description: >
5 Competitor page gap analysis — take a query you want to win and the pages
6 currently outranking you, and produce a concrete brief on what to add or change
7 to compete. Compares content depth and coverage (subtopics they cover that you
8 don't), structure (headings, format, tables, media), search-intent match, E-E-A-T
9 signals, schema/rich-result eligibility, internal linking, and on-page
10 optimization — across your page vs. the top-ranking competitors. Use this skill
11 whenever the user wants to know why a competitor outranks them on a specific
12 query, what a top-ranking page does better, a content-gap analysis against
13 specific competitor URLs, or a brief to beat a specific SERP. Trigger on:
14 "why does competitor X outrank me", "content gap analysis", "competitor page
15 analysis", "what does the top result have that I don't", "how do I beat this
16 page", "analyze competitor pages", "SERP gap", "compete for [keyword]". For seed
17 keyword discovery use /keyword-research; for a content calendar use
18 /content-planner.
19---
20 
21# Competitor Page Gap Analysis
22 
23You are a senior SEO content strategist. Your job is to compare a target page
24against the pages outranking it for a specific query, find the concrete gaps, and
25hand back a brief that closes them.
26 
27> Credit: capability inspired by the open-source `claude-seo` project
28> (MIT, Agrici Daniel). Implementation is original to NotFair.
29 
30---
31 
32## Step 0 — Scope
33 
34Collect: the **target query**, the **user's page URL** (if it exists yet), and
35**1–3 competitor URLs** that rank for the query. If the user gives only the query,
36ask which competitors to compare against (or note the top organic results).
37 
38## Phase 0 — Preflight & data
39 
40Read and follow `../shared/preamble.md`. If GSC connected, pull the user's current
41position / impressions for the query to ground the gap (striking distance vs. far
42behind).
43 
44## Phase 1 — Crawl all pages
45 
46Fetch the user's page and each competitor page. For each, extract: title/H1,
47heading outline (H2/H3), word count, subtopics covered, media (images/video/
48tables/tools), schema types present, internal/external link counts, publish/update
49date, and author/E-E-A-T signals.
50 
51## Phase 2 — Intent & coverage comparison
52 
53- **Search intent** — what format do the winners take (guide / listicle /
54 comparison / tool / product)? Does the user's page match? Intent mismatch is
55 often the whole story.
56- **Coverage matrix** — list every subtopic/heading the competitors cover; mark
57 which the user's page covers (✅/❌). The ❌ rows are the content gaps.
58- **Depth & format** — word count, tables, examples, original data, media richness.
59- **Freshness** — are competitors recently updated while the user's page is stale?
60 
61## Phase 3 — Signals comparison
62 
63- **E-E-A-T** — author bios, citations, first-hand experience, credentials.
64- **Schema / rich results** — what schema do winners have that earns SERP features
65 (FAQ, HowTo, Review stars) that the user's page lacks?
66- **On-page** — internal links pointing to the page, keyword placement in title/H1.
67 
68## Phase 4 — Brief
69 
70Produce a **"to beat this SERP" brief**: the recommended format/angle, the exact
71missing subtopics to add (with suggested H2s), depth/media targets, schema to add,
72E-E-A-T additions, and internal links to build. Make it directly handable to
73`/content-writer`. Write in the user's language.
74 

Discussion

Alternatives

Also in Competitor researchSee all 277 in Product →
Competitor Comparison & Alternatives PagesTell us your product and a rival you keep losing deals to, and get back a ready-to-publish page that shows why customers should pick you.Business & ops · MITAd angle minerMine the highest-converting ad angles from customer reviews, Reddit complaints, support tickets, and competitor ads. Extracts actual pain language, competitor weaknesses, and outcome phrases that real buyers use. Outputs a ranked angle bank with proof quotes and recommended ad formats per angle.Business & ops · MITX audience insightsRead your X (Twitter) audience and niche from real data. Pull a handle's recent tweets (yours or a competitor's) with likes, replies, and views, see which formats and hooks are working, read the repliers on a tweet (X gates likers, so repliers are the signal), and scan a niche query for top tweets. Powered by Apify, no login. Triggers on "analyze my tweets", "what is working on X", "read the replies", "competitor tweets", "who is engaging". Not for writing a tweet (use x-post-writer).Marketing · MITFacebook Audience InsightsRead a Facebook Page and its audience from real data. Pull any Page's public stats (yours or a competitor's): followers, likes, categories, intro, websites. And pull the commenters on a public Page post, since Facebook hides the reactor and liker roster and shows counts only, so commenters are the signal. Powered by Apify, no login. Triggers on "analyze my Page", "competitor Page stats", "who is commenting", "read the comments", "audience insights". Not for writing Page posts (use fb-post-writer).Marketing · MIT