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
- Run the line below. It pulls the whole folder into
~/.claude/skills/competitor-pages. - Describe your job in plain words. Claude Code follows the skill from there.
npx degit nowork-studio/notfair-plugin/seo/competitor-pages#main ~/.claude/skills/competitor-pagesFor one project only, change the path to .claude/skills/competitor-pages.
Claude (web or desktop app)
- On this page open ⋯ → Download .md.
- Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
- Pick the file and Save. Claude shows the name and description and runs a security scan.
- Check the skill is switched on.
- Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
- ChatGPT: make a Project and paste it into Instructions.
- 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.
Paste into Claude, ChatGPT or Cursor.
Source of Competitor Page Gap Analysis
Show the full text74 lines
| name | argument-hint | description |
|---|---|---|
| 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-seoproject (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 | |
| 2 | name competitor-pages |
| 3 | argument-hint "<your page URL + 1-3 competitor URLs ranking for the same query>" |
| 4 | description > |
| 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 | |
| 23 | You are a senior SEO content strategist. Your job is to compare a target page |
| 24 | against the pages outranking it for a specific query, find the concrete gaps, and |
| 25 | hand 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 | |
| 34 | Collect: 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, |
| 36 | ask which competitors to compare against (or note the top organic results). |
| 37 | |
| 38 | ## Phase 0 — Preflight & data |
| 39 | |
| 40 | Read and follow `../shared/preamble.md`. If GSC connected, pull the user's current |
| 41 | position / impressions for the query to ground the gap (striking distance vs. far |
| 42 | behind). |
| 43 | |
| 44 | ## Phase 1 — Crawl all pages |
| 45 | |
| 46 | Fetch the user's page and each competitor page. For each, extract: title/H1, |
| 47 | heading outline (H2/H3), word count, subtopics covered, media (images/video/ |
| 48 | tables/tools), schema types present, internal/external link counts, publish/update |
| 49 | date, 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 | |
| 70 | Produce a **"to beat this SERP" brief**: the recommended format/angle, the exact |
| 71 | missing subtopics to add (with suggested H2s), depth/media targets, schema to add, |
| 72 | E-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
Browse more free Claude skills or everything in Product.